Linux下RocketMQ服务端和客服端安装
安装条件
- jdk 1.8+
- Maven 3.0.5
- .64位Linux系统
下载和安装
- 使用xshell将下载的安装包上传到linux系统
安装:yum install lrzsz
命令:rz (enter确认弹出选择文件)
2.安装jdk和mavn
在usr/local目录下新建一个java文件夹:mkdir java
通过lrzsz上传jdk和mavn的安装包,并解压
tar -zxvf apache-maven-3.0.5-bin.tar.gz
tar -zxvf jdk-8u151-linux-x64.tar.gz
配置环境变量
vim /etc/profile
安装成功的标志
3.rocketmq服务端安装
服务安装包下载地址:
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip 或直接进入官网选择要安 装的版本
客服端下载地址:
https://github.com/apache/rocketmq-externals
在usr/local目录下新建一个mq文件夹:mkdir mq
将两个安装包上传到mq文件夹并解压
yum install -y unzip zip 前提是:unzip解压文件无法使用
unzip rocketmq-all-4.2.0-source-release.zip
unzip rocketmq-externals-master.zip
cd rocketmq-all-4.2.0/
mvn -Prelease-all -DskipTests clean install -U
构建成功后
在mq目录下新建一个rocketmqlogs的日志文件夹:mkdir rocketmqlogs
进入到目录 :
cd distribution/target/apache-rocketmq/bin
启动nameserver
nohup sh mqnamesrv >/usr/local/mq/rocketmqlogs/mqnamesrv.log 2>&1 &
查看mqnamesrv.log日志,此时若出现以下情况
调整distribution/target/apache-rocketmq/bin目录下的runbroker.sh 和 runserver.sh的参数
再次启动nameserver
启动broker
nohup sh mqbroker -n localhost:9876 >/usr/local/mq/rocketmqlogs/broker.log 2>&1 &
注意:这样启动外网是无法访问的,客服端访问会出现:
Exception in thread "main"
org.apache.rocketmq.remoting.exception.RemotingConnectException:
connect to <172.16.74.201:10911> failed
解决方案:
修改conf下的配置文件broker.conf,并修改启动命令
vim broker.conf
Ip地址为阿里云的外网IP
修改后执行启动broker命令:
nohup sh bin/mqbroker -c conf/broker.conf &
启动成功后的标志
测试发送消息
在发送/接收消息之前,我们需要告诉客户名称服务器的位置。为了简单起见,我们使用环境变量NAMESRV_ADDR
export NAMESRV_ADDR=localhost:9876
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
接收消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
出现以上两种信息则标志发送和接收消息都是ok的
关闭服务器与启动服务的顺序是相反的
停止broker
sh mqshutdown broker
停止namerserver
sh mqshutdown namesrv
关闭成功的标志
4.安装web客服端
进入rocketmq-externals-master目录
修改配置文件(/rocketmq-externals-master/目录下)
find -name application.properties 可以查看到两个文件都在rocketmq-console文件目录下
vim application.properties
添加配置:rocketmq.config.namesrvAddr=172.16.31.235:9876
(IP地址为阿里云内网地址,端口号设置为9876)
保存并退出
编译(进入rocketmq-externals-master/rocketmq-console/目录下)
mvn clean package -Dmaven.test.skip=true
编译成功后,在rocketmq-console目录下会生成一个目录:target目录,该目录下有启动rocketmq界面的jar文件
启动客服端
第一种(启动 ---当终端断了该服务就会停止):
java -jar rocketmq-console-ng-1.0.0.jar
第二种(后台启动 --当终端断了也不会停止服务):
nohup java -jar rocketmq-console-ng-1.0.0.jar >>/usr/local/mq/rocketmqlogs/log.out 2>&1 &
启动成功后(访问客服端,服务端端口若未开放,则外网不能访问)