centos7.2 基於zookeeper叢集搭建activeMQ的叢集
阿新 • • 發佈:2018-12-25
activemq作為訊息佇列中介軟體,在分散式系統中扮演中系統之間通訊兵的角色,非常重要,使用也非常廣泛,而在分散式系統中,為了消除單點故障,activemq也必將是要做叢集,做主備的切換的,在網上activemq的叢集方案也是很多,其本身也是有主備解決方案的。
目前市面上,使用最多,最常見的,常用於中小系統的方案還是使用zookeeper來作為activemq的主從資料同步,主從切換。因為zookeeper也常與dubbo結合使用,作為分散式系統的開發架構,可以很好的融合進activemq,非常方便。
一:環境:
zookeeper: (版本:3.4.11)
192.168.9.84:2181
192.168.9.85:2181
192.168.9.86:2181
activemq-1: (版本:5.15.3)
192.168.9.84:61616
192.168.9.85:61616
192.168.9.86:61616
---------------------------------------------------------------------------------------------
首先,搭建zookeeper叢集:
## zookeeper需要java環境,需要先安裝jdk,這裡就不說了,不瞭解的可以參考我的另一篇安裝jdk的博文:http://blog.csdn.net/weixin_41004350/article/details/78491472
################## 所有三臺機都進行下列的操作 ##########################
## 檢視日誌檔案,沒有報錯,正確識別到master,啟動slave或master則成功。
## 啟動後一定要通過檢視日誌檔案來確定是否啟動成功,別的地方是看不到是否成功的。
## 具體的日誌,很容易看的,看的懂一點點英文的都能看出來,不行還有翻譯嘛
$ vim data/activemq.log
目前市面上,使用最多,最常見的,常用於中小系統的方案還是使用zookeeper來作為activemq的主從資料同步,主從切換。因為zookeeper也常與dubbo結合使用,作為分散式系統的開發架構,可以很好的融合進activemq,非常方便。
下面記錄一下,基於zookeeper的activemq叢集的搭建方式,並在相同的三臺主機上,做zookeeper叢集+ activemq的叢集。
一:環境:
zookeeper: (版本:3.4.11)
192.168.9.84:2181
192.168.9.85:2181
192.168.9.86:2181
activemq-1: (版本:5.15.3)
192.168.9.84:61616
192.168.9.85:61616
192.168.9.86:61616
---------------------------------------------------------------------------------------------
首先,搭建zookeeper叢集:
## zookeeper需要java環境,需要先安裝jdk,這裡就不說了,不瞭解的可以參考我的另一篇安裝jdk的博文:http://blog.csdn.net/weixin_41004350/article/details/78491472
################## 所有三臺機都進行下列的操作 ##########################
## 下載zookeeper 3.4.6 $ wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz ## 解壓 $ tar -zxvf zookeeper-3.4.11.tar.gz ## 新增資料儲存資料夾和日誌資料夾 $ cd {zookeeper-dir} $ mkdir data $ mkdir logs ## 複製一份配置檔案兵改名,然後修改配置檔案 $ cp conf/zoo_sample.cfg conf/zoo.cfg $ vim conf/zoo.cfg ----------------------------------------------------------------------------------------------------- tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/local/zookeeper-3.4.11/data dataLogDir=/usr/local/zookeeper-3.4.11/logs clientPort=2181 server.1=192.168.9.84:2888:3888 server.2=192.168.9.85:2888:3888 server.3=192.168.9.86:2888:3888 ----------------------------------------------------------------------------------------------------- ############ 每臺機的data資料夾下新增myid檔案,並寫入當前主機的ID,即上述的server.id ################### $ echo '1' > {zookeeper-dir}/data/myid ## 啟動之前,先確認埠是否開放,需要開放2181,2888,3888三個埠。 $ firewall-cmd --add-port=2181/tcp --permanent
$ firewall-cmd --add-port=2888/tcp --permanent
$ firewall-cmd --add-port=3888/tcp --permanent
$ firewall-cmd --reload## 每臺電腦,依次啟動zookeeper$ bin/zkServer.sh start## 檢視zookeeper的狀態,會顯示當前節點的狀態,是leaders還是foller等。$ bin/zkServer.sh status二:然後搭建activemq叢集。第一組:activemq-1############ 三臺機都分別做如下操作: ############################### 首先下載安裝activemq $ wget http://www.apache.org/dyn/closer.cgi?filename=/activemq/5.15.3/apache-activemq-5.15.3-bin.tar.gz&action=download $ tar -zxvf apache-activemq-5.15.3-bin.tar.gz ## 修改配置檔案 $ cd {apache-activemq-5.10.0-dir} $ vim conf/activemq.xml -------------------------------------------------------------------------------------------------------- ## 將brokerName 改為叢集的名稱,例如:group1 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="group1" dataDirectory="${activemq.data}"> <persistenceAdapter> <!--<kahaDB directory="${activemq.data}/kahadb"/>--> ## 註釋原配置 <replicatedLevelDB directory="${activemq.data}/leveldb_group1" ## 檔案儲存路徑 replicas="3" ## 叢集例項數 bind="tcp://0.0.0.0:62222" ## 例項間通訊埠 zkAddress="192.168.9.84:2181,192.168.9.85:2181,192.168.9.86:2181" ## zookeeper地址 hostname="192.168.9.84" ## 本機地址,三臺主機各不相同 zkPath="/activemq/leveldb-group1" ## zookeeper中儲存路徑 sync="local_disk"/> </persistenceAdapter> -------------------------------------------------------------------------------------------------------- ## OK,配置完成後,依次逐臺主機啟動activemq $ bin/linux-x86-64/activemq start ## 開放埠 firewall-cmd --add-port=62222/tcp --permanent ## 例項間通訊的埠,與zookeeper通訊埠 firewall-cmd --add-port=61616/tcp --permanent ## 預設的提供服務的埠 firewall-cmd --add-port=8162/tcp --permanent ## 預設的管理頁面埠,不使用的話,可以不開 firewall-cmd --reload
## 檢視日誌檔案,沒有報錯,正確識別到master,啟動slave或master則成功。
## 啟動後一定要通過檢視日誌檔案來確定是否啟動成功,別的地方是看不到是否成功的。
## 具體的日誌,很容易看的,看的懂一點點英文的都能看出來,不行還有翻譯嘛
$ vim data/activemq.log
OK,到此,叢集搭建完成,zookeeper叢集+activemq叢集。
接下來進行部署這兩個叢集的web控制檯的部署和訪問
請檢視我的另一篇博文:http://blog.csdn.net/weixin_41004350/article/details/79916796