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&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
▼長按如下二維碼便可關注▼