最近想自学RocketMq,官方文档也不友好,只能自己想办法,在网上找了一堆教程,一个完整的都没有。找了一堆文档,整理下。

1、JDK的安装

1、在/usr/local目录下创建jdk文件夹

mkdir jdk

2、上传jdk包

rz jdk.自己的版本.tar.gz    #如果没有rz命令  yum install lrzsz

3、查看当前Linux系统是否已经安装jdk

rpm -qa | grep java

4、将jdk压缩包放入/usr/local/jdk目录下

mv jdk-8u181-linux-x64.tar.gz /usr/local/jdk

5、进入 /usr/local/jdk目录下,解压jdk

cd /usr/local/jdk
tar -zxvf jdk-8u181-linux-x64.tar.gz  #解压

7、配置环境变量

vi /etc/profile

在文件的最后面添加如下代码

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH

8、测试

java -version

2、RocketMQ的安装

1、下载

http://rocketmq.apache.org/release_notes/release-notes-4.7.0/

java rocket mq 工具类_linux


2、上传到服务器 解压

rz XXX
unzip  XXX   #解压
yum install -y unzip zip  #安装unzip命令

3、将 RocketMQ 移动 /usr/local/ 目录

mv xxx /usr/local/rocketmq

4、进入rocketMQ的bin目录 启动脚本

启动server

nohup ./mqnamesrv &  #后台运行

java rocket mq 工具类_JAVA_02


会发现直接退出了,找找问题

java rocket mq 工具类_apache_03


查看日志发现 Cannot allocate memory 无法分配内存?

再看下rocketmq的启动配置

vi  runbroker.sh

java rocket mq 工具类_apache_04

标红处说实话我还没有百度具体到底是什么意思。。。哪位大佬补充下?
做如下修改

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=1g"

同理,修改 runbroker.sh
之后在启动

nohup ./mqnamesrv &

java rocket mq 工具类_JAVA_05


这就是启动成功了,也可以查看日志 ,包含The Name Server boot success…字样

tail -f ~/logs/rocketmqlogs/namesrv.log

启动broker

nohup ./mqbroker -n localhost:9876 &

java rocket mq 工具类_linux_06


也可以去对应日志查看success字样

5、测试
启动两个终端

生产者执行命令

export NAMESRV_ADDR=localhost:9876
./tools.sh org.apache.rocketmq.example.quickstart.Producer

java rocket mq 工具类_java rocket mq 工具类_07

消费者执行命令

export NAMESRV_ADDR=localhost:9876
./tools.sh org.apache.rocketmq.example.quickstart.Consumer

java rocket mq 工具类_apache_08

sh mqshutdown broker   #关闭服务命令
sh mqshutdown namesrv

3、RocketMq控制台安装

1、下载

https://github.com/apache/rocketmq-externals/releases

下载rocketmq-console-1.x.x

java rocket mq 工具类_java rocket mq 工具类_09


2、修改配置文件 rocketmq-console\src\main\resources\application.properties,修改完成,保存

server.port=7777 #项目启动后的端口号
#自己虚拟服务器 ip 地址
rocketmq.config.namesrvAddr=192.168.42.241:9876 
#nameserv 的地址,注意防火墙要开启 9876 端口

java rocket mq 工具类_java rocket mq 工具类_10


3、将工程打成 jar 包

mvn clean package -Dmaven.test.skip=true

报错 Failed during checkstyle execution: Ther

e is 1 error reported by Checkstyle 6.11.2 with style/rmq_checkstyle.xml ruleset.

java rocket mq 工具类_java rocket mq 工具类_11


把下方的插件注掉

java rocket mq 工具类_linux_12


4、启动jar包

java -jar rocketmq-console-ng-1.0.0

启动报错 org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <172.18.0.1:10909> failed

java rocket mq 工具类_JAVA_13


这是由于跨域造成的:

修改服务器中broker的配置,添加服务器IP(公网)即可

cd /usr/local/rocketmq/conf  #进入conf文件假
vi broker.conf

新增一行

brokerIP1=xx.xx.xx.xx  # 你的公网IP

然后重启 mqnamesrv,记得先杀死进程

sh mqshutdown broker   #关闭服务命令
sh mqshutdown namesrv

重启broker 注意 -c broker.conf 重新加载配置文件

nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &  #rocketmq目录启动,注意 bin/mqbroker

访问localhost:7777

java rocket mq 工具类_java rocket mq 工具类_14

OK,安装完成
帮到你就点个赞吧