linux (阿里云 CentOS7) 中安装配置 RocketMQ
前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到教程。
JDK1.8的安裝:
1.檢查系統(tǒng)的JDK版本
根目錄下操作:cd
java -version ?
2.檢測JDK安裝包
rpm -qa | grep java ?
3.卸載OpenJDK(如果存在)
rpm -e --nodeps "對應(yīng)的JDK安裝包"
Note:在阿里云Centos7中筆者沒有以上操作
4.安裝Jdk1.8.0_144
下載:wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz?AuthParam=1507282636_7a947925cfc498e550265a3f28a5cab9
解壓縮:tar -zxvf jdk-8u144-linux-x64.tar.gz\?AuthParam\=1507282636_7a947925cfc498e550265a3f28a5cab9
位置遷移:mv jdk1.8.0_144/ /usr/local/jdk1.8.0_144
刪除壓縮包:rm -rf jdk-8u144-linux-x64.tar.gz\?AuthParam\=1507282636_7a947925cfc498e550265a3f28a5cab9
5.設(shè)置環(huán)境變量
vim /etc/profile
在最后添加:
export JAVA_HOME=/usr/local/jdk1.8.0_144 ?
export JRE_HOME=${JAVA_HOME}/jre ?
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib ?
export ?PATH=${JAVA_HOME}/bin:$PATH?
6.執(zhí)行profile
source /etc/profile ?
7.檢查新安裝的JDK
java -version
Note:如果看到版本輸出則表示JDK安裝成功 ?
?
?
Maven3.5的安裝:
1.下載Maven3.5
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
2.解壓縮
tar -zxvf apache-maven-3.5.0-bin.tar.gz?
3.刪除安裝包
rm -rf apache-maven-3.5.0-bin.tar.gz?
4.位置遷移
mv apache-maven-3.5.0/ /usr/local/maven3.5
5.設(shè)置環(huán)境變量
vim /etc/profile
在最后添加:
MAVEN_HOME=/usr/local/maven3.5
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
6.執(zhí)行profile
source /etc/profile
7.檢查新安裝的Maven3.5
mvn -version
Note:如果看到版本輸出則表示Maven安裝成功 ?
?
?
RocketMQ4.1.0的安裝:
Git和GitHUb的安裝與使用,請參考:http://ericchunli.iteye.com/blog/2395322
1.RocketMQ源碼的獲取
cd /usr/local
git clone -b release-4.1.0-incubating https://github.com/apache/incubator-rocketmq.git
cd incubator-rocketmq
2.maven編譯
mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/apache-rocketmq/bin
?
Note:注意bin的位置
/usr/local/incubator-rocketmq/distribution/target/apache-rocketmq/bin
?
3.啟動服務(wù)器
nohup sh mqnamesrv -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/namesrv.log
4.啟動broker
nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true > ~/logs/rocketmqlogs/broker.log 2>&1 &
tail -f ~/logs/rocketmqlogs/broker.log
5.關(guān)閉RcocketMQ相關(guān)服務(wù)
停止broker服務(wù):sh mqshutdown broker
關(guān)閉nameserver服務(wù):sh mqshutdown namesrv
?
Note:以下配置(表示不理解)
# 在bin目錄下面執(zhí)行,將服務(wù)器地址引入到環(huán)境變量中
$ export NAMESRV_ADDR=localhost:9876
$ echo "ROCKETMQ_HOME=`pwd`" >> ~/.bash_profile ?
$ source ~/.bash_profile ??
?
Note:內(nèi)存的設(shè)置(內(nèi)存大于8G的不用設(shè)置)
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"
runbroker.sh
runserver.sh
?
Note:向MQ發(fā)送和接收消息(驗(yàn)證失敗)
# 通過java代碼實(shí)現(xiàn)的案例生產(chǎn)者生產(chǎn)消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
# 通過java代碼實(shí)現(xiàn)案例消費(fèi)者消費(fèi)消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
# 監(jiān)控MQ,調(diào)用命令監(jiān)控在target的bin目錄下
$ sh mqadmin clusterList -n localhost:9876
?
異常測試問題:
@1:Could not find or load main class org.apache.rocketmq.broker.BrokerStartup或者nameserv
異常原因:maven編譯,distribution目錄下的bin啟動位置和distribution目錄下的target下的bin啟動位置搞錯
?
@1:No route info of this topic
異常原因:broker啟動不成功
?
@2:connect to <172.17.0.1:10909> failed或者10911等
異常原因:
第一種可能:虛擬機(jī)中的網(wǎng)絡(luò)太多《驗(yàn)證失敗》。
rocketMQ在自動識別網(wǎng)絡(luò)的時候識別錯誤,可以先把別的網(wǎng)絡(luò)down掉或者把想用的那個網(wǎng)讓它排在前面(沒驗(yàn)證過)。ifconfig查看網(wǎng)絡(luò)發(fā)現(xiàn)還有個docker0的網(wǎng)絡(luò)的ip就是172.17.0.1,因此連接不上。
把docke0的網(wǎng)絡(luò)斷開:broker部署在虛擬機(jī),并且虛擬雙網(wǎng)卡同docker沖突
systemctl stop docker
ifconfig docker0 down
Note:docker服務(wù)啟動后docker0網(wǎng)絡(luò)會自動開。
systemctl is-enabled ?docker ? ? ? ? #查詢是否自啟動
systemctl disable ?docker ? ? ? ? ? ?#禁止自啟動
systemctl list-unit-files|grep enabled ? ? ?#查看自啟動服務(wù)列表
systemctl stop ?docker ? ? ? ? ? ? ? #禁止啟動
systemctl start ?docker ? ? ? ? ? ? ?#開啟啟動
systemctl status ?docker
然后在broker.conf中設(shè)置brokerip和namesrvAddr,都指定為本機(jī)ip后重啟《驗(yàn)證失敗》。?
?
第二種:setVipChannelEnabled(false)《驗(yàn)證失敗》《低版本的不存在這問題,同樣未驗(yàn)證》
Rocket默認(rèn)開啟了VIP通道,VIP通道端口為10911-2=10909,若Rocket服務(wù)器未啟動端口10909,則報(bào)connect to <10909> failed。
?
轉(zhuǎn)自:http://www.itboth.com/d/zERjae
總結(jié)
以上是生活随笔為你收集整理的linux (阿里云 CentOS7) 中安装配置 RocketMQ的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker: dockerfile 使
- 下一篇: Linux 使用 jstat 命令查看