日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

activeMq-2 高可用以及集群搭建

發布時間:2024/8/26 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 activeMq-2 高可用以及集群搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

Activemq 的集群方法可以有多種實現方式,我們這里使用zookeeper來實現

要搭建集群,請確保已經搭建好zookeeper環境。這里不再演示。

基本原理:

使用ZooKeeper(集群)注冊所有的ActiveMQ Broker。只有其中的一個Broker可以對外提供服務(也就是Master節點),其他的Broker處于待機狀態,被視為Slave。如果Master因故障而不能提供服務,則利用ZooKeeper的內部選舉機制會從Slave中選舉出一個Broker充當Master節點,繼續對外提供服務。

原理圖如下:

首先我們把apache-activemq-5.11.1-bin.tar.gz,上傳到我們的一臺主節點上去,然后我們在(192.168.0.113一個節點上實現高可用集群即可)這里為了演示方便,我在一臺主機上,啟動三個實例。

?相關端口規劃如下

?主機IP ? ? ? ? ? ? 集群通信端口 ? ?消息端口 ? ?控制臺端口??節點目錄/usr/local/下

192.168.0.113 ????62621 ? ? ? ? ? ? 51511 ? ? ? ? 8162 ? ? ? ? ? ?activemq-cluster/node1/

192.168.0.113?????62622 ? ? ? ? ? ? 51512 ? ? ? ? 8163 ? ? ? ? ? ?activemq-cluster/node2/

192.168.0.113?????62623 ? ? ? ? ? ? 51513 ? ? ? ? 8164 ? ? ? ? ? ?activemq-cluster/node3/

?

在/usr/local?目錄下創建activemq-cluster目錄?activemq-cluster創建node1,node2,node3

如圖所示

將上傳的apache-activemq-5.11.1-bin.tar.gz,解壓到/usr/local/activemq-cluster?然后對解壓好的文件改名

命令如下:

tar -zxvf ?apache-activemq-5.11.1-bin.tar.gz ?-C ?/usr/local/activemq-cluster

?

改名

mv apache-activemq-5.11.1/ ?node1

?

再次反復解壓apache-activemq-5.11.1-bin.tar.gz文件到/usr/local/activemq-cluster/下,分別改名為node2和node3文件夾

?

1 修改控制臺端口(默認為8161),在mq安裝路徑下的conf/jetty.xml進行修改?

分別修改為8162,8163,8164

2 集群配置文件修改mq安裝路徑下的conf/activemq.xml進行修

改其中的持久化適配器,修改其中的bind、zkAddress、hostname、zkPath。

然后也需要修改mq的brokerName,并且每個節點名稱都必須相同。

?

第一處修改brokerName=”activemq-cluster”(三個節點都需要修改并且相同 名字可以根據需求自己取 )

第二處修改?<persistenceAdapter> 替換成下面這個

Node1的修改

<persistenceAdapter>

<replicatedLevelDB

directory="${activemq.data}/leveldb"

replicas="3"

bind="tcp://0.0.0.0:62621"

zkAddress="192.168.0.110:2181,192.168.0.111:2181,192.168.0.112:2181"

hostname="cc115"

zkPath="/activemq/leveldb-stores"

/>

</persistenceAdapter>

Node2的修改

<persistenceAdapter>

<replicatedLevelDB

directory="${activemq.data}/leveldb"

replicas="3"

bind="tcp://0.0.0.0:62622"

zkAddress="192.168.0.110:2181,192.168.0.111:2181,192.168.0.112:2181"

hostname="cc115"

zkPath="/activemq/leveldb-stores"

/>

</persistenceAdapter>

Node3的修改

<persistenceAdapter>

<replicatedLevelDB

directory="${activemq.data}/leveldb"

replicas="3"

bind="tcp://0.0.0.0:62623"

zkAddress="192.168.0.110:2181,192.168.0.111:2181,192.168.0.112:2181"

hostname="cc115"

zkPath="/activemq/leveldb-stores"

/>

</persistenceAdapter>

?

注意:hosename是你在/etc/hosts 綁定的本地ip以及自己域名

?

?

第三處修改:修改通信的端口,避免沖突

修改這個文件的通信端口號,三個節點都需要修改(51511,51512,51513)

?

啟動三個節點

/usr/local/activemq-cluster/node1/bin/activemq start(關閉stop)

/usr/local/activemq-cluster/node2/bin/activemq start(關閉stop)

/usr/local/activemq-cluster/node3/bin/activemq start(關閉stop)

查看日志看是否報錯

tail ?-n 100 ?/usr/local/activemq-cluster/node1/data/activemq.log

tail ?-n 100 /usr/local/activemq-cluster/node2/data/activemq.log

tail ?-n 100 /usr/local/activemq-cluster/node3/data/activemq.log

?

查看zookeeper上的節點信息

三個節點都注冊到了 到此主從搭建完畢。

集群就是多個這樣的主從在一起工作,也比較簡單,這里就不演示了。

可以看到工作的實例的端口是62621

訪問下web控制臺?

?

?那么 java端創建連接工廠的URL怎么寫呢?創建url如下?

failover:(tcp://192.168.0.113:51511,tcp://192.168.0.113:51512,tcp://192.168.0.113:51513)?Randomize=false

  

??

?

轉載于:https://www.cnblogs.com/javabigdata/p/7474759.html

總結

以上是生活随笔為你收集整理的activeMq-2 高可用以及集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。