操做系統:CentOS7java
實例:192.168.63.129,192.168.63.130,192.168.63.131,192.168.63.132node
Java:jdk-8u191-linux-x64.tar.gzpython
先把系統裏面自帶的卸載掉linux
[root@localhost soft]# rpm -qa|grep java python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64 java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64 tzdata-java-2018e-3.el7.noarch javapackages-tools-3.4.1-11.el7.noarch [root@localhost soft]# rpm -e java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64 --nodeps [root@localhost soft]# rpm -e java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64 --nodeps [root@localhost soft]#
進入你JDK安裝包所在的目錄,而後安裝JDKgit
# 建立一個目錄存放 [root@localhost soft]# mkdir /usr/local/java # 解壓縮到這個目錄 [root@localhost soft]# tar -xvf jdk-8u191-linux-x64.tar.gz -C /usr/local/java/
解壓以後進入該目錄能夠看到github
下面配置環境變量apache
[root@localhost java]# vim /etc/profile
加入如下內容vim
# java export JAVA_HOME=/usr/local/java/jdk1.8.0_191 export JRE_HOME=/usr/local/java/jdk1.8.0_191/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
以下所示服務器
刷新並驗證less
[root@localhost java]# source /etc/profile [root@localhost java]# java -version java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode) [root@localhost java]#
去下載 http://rocketmq.apache.org/
而後上傳到服務器,我上傳到 /soft文件夾下面。而後解壓
# 解壓 [root@localhost soft]# unzip rocketmq-all-4.5.1-bin-release.zip -d /usr/local/ # 進入解壓目錄 [root@localhost soft]# cd /usr/local/ [root@localhost local]# ll total 0 drwxr-xr-x. 2 root root 6 Apr 11 2018 bin drwxr-xr-x. 2 root root 6 Apr 11 2018 etc drwxr-xr-x. 2 root root 6 Apr 11 2018 games drwxr-xr-x. 2 root root 6 Apr 11 2018 include drwxr-xr-x. 3 root root 26 May 26 18:39 java drwxr-xr-x. 2 root root 6 Apr 11 2018 lib drwxr-xr-x. 2 root root 6 Apr 11 2018 lib64 drwxr-xr-x. 2 root root 6 Apr 11 2018 libexec drwx------. 6 root root 103 Mar 29 17:37 rocketmq-all-4.5.1-bin-release drwxr-xr-x. 2 root root 6 Apr 11 2018 sbin drwxr-xr-x. 5 root root 49 May 10 07:44 share drwxr-xr-x. 2 root root 6 Apr 11 2018 src
# 改個名字 [root@localhost local]# mv rocketmq-all-4.5.1-bin-release/ rocketmq [root@localhost local]# ll total 0 drwxr-xr-x. 2 root root 6 Apr 11 2018 bin drwxr-xr-x. 2 root root 6 Apr 11 2018 etc drwxr-xr-x. 2 root root 6 Apr 11 2018 games drwxr-xr-x. 2 root root 6 Apr 11 2018 include drwxr-xr-x. 3 root root 26 May 26 18:39 java drwxr-xr-x. 2 root root 6 Apr 11 2018 lib drwxr-xr-x. 2 root root 6 Apr 11 2018 lib64 drwxr-xr-x. 2 root root 6 Apr 11 2018 libexec drwx------. 6 root root 103 Mar 29 17:37 rocketmq drwxr-xr-x. 2 root root 6 Apr 11 2018 sbin drwxr-xr-x. 5 root root 49 May 10 07:44 share drwxr-xr-x. 2 root root 6 Apr 11 2018 src
進入配置文件目錄,修改配置文件(四臺機器修改的配置文件不同,注意名稱)
[root@localhost local]# cd rocketmq/conf/2m-2s-async/
# 129節點 [root@localhost 2m-2s-async]# vim broker-a.properties # 130節點 [root@localhost 2m-2s-async]# vim broker-a-s.properties # 131節點 [root@localhost 2m-2s-async]# vim broker-b.properties # 132節點 [root@localhost 2m-2s-async]# vim broker-b-s.properties
加入以下內容(四臺機器加入內容同樣,可是修改的文件不同)
listenPort=10911 namesrvAddr=192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876 mapedFileSizeCommitLog=1073741824 storePathRootDir=/usr/local/rocketmq/store storePathCommitLog=/usr/local/rocketmq/store/commitlog storePathConsumerQueue=/usr/local/rocketmq/store/consumequeue storePathIndex=/usr/local/rocketmq/store/index
如圖:
而後新建store相關目錄(四臺機器同樣)
[root@localhost 2m-2s-async]# mkdir /usr/local/rocketmq/store [root@localhost 2m-2s-async]# mkdir /usr/local/rocketmq/store/commitlog [root@localhost 2m-2s-async]# mkdir /usr/local/rocketmq/store/consumequeue [root@localhost 2m-2s-async]# mkdir /usr/local/rocketmq/store/index
開啓防火牆端口
[root@localhost 2m-2s-async]# firewall-cmd --zone=public --add-port=10911/tcp --permanent success [root@localhost 2m-2s-async]# firewall-cmd --zone=public --add-port=9876/tcp --permanent success [root@localhost 2m-2s-async]# systemctl restart firewalld
進入bin目錄,準備啓動nameserver,啓動成功。
[root@localhost 2m-2s-async]# cd /usr/local/rocketmq/bin/ [root@localhost bin]# ./mqnamesrv & [1] 59673 [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 [root@localhost bin]#
下面啓動broker
[root@localhost bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a.properties & [2] 59731 [root@localhost bin]# Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12) # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory. # An error report file with more information is saved as: # /usr/local/rocketmq/bin/hs_err_pid59738.log [2]+ Exit 1 ./mqbroker
報錯了,內存不足。畢竟測試搭建,只有1G內存。修改runbroker.sh
[root@localhost bin]# vim runbroker.sh
修改這裏
改成 -Xms256m -Xmx256m -Xmn128m
保存關閉,重啓。
# 129 [root@localhost bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a.properties & [3] 61454 [2] Exit 143 ./mqbroker [root@localhost bin]# The broker[broker-a, 192.168.63.129:10911] boot success. serializeType=JSON and name server is 192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876 # 130 [root@localhost bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a-s.properties & [3] 60359 [2] Exit 143 ./mqbroker [root@localhost bin]# The broker[broker-a, 192.168.63.130:10911] boot success. serializeType=JSON and name server is 192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876 # 131 [root@localhost bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-b.properties & [3] 60224 [2] Exit 143 ./mqbroker [root@localhost bin]# The broker[broker-b, 192.168.63.131:10911] boot success. serializeType=JSON and name server is 192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876 # 132 [root@localhost bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-b-s.properties & [3] 60310 [2] Exit 143 ./mqbroker [root@localhost bin]# The broker[broker-b, 192.168.63.132:10911] boot success. serializeType=JSON and name server is 192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876
所有啓動成功後,安裝個管控臺。
這裏須要四臺服務器開啓10909端口。
[root@localhost bin]# firewall-cmd --zone=public --add-port=10909/tcp --permanent success [root@localhost bin]# systemctl restart firewalld
=====
https://github.com/apache/rocketmq-externals
下載好後,進入rocketmq-console目錄執行打包命令
mvn clean package -Dmaven.test.skip=true
進入target目錄,執行命令啓動。
java -jar rocketmq-console-ng-1.0.1.jar --rocketmq.config.namesrvAddr='192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876'
訪問http://localhost:8080/#/cluster
關閉NameServer和Broker
[root@localhost bin]# ./mqshutdown namesrv The mqnamesrv(59705) is running... Send shutdown request to mqnamesrv(59705) OK [root@localhost bin]# ./mqshutdown broker The mqbroker(60366) is running... Send shutdown request to mqbroker(60366) OK [1]- Exit 143 ./mqnamesrv