最近想自学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/
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 & #后台运行
会发现直接退出了,找找问题
查看日志发现 Cannot allocate memory 无法分配内存?
再看下rocketmq的启动配置
vi runbroker.sh
标红处说实话我还没有百度具体到底是什么意思。。。哪位大佬补充下?
做如下修改
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=1g"
同理,修改 runbroker.sh
之后在启动
nohup ./mqnamesrv &
这就是启动成功了,也可以查看日志 ,包含The Name Server boot success…字样
tail -f ~/logs/rocketmqlogs/namesrv.log
启动broker
nohup ./mqbroker -n localhost:9876 &
也可以去对应日志查看success字样
5、测试
启动两个终端
生产者执行命令
export NAMESRV_ADDR=localhost:9876
./tools.sh org.apache.rocketmq.example.quickstart.Producer
消费者执行命令
export NAMESRV_ADDR=localhost:9876
./tools.sh org.apache.rocketmq.example.quickstart.Consumer
sh mqshutdown broker #关闭服务命令
sh mqshutdown namesrv
3、RocketMq控制台安装
1、下载
https://github.com/apache/rocketmq-externals/releases
下载rocketmq-console-1.x.x
2、修改配置文件 rocketmq-console\src\main\resources\application.properties,修改完成,保存
server.port=7777 #项目启动后的端口号
#自己虚拟服务器 ip 地址
rocketmq.config.namesrvAddr=192.168.42.241:9876
#nameserv 的地址,注意防火墙要开启 9876 端口
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.
把下方的插件注掉
4、启动jar包
java -jar rocketmq-console-ng-1.0.0
启动报错 org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <172.18.0.1:10909> failed
这是由于跨域造成的:
修改服务器中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
OK,安装完成
帮到你就点个赞吧