Linux和Windows部署RocketMQ叢集
阿新 • • 發佈:2019-01-05
Linux和Windows部署RocketMQ叢集
1.Linux啟動RocketMQ
- 進入rocketmq環境變數的路徑
cd /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/bin
- 啟動Name Server
nohup sh mqnamesrv tail -f ~/logs/rocketmqlogs/namesrv.log
提示:The Name Server boot success…
- 啟動Broker
nohup sh mqbroker
tail -f ~/logs/rocketmqlogs/broker.log
提示:The broker[%s, 172.30.30.233:10911] boot success…
注:若無法啟動,改runbroker.sh和runserver.sh中的啟動記憶體要小於虛擬機器記憶體,兩者啟動記憶體大小一致
- 檢視兩個程序是否啟動
jps
3601 Jps
3494 NamesrvStartup
3530 BrokerStartup
- 關掉伺服器:先關broker,再關nameserver
sh mqshutdown broker
提示:The mqbroker(36695) is running…
Send shutdown request to mqbroker(36695) OK
sh mqshutdown namesrv
提示:The mqnamesrv(36664) is running…
Send shutdown request to mqnamesrv(36664) OK
2.Windows啟動RocketMQ
- 啟動nameserver:Cmd命令框執行進入至‘MQ資料夾\bin’下,成功後會彈出提示框,此框勿關閉。
start mqnamesrv.cmd
- 啟動broker: Cmd命令框執行進入至‘MQ資料夾\bin’下,成功後會彈出提示框,此框勿關閉。
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
- 啟動管控平臺,先進入E:\rocketmq-externals-master\rocketmq-console\src\main\resources,修改application.properties中的namesrvAddr,例如:
rocketmq.config.namesrvAddr=192.168.0.220:9876;192.168.0.221:9876
- Cmd命令框執行進入E:\rocketmq-externals-master\rocketmq-console
mvn clean package -Dmaven.test.skip=true
- Cmd命令框執行進入E:\rocketmq-externals-master\rocketmq-console\target
java -jar rocketmq-console-ng-1.0.0.jar
- 瀏覽器中輸入‘127.0.0.1:配置埠’,成功後即可檢視。
埠在E:\rocketmq-externals-master\rocketmq-console\src\main\resources中的‘application.properties’檔案可看,如server.port=8082
3. Linux部署雙master雙slave非同步複製叢集
- 修改四臺機子的hosts檔案:
vi /ect/hosts
192.168.9.157 rocketmq-nameserver1
192.168.9.157 rocketmq-master1
192.168.9.150 rocketmq-nameserver2
192.168.9.150 rocketmq-master2
192.168.9.154 rocketmq-nameserver3
192.168.9.154 rocketmq-master1-slave
192.168.9.155 rocketmq-nameserver4
192.168.9.155 rocketmq-master2-slave
- 重啟網絡卡
service network restart
- 互相ping一下,例:
ping 10.43.98.38
ping rocketmq-nameserver2
ping rocketmq-master2
- 四臺機進入/usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async目錄,增加一行程式碼
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
主機1修改broker-a.properties檔案
主機2修改broker-b.properties檔案
從機1修改broker-a-s.properties檔案
從機2修改broker-b-s.properties檔案
- 在bin目錄分別啟動四臺機子的nameserver
nohup sh mqnamesrv &
- 在bin目錄分別啟動四臺機子broker:
主機1:
nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async/broker-a.properties >/dev/null 2>&1 &
主機2:
nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async/broker-b.properties >/dev/null 2>&1 &
從機1:
nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async/broker-a-s.properties >/dev/null 2>&1 &
從機2:
nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async/broker-b-s.properties >/dev/null 2>&1 &
- 在rocketmq的bin目錄下檢視叢集情況:
sh mqadmin clusterList -n "192.168.9.157:9876;192.168.9.150:9876;192.168.9.154:9876;192.168.9.155:987
注:可在Windows端開啟管控臺,步驟以上有,需改application.properties中的namesrvAddr