架構(gòu)運維篇(五):Centos7/Linux中安裝RocketMQ

上一篇 架構(gòu)運維篇(四):Centos7/Linux中Tomcat安裝Https證書實踐
這一篇講一下在Centos7/Linux安裝RocketMQ狼犯,MQ的具體應(yīng)用場景和使用就不再啰嗦了。我在沒有使用過MQ之前聽其他大神提到感覺很高深和復(fù)雜,不過有道是“難者不會植旧,會者不難”馏臭,那么想要入門MQ的先從學(xué)會安裝部署開始掷邦。

RocketMQ

版本說明

  • JDK :jdk1.8.0_172(已安裝)
  • MQ : rocketmq4.3

安裝部署RocketMQ

第一步:下載RocketMQ安裝包

  1. 官網(wǎng)下載
下載地址:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip
  1. 其他鏡像下載
下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip
第二步:上傳至服務(wù)器

這里將下載好的rocketmq安裝包放到服務(wù)器 software 目錄下(可以參考架構(gòu)運維篇的前幾章,安裝文件都會放到該目錄下)

[root@localhost software]# unzip rocketmq-all-4.3.2-bin-release.zip //解壓箱沦,也可以采用tar 等方式
[root@localhost software]# mv rocketmq-all-4.3.2-bin-release rocket4.3  //這里進行重命名,名字太長不好維護
[root@localhost software]# rm -f rocketmq-all-4.3.2-bin-release.zip //刪除安裝包雇庙,可選
第三步:修改相關(guān)配置

如果對rocketmq的配置有詳細查看過就會發(fā)現(xiàn)谓形,默認配置是非常耗費內(nèi)存的灶伊,如果服務(wù)器資源不是很充足還是需要修改的,不然啟動會報錯寒跳。
1聘萨、修改runserver.sh 配置文件
到rocketmq的解壓文件 /bin 目錄下,進行如下操作:

[root@localhost bin]# vim runserver.sh
#JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

也不要設(shè)置太型(至少要配置512m)米辐,第一次安裝時參考網(wǎng)上其他作者寫的文章這里配置了256,啟動時是會報錯的康愤,錯誤信息如下所示:

[root@localhost bin]# Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: MaxNewSize (524288k) is equal to or greater than the entire heap (524288k).  A new max generation size of 524224k will be used.
java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
    at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:127)
......

2儡循、修改runbroker.sh 配置文件
copy一份原來的,再進行修改配置信息:

[root@localhost bin]# vim runbroker.sh
#JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"

備注:同樣不可設(shè)置過低
3征冷、修改tools.sh 配置文件
同樣copy一份原來的择膝,再進行修改配置信息:

[root@localhost bin]# vim tools.sh
#JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
第四步:啟動服務(wù)

rocketmq在啟動時需要啟動Name Server和Broker兩個服務(wù),按照順序依次啟動检激。
啟動Name Server:

[root@ localhost bin]# nohup sh mqnamesrv -n localhost:9876 &
[1] 28042
[root@ localhost bin]# Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON

啟動Broker:

[root@localhost bin]# nohup sh mqbroker -n localhost:9876 &
[2] 28082

備注:9876是rocketmq的默認端口

關(guān)閉服務(wù)

sh mqshutdown namesrv
sh mqshutdown broker

其實寫到這里已經(jīng)算是安裝部署完成了肴捉,那么為了讓初學(xué)者對MQ有更加直觀的體驗,接著搭建監(jiān)控平臺叔收。

搭建RocketMQ監(jiān)控平臺

官方有提供基于Spring Boot的RocketMQ web界面監(jiān)控項目(rocketmq-console)齿穗,接下來部署上。

第一步:下載項目

GitHub地址:https://github.com/apache/rocketmq-externals.git
如下圖打包下載:

GitHub下載

第二步:修改配置文件

打開rocketmq-console項目中的application.properties文件饺律,修改如下配置:

server.port=89  #端口自己定義
rocketmq.config.namesrvAddr=127.0.0.1:9876  #IP地址可以修改
第三步:rocketmq-console項目打包

打包命令如下:

#進入rocketmq-console目錄窃页,執(zhí)行命令
mvn clean package -Dmaven.test.skip=true

備注:會編譯生成rocketmq-console-ng-1.0.1.jar,也可以將項目導(dǎo)入的idea里面進行修改和打包操作复濒。

rocketmq-console打包

第四步:上傳jar到服務(wù)器并啟動項目

上傳到服務(wù)器后脖卖,進入jar包所在目錄執(zhí)行如下命令:

[root@localhost data]# java -jar rocketmq-console-ng-1.0.1.jar
第五步:測試結(jié)果

瀏覽器訪問:http://127.0.0.1:89 ,如下圖所示部署成功:


8.pic.jpg

總結(jié)

Centos7/Linux環(huán)境搭建RocketMQ會遇到一些坑巧颈,這里給大家先列舉一下:
1畦木、jvm內(nèi)存溢出
文章上面有提到過如果配置空間過小啟動時會報內(nèi)存錯誤,參考文中配置即可解決砸泛,也可以自己調(diào)試合適的空間大小顶掉。
2蟆肆、No route info of this topic, TopicTest 錯誤
項目是用Spring Boot 搭建的喻杈,在啟動是報“org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest”錯誤路鹰,經(jīng)排查是啟動broker方式不對。
官網(wǎng)啟動方式和文中一樣盏筐,但是還是報錯械姻。

#官網(wǎng)推薦啟動命令
nohup sh bin/mqbroker -n localhost:9876 &

改為

nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &

3、RocketMQ 設(shè)置 brokerIP1 無效,默認會找到內(nèi)網(wǎng) 的地址楷拳,導(dǎo)致無法連接到broker
修改配置

在conf/broker.conf 中 加入 brokerIP1=你的公網(wǎng)IP

啟動broker

nohup sh bin/mqbroker -n 你的公網(wǎng)IP:9876 -c conf/broker.conf autoCreateTopicEnable=true &

4绣夺、rocketmq-console報錯RemotingConnectException: connect to xx failed
原因:端口沒有開放,一般的做法是開放一段端口區(qū)域欢揖,例如:

放行端口:[10000-20000]

貢獻者

更多精彩內(nèi)容可以關(guān)注“IT實戰(zhàn)聯(lián)盟”公眾號哦~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末陶耍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子她混,更是在濱河造成了極大的恐慌烈钞,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坤按,死亡現(xiàn)場離奇詭異毯欣,居然都是意外死亡,警方通過查閱死者的電腦和手機臭脓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門酗钞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人来累,你說我怎么就攤上這事砚作。” “怎么了嘹锁?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵葫录,是天一觀的道長。 經(jīng)常有香客問我领猾,道長米同,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任摔竿,我火速辦了婚禮面粮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拯坟。我一直安慰自己,他們只是感情好韭山,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布郁季。 她就那樣靜靜地躺著,像睡著了一般钱磅。 火紅的嫁衣襯著肌膚如雪梦裂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天盖淡,我揣著相機與錄音年柠,去河邊找鬼。 笑死褪迟,一個胖子當(dāng)著我的面吹牛冗恨,可吹牛的內(nèi)容都是我干的答憔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼掀抹,長吁一口氣:“原來是場噩夢啊……” “哼虐拓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起傲武,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤蓉驹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后揪利,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體态兴,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年疟位,在試婚紗的時候發(fā)現(xiàn)自己被綠了瞻润。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡献汗,死狀恐怖敢订,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情罢吃,我是刑警寧澤楚午,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站尿招,受9級特大地震影響矾柜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜就谜,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一怪蔑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丧荐,春花似錦缆瓣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至车荔,卻和暖如春渡冻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忧便。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工族吻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓超歌,卻偏偏與公主長得像砍艾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子握础,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容

  • [if !supportLists]1 [endif]手冊 [if !supportLists]1.1 [endi...
    一個小學(xué)生_f64d閱讀 2,361評論 0 0
  • 前言 繼我上一篇博客后分布式消息隊列RocketMQ學(xué)習(xí)教程①上一篇博客最主要介紹了幾種常用的MQ辐董,所以本博客再簡...
    smileNicky閱讀 5,878評論 0 8
  • 在新搭建的PAAS系統(tǒng)中,需要引入一下MQ禀综,經(jīng)過技術(shù)選型以后简烘,決定使用RocketMq,因為他是使用JAVA編寫的...
    nhhnhh閱讀 568評論 0 1
  • 下載和構(gòu)建 配置環(huán)境變量在/etc/profile最后添加 使變量生效. /etc/profile 從 https...
    NickYS閱讀 19,453評論 1 53
  • 王大年的同屋已經(jīng)許久沒有出現(xiàn)過定枷」屡欤“第八十一天了,是不是九九八十一存在輪回欠窒,那你應(yīng)該會回來吧覆旭?”加完班回家的王大年在...
    小熊包蟹兮閱讀 415評論 0 0