Linux centos 7.6安装RocketMQ4.2.0及控制台

准备环境

 

【1】环境准备

RocketMQ依赖于java及maven,所以要先安装。

java安装参考:https://www.cnblogs.com/yyee/p/14570661.html

maven安装参考:https://www.cnblogs.com/yyee/p/14583297.html

下载RocketMQ

【2】下载Rocketmq

rocketmq各版本下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/

目前最新牌本4.8.0,一个源码下载包,一个编译好的二进制下载包,使用wget下载二进制版本:

wget https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip

下载 源码版本:

wget https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.8.0/rocketmq-all-4.8.0-source-release.zip

 

 

 

进去下载4.8.0

 

安装RocketMQ

 【3】解压

unzip -d /opt/  /tools/rocketmq/rocketmq-all-4.8.0-bin-release.zip

 

【4】使用maven打包

我这里是下载编译好的二进制版本,所以不需要打包。

如果下载的是RocketMQ源码就要打包,打包命令如下:

cd /opt/rocketmq-all-4.8.0-bin-release/
mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/apache-rocketmq

 

【5】修改配置

RocketMQ默认需要8G的内存,我用的是虚拟机,哪有 8G的内存,所以把内存配置改一下,需要修改两个文件。

(1)修改bin/runserver.sh文件

vi bin/runserver.sh
#找到这一句
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
#改成你想要的配置
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

 (修改前)

 

(修改后)

 

 (2)修改bin/runbroker.sh

vi bin/runbroker.sh
#找到这一句
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
#修改成你想要的配置
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"

 (修改前)

 

(修改后) 

 

如果不修改默认的内存配置,启动mqnameserver或broker的时候会输出错误:

Native memory allocation (malloc) failed to allocate 8589934592 bytes for committing reserved memory.

因为分配的内存超过了虚拟机的内存。

 

  【6】配置环境变量

vim /etc/profile

# 将如下配置加到/etc/profile文件的最后一行
export NAMESRV_ADDR=127.0.0.1:9876

 

【7】启动Name Server

#启动name server
cd /opt/rocketmq-all-4.8.0-bin-release/bin
nohup sh mqnamesrv &
#查看启动日志
cat nohup.out
#或者查看日志 tail -f ~/logs/rocketmqlogs/namesrv.log

 

有输出 The Name Server boot success. serializeType=JSON 这一行信息,表示启动成功。

Name Server的默认端口为9876,运行sh bin/mqnamesrv -p可查看Name Server的配置项,并可通过-c namesrv.conf方式指定配置文件启动;

#指定配置文件启动
nohup sh bin/mqnamesrv -c namesrv.conf >/dev/null 2>&1 &

 

【8】启动Broker

#启动mqbroker
cd /opt/rocketmq-all-4.8.0-bin-release/bin
nohup sh mqbroker -n localhost:9876 & 
#查看启动日志
cat nohup.out
#或者查看日志 tail -f ~/logs/rocketmqlogs/broker.log 

 

有输出 The broker[dfc200, 10.10.61.200:10911] boot success. serializeType=JSON and name server is localhost:9876 这一句信息表示启动成功。

 

可以通过下面的命令查看 RocketMQ进程信息

ps -aux | grep  rocketmq
ps -ef | grep rocketmq

 

【9】 执行测试
建议分别打开两个不同的窗口用于生产者与消费者。

# 发送消息 
# 1. 在发送/接收消息之前,我们需要告诉客户名称服务器的位置,RocketMQ 提供了多种方法来实现这一点。(默认可以不设置)
export NAMESRV_ADDR=localhost:9876 # 

2.使用安装包的Demo发送消息 sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer 

# 接收消息 
# 1.设置环境变量(默认可以不设置)
 export NAMESRV_ADDR=localhost:9876 # 

2.接收消息 
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

 

【10】查看rockemq的端口9876是否监听

netstat -ano |grep 9876

 

 【11】关闭服务,常用命令

sh bin/mqshutdown broker    //停止 broker
sh bin/mqshutdown namesrv   //停止 nameserver
./mqadmin clusterList -n 127.0.0.1:9876 #查看集群情况
./mqadmin brokerStatus -n 127.0.0.1:9876 -b 10.10.61.200:10911 #查看 broker 状态  (注意换成你的 broker 地址)
./mqadmin topicList -n 127.0.0.1:9876 #查看 topic 列表 
./mqadmin topicStatus -n 127.0.0.1:9876 -t MyTopic #查看 topic 状态  (换成你想查询的 topic)
./mqadmin topicRoute -n 127.0.0.1:9876 -t MyTopic #查看 topic 路由 

 

安装RocketMQ控制台

【12】安装git

查看git是否安装

git -version

 

如果没有安装,先安装git

sudo yum -y install git

 

从GitHub上克隆一个RocketMQ控制台。

cd /tools
git clone https://github.com/apache/rocketmq-externals.git

 

修改rocketmq控制台端口,默认端口为8080,如果想用其它端口可以根据需求修改。

#进入到控制台项目的文件夹下rocketmq-console
cd /opt/rocketmq-externals/rocketmq-console
vi src/main/resources/application.properties

修改你想要监听的端口,默认端口为8080

#监听端口
server.port=8080
#rocketmq服务器地址,如果有多个地址,地址间用分号隔开rocketmq.config.namesrevAddr=10.10.61.200:9876;10.10.61.201:9876
rocketmq.config.namesrevAddr=10.10.61.200:9876
#isVIPChannel设为false
rocketmq.config.isVIPChannel=false
#数据目录可以自己定义
rocketmq.config.dataPath=/tmp/rocketmq-console/data

 

 

  添加防火墙端口 9876与8080,可以让外面访问。

firewall-cmd --add-port=8080/tcp --permanent 
firewall-cmd --add-port=9876/tcp --permanent 

 

用maven编译jar包,编译需要较长时间,请耐心等待。然后运行jar文件。

mvn clean package -Dmaven.test.skip=true
java -jar target/rocketmq-console-ng-2.0.0.jar --rocketmq.config.namesrvAddr=‘10.10.61.169:9876

 

启动成功会输出如下信息: 

 

 然后在浏览器地址栏输入 10.10.61.200:8080查看控制台,访问控制台默认不需要密码。

 

posted @ 2021-03-29 13:59  民工黑猫  阅读(564)  评论(0编辑  收藏  举报