阿里雲服務器安裝rocketmq

說明:
我的阿里雲是centos 7
jdk 1.8.0_192-b12(安裝教程參照:https://www.cnblogs.com/kingsonfu/p/9801556.html)
maven apache-maven-3.6.1(安裝教程參照:https://www.cnblogs.com/yangyuke1994/p/10592055.html)

  1. 安裝jdk,配置環境變量
  2. 安裝maven,配置環境變量
  3. 下載部署RocketMQ
    新建rocketmq目錄(/usr/local),
    下載依賴 wget http://mirror.bit.edu.cn/apache/rocketmq/4.7.0/rocketmq-all-4.7.0-source-release.zip(版本可能不同導致網頁不存在,先訪問這個替換版本 =》http://mirror.bit.edu.cn/apache/rocketmq/
    解壓 unzip rocketmq-all-4.5.2-source-release.zip
    如果提示 -bash: unzip: command not found,說明沒有找到命令,安裝unzip即可 yum install -y unzip zip
    進入 rocketmq-all-4.7.0-source-release
  4. 啓動namesrv
    修改runserver.sh的默認內存,/usr/local/rocketmq-all-4.7.0-source-release/bin
    #這是RocketMQ默認值
    JAVA_OPT="KaTeX parse error: Expected 'EOF', got '#' at position 91: …paceSize=320m" #̲這是修改後的值 JAVA_OP…{JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    啓動服務 nohup sh mqnamesrv > /dev/null 2>&1 &
    查看namesrv服務日誌,確認是否成功啓動,默認日誌路徑 /root/logs/rocketmqlogs/namesrv.log,如下所示表明啓動成功
2019-08-28 10:42:11 INFO main - tls.client.authServer = false
2019-08-28 10:42:11 INFO main - tls.client.trustCertPath = null
2019-08-28 10:42:12 INFO main - Using OpenSSL provider
2019-08-28 10:42:12 INFO main - SSLContext created for server
2019-08-28 10:42:12 INFO main - Try to start service thread:FileWatchService started:false lastThread:null
2019-08-28 10:42:12 INFO main - The Name Server boot success. serializeType=JSON
2019-08-28 10:42:12 INFO FileWatchService - FileWatchService service started
2019-08-28 10:42:12 INFO NettyEventExecutor - NettyEventExecutor service started
  1. 啓動broker
    修改broker啓動腳本的默認內存配置
    #這是默認值
    JAVA_OPT="KaTeX parse error: Expected 'EOF', got '#' at position 42: …-Xmx8g -Xmn4g" #̲這是修改後的值 JAVA_OP…{JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512g"
    創建broker.conf配置文件,內容如下
namesrvAddr={你自己的阿里雲服務器外網IP或者內網IP}:9876
brokerIP1={你自己的阿里雲服務器外網IP}
brokerName=james
brokerClusterName=DefaultCluster
brokerId=0
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
  1. 啓動服務 nohup sh mqbroker -c broker.conf> /dev/null 2>&1 &
    查看broker啓動日誌
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_192]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_192]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_192]
2019-08-28 11:04:35 INFO TransactionalMessageCheckService - create new topic TopicConfig [topicName=RMQ_SYS_TRANS_HALF_TOPIC, readQueueNums=1, writeQueueNums=1, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false]
2019-08-28 11:04:38 WARN brokerOutApi_thread_4 - registerBroker Exception, 你的阿里雲服務器IP:9876
org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <你的阿里雲服務器IP:9876> failed
    at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeOneway(NettyRemotingClient.java:556) ~[rocketmq-remoting-4.5.2.jar:4.5.2]
    at org.apache.rocketmq.broker.out.BrokerOuterAPI.registerBroker(BrokerOuterAPI.java:187) ~[rocketmq-broker-4.5.2.jar:4.5.2]
    at org.apache.rocketmq.broker.out.BrokerOuterAPI.access$000(BrokerOuterAPI.java:61) ~[rocketmq-broker-4.5.2.jar:4.5.2]
    at org.apache.rocketmq.broker.out.BrokerOuterAPI$1.run(BrokerOuterAPI.java:150) ~[rocketmq-broker-4.5.2.jar:4.5.2]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_192]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_192]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_192]

出現上面這種情況,首先去阿里雲上檢查是否對外暴露了9876端口,如果沒有,在阿里雲上添加對外暴露9876端口(安全組 -> 配置規則 -> 添加安全組規則)
添加完畢,後重啓broker服務,提示如下,就說明啓動成功

2019-08-28 11:10:54 INFO PullRequestHoldService - PullRequestHoldService service started
2019-08-28 11:10:54 INFO brokerOutApi_thread_1 - register broker[0]to name server 你的阿里雲服務器IP:9876 OK
2019-08-28 11:10:54 INFO main - The broker[james, 47.105.147.14:10911] boot success. serializeType=JSON and name server is 你的
阿里雲服務器IP:9876
  1. 輸入 jps 命令,查看Java進程
    #說明 NamesrvStartup,BrokerStartup兩個服務啓動成功
    21251 Jps
    21175 BrokerStartup
    20989 NamesrvStartup
  2. 特別注意:
    nameserver端口默認爲 9876
    broker監聽端口默認爲 10911
    這兩個端口務必一定要在阿里雲安全組裏對外暴露
    關閉namesrv服務 sh mqshutdown namesrv,關閉broker服務 sh mqshutdown broker
  3. 安裝 rocketmq-console 控制檯
    第一步:下載rocketmq-console。
    鏈接:https://pan.baidu.com/s/1EyD2Djx7YZo1XU3e_P0D5w
    提取碼:56a7
    第二步:將下載的zip上傳到服務器(我放在rocketmq目錄下),將其解壓,並且修改vim application.properties 中的 rocketmq.config.namesrvAddr=namesrv服務地址(ip1:port;ip2:port)
    第三步:編譯rocketmq-console
    編譯命令:mvn clean package -Dmaven.test.skip=true(注意:不要直接使用mvn package,會提示很多錯誤,在rocketmq-console的目錄下執行),編譯成功後,在rocketmq-console目錄下會生成一個目錄:target目錄,該目錄下有啓動rocketmq界面的jar文件
    第四部:啓動web(usr/local/rocketmq-externals-master/rocketmq-console/target目錄下)
    java -jar rocketmq-console-ng-1.0.0.jar 啓動 —當終端斷了該服務就會停止
    nohup java -jar rocketmq-console-ng-1.0.0.jar >>/usr/logs/log.out 2>&1 & 後臺啓動 --當終端斷了也不會停止服務
    第五步:記得開放阿里雲服務器的8080端口
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章