天天看點

ActiveMQ+Zookeeper叢集配置文檔

Zookeeper + ActiveMQ 叢集整合配置文檔

一:使用ZooKeeper實作的MasterSlave實作方式

是對ActiveMQ進行高可用的一種有效的解決方案, 高可用的原

理:使用ZooKeeper(叢集)注冊所有的ActiveMQ

Broker。隻有其中的一個Broker可以對外提供服務( 也就是Master節點) ,其

他的Broker處于待機狀态,被視為Slave。如果Master因故障而不能提供服務,

則利用ZooKeeper的内部選舉機制會從Slave中選舉出一個Broker充當Master節

點,繼續對外提供服務。

官網文檔如下:

http://activemq.apache.org/replicated-leveldb-store.html

二:部署方案, ActiveMQ叢集環境準備:

( 1) 首先我們下載下傳apache-activemq-5.11.1-

bin.tar.gz,到我們的一台主節點上去,然後我們在( 192.168.1.111一個節點

上實作叢集即可)

( 2) Zookeeper方案

主機IP 消息端口 通信端口 節點目錄/usr/local/下
192.168.1.111 2181 2888:3888 zookeeper
192.168.1.112
192.168.1.113

( 3) ActiveMQ方案

叢集通信端口 控制台端口
62621 51511 8161 activemq-cluster/node1/
62622 51512 8162 activemq-cluster/node2/
62623 51513 8163 activemq-cluster/node3/

1:首先搭建zookeeper環境

在192.168.1.111節點下software下,解壓zookeeper-3.4.5.tar.gz檔案,然後改名,操作如下:(在三台機器上都進行這樣的配置)

指令: mv zookeeper-3.4.5 zookeeper

配置環境變量:vim /etc/profile

添加:export  ZOOKEEPER_HOME=/usr/local/zookeeper,并添加PATH

   使環境變量生效:source /etc/profile

然後:cd zookeeper/conf

     mv zoo_sample.cfg zoo.cfg

     vi zoo.cfg

找到datadir修改為:/usr/local/zookeeper/data

在最下面添加:server.0=192.168.1.111:2888:3888

         server.1=192.168.1.112:2888:3888

       server.2=192.168.1.113:2888:3888

建立zookeeper/data檔案夾,并cd進入

執行vim myid

第一行添加0即可

在112中添加1,113中添加2

搭建完成

三台機器上運作:zkServer.sh  start

任意一台運作:zkCli.sh可以連接配接上用戶端

2:繼續搭建activemq環境

( 1) 在192.168.1.111節點下,建立/usr/local/activemq-cluster檔案夾,解壓apache-activemq-5.11.1-

bin.tar.gz檔案,然後對解壓好的檔案改名,操作如下:

1 指令: mkdir /usr/local/activemq-cluster

2 指令: cd software/

3 指令: tar -zxvf apache-activemq-5.11.1-bin.tar.gz -C

/usr/local/activemq-cluster/

4 指令: cd /usr/local/activemq-cluster/

5 指令: mv apache-activemq-5.11.1/ node1

如此操作,再次反複解壓apache-activemq-5.11.1-

bin.tar.gz檔案到/usr/local/activemqcluster/下,建立node2和node3檔案夾,如下:

ActiveMQ+Zookeeper叢集配置文檔

( 2) 那我們現在已經解壓好了三個mq節點也就是node1、 node2、 node3,下面

我們要做的事情就是更改每個節點不同的配置和端口(由于是在一台機器上實

現叢集)。

1 修改控制台端口(預設為8161) ,在mq安裝路徑下的conf/jetty.xml進

行修改即可。(三個節點都要修改,并且端口都不同)

1指令: cd /usr/local/activemq-cluster/node1/conf/

2指令: vim /usr/local/activemq-cluster/node1/conf/jetty.xml

ActiveMQ+Zookeeper叢集配置文檔

三個節點都需要修改為8161、8162、8163!!!

2 叢集配置檔案修改:我們在mq安裝路徑下的conf/activemq.xml進行修

改其中的持久化擴充卡,修改其中的bind、 zkAddress、 hostname、 zkPath。

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

指令: vim /usr/local/activemq-cluster/node1/conf/activemq.xml

第一處修改: brokerName=”activemq-cluster”(三個節點都需要修改)

ActiveMQ+Zookeeper叢集配置文檔

第二處修改:先注釋掉擴充卡中的kahadb

ActiveMQ+Zookeeper叢集配置文檔

繼續閱讀