针对消息中间件,我们可能最常用的是rabbit MQ,kafka,Rocket MQ这几种,每个中间件都有各自特点,都有不同的应用场景,以前的文章有针对rabbit mq的安装和使用,就想的写一个针对linux下如何去安装rocket mq服务,使用会在后面的文章添加。
环境准备
- linux 64 bit 1核 1G 运行内存
- rocketmq-all-4.7.1
- apache-maven-3.6.3
- jdk1.8.0_281
linux 安装maven
(1)拉取maven镜像 注:我们使用清华的镜像地址
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
(2)解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
(3)修改conf/setting.xml
- 更换为阿里云的仓库地址
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
- 修改本地仓库地址
/usr/local/maven/SoftWare/repo
(4)配置环境变量
- 修改vim /etc/profile 文件,追加如下代码
MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
- 生效 source /etc/profile
linux 安装rocket mq
先在linux目录下新建rockermq文件夹然后执行以下操作:/usr/local/rocketMQ/
(1)下载镜像
wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.7.1.tar.gz
(2)解压
tar -zxvf rocketmq-all-4.7.1.tar.gz
(3)在解压后的下级目录下编译rocket MQ
mvn -Prelease-all -DskipTests clean install -U
(4)配置环境变量 vim /etc/proflie
export rocketmq=/usr/local/rocketMQ/rocketmq-rocketmq-all-4.7.1
export PATH=$PATH:$rocketmq/bin
启动rocketMQ
(1)进入编译后的目录
/usr/local/rocketMQ/rocketmq-rocketmq-all-4.7.1/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1
(2)修改启动shell文件环境配置大小 注:在bin目录下
- runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
- runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m"
(3)启动mqnamesrv 服务
nohup sh bin/mqnamesrv > output 2>&1 &
(4)启动broker服务
nohup sh bin/mqbroker -n 服务器IP:9876 -c conf/broker.conf autoCreateTopicEnable=true > output 2>&1 &
注意:可以将output这个文件修改成自己对应的文件
/usr/local/mq/rocketmq/nameserver.log
/usr/local/mq/rocketmq/broker.log
(5)查看是否启动成功
查看文件输出文件:/usr/local/mq/rocketmq/broker.log
The broker[broker-a, 172.18.0.1:10911] boot success. serializeType=JSON and name server is 49.234.123.99:9876
(6)关闭broker / nameserver
sh bin/mqshutdown broker //停止 broker
sh bin/mqshutdown namesrv //停止 nameserver
启动java代码时程序会出现异常主要处理方式
-
修改broker.conf 配置文件
添加如下配置:
然后正常使用上面的启动命令启动就可以了!!!
- 生产者无法发送消息
代码中添加:
producer.setVipChannelEnabled(false);
- 安全组或者防火墙没有开启端口
10909/10911/9876
添加rocketMQ 前端插件
(1)下载rocketmq-console代码
https://github.com/apache/rocketmq-externals.git
下载代码进入 rocketmq-console
(2)修改 配置文件
rocketmq.config.namesrvAddr=49.234.123.99:9876
(3)package 打包成jar包并启动
nohup java -jar rocketmq-console-ng-2.0.0.jar >output 2>&1 &
(4)访问 49.234.123.99:9001
9001 为rocketmq-console-ng-2.0.0.jar 配置端口
如下图所示: