Linux下安装RocketMQ安装
一、环境说明:
1、jdk(需要jdk编译,jre只是运行环境)
2、maven
3、centOS( 64bit OS,可以参考 CentOS 7安装)
二、RocketMQ 下载
Apache 官方下载网址:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.3.0/rocketmq-all-4.3.0-source-release.zip
三、安装过程
1、用ftp工具把下载的压缩包上传到虚拟机上,放到 /usr/local 目录下
2、解压
解压 unzip rocketmq-all-4.3.0-source-release.zip
解压后生成 rocketmq-all-4.3.0 文件夹
[root@centos02 user02]# cd /usr/local
[root@centos02 local]# pwd
/usr/local
[root@centos02 local]# ls
bin games lib libexec sbin src
etc include lib64 rocketmq-all-4.3.0-source-release.zip share
[root@centos02 local]# unzip rocketmq-all-4.3.0-source-release.zip
3、编译
进入 解压后的文件夹 rocketmq-all-4.3.0,使用maven编译项目 ,命令 mvn -Prelease-all -DskipTests clean install -U
如果没有安装maven 使用mvn命令会报错如下,安装maven 请参考 Linux下安装maven
如果没有安装JDK 会报错如下,安装JDK 请参考 Linux下安装JDK
经过漫长的下载资源,编译,如下图编译成功
4、查看防护墙开放的端口
查看防护墙开放的端口,此时没有 9876,需要设置防火墙开放9876 端口,修改配置后,必须重新加载才能生效,再次查看防火墙开放的端口,此时已有 9876
[root@centos02 apache-rocketmq]# firewall-cmd --zone=public --list-ports
[root@centos02 apache-rocketmq]# firewall-cmd --zone=public --add-port=9876/tcp --permanent
success
[root@centos02 apache-rocketmq]# firewall-cmd --reload
usage: see firewall-cmd man page
firewall-cmd: error: unrecognized arguments: --reload
[root@centos02 apache-rocketmq]# firewall-cmd --reload
success
[root@centos02 apache-rocketmq]# firewall-cmd --zone=public --list-ports
9876/tcp
[root@centos02 apache-rocketmq]#
5、rocketmq的启动
进入 distribution/target/apache-rocketmq 目录
[root@centos02 apache-rocketmq]# pwd
/usr/local/rocketmq-all-4.3.0/distribution/target/apache-rocketmq
[root@centos02 apache-rocketmq]#
启动的时候先启动 namesrv,然后启动 broker
5.1 启动namesrv
命令 : nohup sh bin/mqnamesrv &
查看启动日志 : tail -f ~/logs/rocketmqlogs/namesrv.log
日志看到 The Name Server boot success. serializeType=JSON
说明启动成功了
[root@centos02 apache-rocketmq]# nohup sh bin/mqnamesrv &
[1] 11542
[root@centos02 apache-rocketmq]# nohup: ignoring input and appending output to ‘nohup.out’
[root@centos02 apache-rocketmq]#
[root@centos02 apache-rocketmq]# tail -f ~/logs/rocketmqlogs/namesrv.log
2019-05-05 15:48:59 INFO main - tls.client.keyPath = null
2019-05-05 15:48:59 INFO main - tls.client.keyPassword = null
2019-05-05 15:48:59 INFO main - tls.client.certPath = null
2019-05-05 15:48:59 INFO main - tls.client.authServer = false
2019-05-05 15:48:59 INFO main - tls.client.trustCertPath = null
2019-05-05 15:48:59 INFO main - Using OpenSSL provider
2019-05-05 15:49:00 INFO main - SSLContext created for server
2019-05-05 15:49:00 INFO NettyEventExecutor - NettyEventExecutor service started
2019-05-05 15:49:00 INFO main - The Name Server boot success. serializeType=JSON
2019-05-05 15:49:00 INFO FileWatchService - FileWatchService service started
5.2 启动broker
bin/runbroker.sh
文件中 修改 JVM 配置下的第一行,将原来 8g 调小一点,我改成了 -Xms1024m -Xmx1024m -Xmn512m
-
然后启动broker,命令 :
nohup sh bin/mqbroker -n localhost:9876 &
-
查看启动日志 ,命令:
tail -f ~/logs/rocketmqlogs/broker.log
-
看到
register broker to name server localhost:9876 OK
说明启动broker成功了
6、测试消息发送与接受
6.1 发送
先执行命令:export NAMESRV_ADDR=localhost:9876
再执行命令 :sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
看到发送了很多消息
6、2 接收
执行命令:sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
看到接收到的消息