日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rocketmq4.1.0部署及流量切换实践

發布時間:2024/1/17 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rocketmq4.1.0部署及流量切换实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

rocketmq最主要的兩個程序nameserver和broker;nameserver主要負責(尋址-調度-切換),就是不需要keepalived,broker是消息隊列的主程序,這就不用多說了

host: rocketmq1:11.0.0.15 rocketmq2:11.0.0.16

1.準備jdk和maven環境

cd /tools wget http://endless.ws/jdk-8u151-linux-x64.tar.gz tar xf jdk-8u151-linux-x64.tar.gz mv jdk-8u151-linux-x64 /usr/local/jdk-8u151 ln -s /usr/local/jdk-8u151 /usr/local/jdkcat >>~/.bash_profile<<EOF export JAVA_HOME=/usr/local/jdk export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar export PATH=\$JAVA_HOME/bin:\$PATH:\$HOME/bin EOFcd /tools wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz tar xf apache-maven-3.5.2-bin.tar.gz mv apache-maven-3.5.2 /usr/local/maven-3.5.2 ln -s /usr/local/maven-3.5.2 /usr/local/mavencat >>~/.bash_profile<<EOF export MAVEN_HOME=/usr/local/maven export PATH=\$MAVEN_HOME/bin:\$PATH EOF source ~/.bash_profile

2.下載rocketmq4.*(java程序)

cd /tools wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.1.0-incubating.tar.gz yum install glibc.i686 -y tar xf rocketmq-all-4.1.0-incubating.tar.gz cd rocketmq-rocketmq-all-4.1.0-incubatingmvn -Prelease-all -DskipTests clean install -U cd distribution/target/ cp -rp apache-rocketmq /usr/local/rocketmq!#以上步驟可以使用兩臺服務器部署,到這里rocketmq已經放到運維常用的目錄了,接下來就是配置等等問題。

3.配置(看好不爬坑)

我們選擇11.0.0.15做rocketmq調度尋址器(nameserver)

3.1 配置一(只列出了修改的行)

vim /usr/local/rocketmq/bin/runserver.sh

#!/bin/sh
JAVA_HOME=/usr/local/jdk #添加變量
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m" #你確定你們的機器有如此大的內存

#這里runserver.sh配置完成

3.2 配置二(只列出了修改的行)

vim /usr/local/rocketmq/bin/runbroker.sh
#!/bin/sh
JAVA_HOME=/usr/local/jdk #添加變量
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m" #你確定你的內存很大
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=1g" #你確定你的內存有16G

3.3 啟動尋址器11.0.0.15 配置三(尋址器啟動一個即可)

#替換 sed -i 's#${user.home}#/usr/local/rocketmq#g' /usr/local/rocketmq/conf/*.xml #做host解析 vim /etc/hosts ip1 hostname1 ip2 hostname2#啟動mqnamesrv查看 nohup sh /usr/local/rocketmq/bin/mqnamesrv & netstat -luntp #可以看見一個9876端口,尋址器啟動成功

配置雙主(為了方便將舊的rocketmq進行切換,如果是使用舊的mq尋址器,后面的新mq服務器則可以不啟動尋址器)
這里選擇conf目錄中的2m-noslave配置文件(自己根據需求配置)
cd /usr/local/rocketmq/conf/2m-noslave
vim broker-a.properties

brokerClusterName=DefaultCluster #集群名稱 brokerName=broker-a #集群中第一臺broker的名稱,可以自己設,如果不是第一臺可以使用a1啥的 brokerId=0 #0代表主 >0從 namesrvAddr=11.0.0.15:9876 #假如有一臺舊的尋址器11.0.0.12:9876(則填) brokerIP1=11.0.0.15 defaultTopicQueueNums=4 listenPort=10911 #broker監聽端口 deleteWhen=04 fileReservedTime=120 mapedFileSizeCommitLog=1073741824 mapedFileSizeConsumeQueue=50000000 destroyMapedFileIntervalForcibly=120000 redeleteHangedFileInterval=120000 diskMaxUsedSpaceRatio=88 storePathRootDir=/data/rocketmq/store storePathCommitLog=/data/rocketmq/store/commitlog flushIntervalCommitLog=1000 flushCommitLogTimed=false maxTransferBytesOnMessageInMemory=262144 maxTransferCountOnMessageInMemory=32 maxTransferBytesOnMessageInDisk=65536 maxTransferCountOnMessageInDisk=8 accessMessageInMemoryMaxRatio=40 messageIndexEnable=true messageIndexSafe=false flushCommitLogLeastPages=4 flushConsumeQueueLeastPages=2 flushCommitLogThoroughInterval=10000 flushConsumeQueueThoroughInterval=60000 brokerRole=ASYNC_MASTER flushDiskType=ASYNC_FLUSH checkTransactionMessageEnable=false sendMessageThreadPoolNums=128 pullMessageThreadPoolNums=128

3.4 配置四

#創建配置文件中數據目錄 mkdir /data/rocketmq/store/commitlog -p mkdir /usr/local/rocketmq/logs/rocketmqlogs -p #啟動mqbroker nohup sh /usr/local/rocketmq/bin/mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties & #如果看到10909 10911 10912代表這臺mq啟動成功了

3.5配置五

#第二臺mq配置大致相同(不需要啟動尋址器mqnamesrv),依然是配置broker-a.properties #尋址器依然是配 namesrvAddr=11.0.0.15:9876 #broker名稱 brokerName=broker-a1 #本機IP brokerIP1=11.0.0.16#到這里其實可以啟動broker了 nohup sh /usr/local/rocketmq/bin/mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties &

3.6 高興的太早還不行

#這里還需要將第一臺mq的store目錄拷貝到新mq的對應目錄 scp -rp root@11.0.0.15:/data/rocketmq/store /data/rocketmq/#有的同學可能不在/data目錄(自己查看內容是否正確,還有位置) scp -rp root@11.0.0.15:/root/store /data/rocketmq/

自己測試,最好安裝一個console,可以查看到流量是否過去

#在主rocketmq節點上下載一下rocketmq-externals打個jar包,啟動一下,web頁面去看 #自己去玩 #所以你再也不擔心主mq掛了,三主也可以的,只不過名稱以此類推,自己定義,這樣你就完成了簡易的橫向擴展。cd /usr/local/src/ git clone https://github.com/apache/rocketmq-externals.git cd rocketmq-externals/rocketmq-console mvn -DskipTests clean install -U cd target/ java -jar rocketmq-console-ng-1.0.0.jar

轉載于:https://blog.51cto.com/linux1991/2083471

總結

以上是生活随笔為你收集整理的rocketmq4.1.0部署及流量切换实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。