玩轉ActiveMQ與Zookeeper集羣

MQ: Message Queue消息隊列html

ActiveMQ:Apache出品,最流行的,能力強勁的開源消息總線。web

用途和優勢apache

1.將數據從一個應用程序傳送到另外一個應用程序,或者從軟件的一個模塊傳送到另一個模塊;vim

2.負責創建網絡通訊的通道,進行數據的可靠傳送;後端

3.保證數據不重複,不丟失;網絡

4.可以實現跨平臺操做;tcp

ActiveMQ應用場景日誌

1,多個項目之間集成;code

2,下降系統間模塊的耦合度、解耦;orm

3,系統先後端隔離;

安裝與配置

1.下載地址 http://activemq.apache.org/download.html

2.解壓安裝

tar -zxvf apache-activemq-5.15.3-bin.tar.gz -c /usr/local

3.重命名

mv apache-activemq-5.15.3 activemq

4.修改配置文件vim activemq/conf/activemq.xml

機器1.2.3修改集羣名 三臺機器必須同樣

brokerName="activemq-cluster"

修改vim activemq/conf/activemq.xml持久化方式

<persistenceAdapter>
    <replicatedLevelDB 
        directory="${activemq.data}/leveldb"
        replicas="3"  //集羣節點個數
        bind="tcp://0.0.0.0.61621" //集羣通信端口
        //zookeeper 集羣地址
        zkAddress="192.168.16.128:2181,192.168.16.130:2181,192.168.16.129:2181"
        hostname="192.168.16.128" //本機ip,hosts ip對應hostname
        zkPath="/activemq/leveldb-stores"/>
</persistenceAdapter>

修改vim activemq/conf/activemq.xml的消息端口 51516

<transportConnector name="openwire" uri="tcp://0.0.0.0:51516?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

 

修改vim activemq/conf/jetty.xml管控臺端口 (192.168.16.128:8161)

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
        <property name="host" value="0.0.0.0"/>
        <property name="port" value="8161"/>  
  </bean>

根據以上步驟修改每臺機器上的配置

 

機器IP 管控臺端口 集羣通信端口 消息端口
192.168.16.128 8261 61621 51516
192.168.16.129 8262 61622 51517
192.168.16.130 8263 61623 51518


啓動Zookeeper集羣安裝請查看文章https://mp.weixin.qq.com/s/aZe1Z-6qsGwUTYlObu5CVA

1.首先啓動zookeeper集羣 /zkServer.sh start

2.查看/zkServer.sh status 狀態

3.啓動activemq  ./activemq    start / stop /status/console(啓動並查看日誌)

4.查看zookeeper信息 ./zkCli.sh

查看是否有activemq信息 ls /

[activemq, zookeeper]

查看activemq集羣是否持久化到zookeeper  ls /activemq/leveldb-stores

[00000000086, 00000000084, 00000000085]

界面訪問

分別訪問

http://192.168.16.130:8163/

http://192.168.16.129:8162/

http://192.168.16.128:8161/

有兩個連接不能訪問是屬於正常,兩個連接屬於待機狀態並無真正實現MQ,當Master宕機,從兩臺Slave中選舉一個爲Master。

 

到此安裝就此結束了。

版本分別爲JDK八、Zookeeper3.4.十、ActiveMQ5.15.三、Centos6.5;機器是虛擬機;

安裝異常問題

Q:遇到未知的服務和名稱

A:修改hosts文件 192.168.16.128  jin(hostname)

hostname

 

Q:集羣搭建成功,當Master宕機,Slave沒有選舉爲Master

A:三臺集羣端口一致爲tcp://0.0.0.0.0,還有默認端口和消息端口使用默認。修改成不一樣端口,重啓解決。

Q:MQ消息隊列啓動失敗

A:JDK版本與MQ版本是否對應

Q:防火牆需關閉


啓動Zookeeper與ActiveMQ以前是須要安裝JDK

▼長按如下二維碼便可關注▼

 

相關文章
相關標籤/搜索