共计 2260 个字符,预计需要花费 6 分钟才能阅读完成。
一、下载安装 MQ
1、下载 MQ 解压安装包
mkdir /usr/rocketmq
cd /usr/rocketmq
wget https://archive.apache.org/dist/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip
unzip rocketmq-all-4.7.1-bin-release.zip
2、下载解压 JDK
wget https://repo.huaweicloud.com/java/jdk/8u181-b13/jdk-8u181-linux-x64.tar.gz
tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/jdk
# 配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 重新加载配置
source /etc/profile
java -version
3、然后进入 rocketmq-all-4.7.1-bin-release 文件夹
cd rocketmq-all-4.7.1-bin-release
二、NameServer
1、为了避免内存不够,建议修改小,当然,如果内存足够大,可以忽略。
根据实际情况修改 jvm 参数:
-server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=50mvi bin/runserver.sh
2、修改完之后,执行如下命令就可以启动 NameServer 了
nohup sh bin/mqnamesrv &
3、查看日志,如果看到如下的日志,就说明启动成功了
tail -f ~/logs/rocketmqlogs/namesrv.log

三、Broker
1、修改 jvm 参数,根据实际情况修改
vi bin/runbroker.sh

2、改 Broker 配置文件,需要指定 NameServer 的地址,因为需要 Broker 需要往 NameServer 注册
vi conf/broker.conf
namesrvAddr:因为 NameServer 跟 Broker 在同一台机器,所以是 localhost,NameServer 端口默认的是 9876。如果是不同机器部署,迁移后需要注意修改。
brokerIP1: 因为 Broker 向 NameServer 进行注册的时候,带过去的 ip 如果不指定就会自动获取,但是自动获取的有个坑,就是有可能无法访问到这个自动获取的 ip,所以建议手动指定服务器可以访问到的服务器 ip

3、启动 brokernohup
sh bin/mqbroker -c conf/broker.conf &
4、查看日志
tail -f ~/logs/rocketmqlogs/broker.log

四、搭建可视化控制台
1、下载 jar 包
rocketmq-console-ng-1.0.1.jar_免费高速下载 | 百度网盘 - 分享无限制 (baidu.com)
提取码:s0sd

2、启动 rocketmq-console
nohup java -jar -server -Xms256m -Xmx256m -Drocketmq.config.namesrvAddr=localhost:9876 -Dserver.port=8088 rocketmq-console-ng-1.0.1.jar &
然后在浏览器中输入 http://linux 服务器的 ip:8088/ 就可
3、查看日志
tail -f ~/logs/consolelogs/rocketmq-console.log
五、rsync 迁移数据
1、全量本地拉取源文件
#mq 安装目录
rsync -avz --progress -e "ssh -p 23813" root@172.16.0.190:/usr/rocketmq /usr/
#mq 默认数据路径
rsync -auz --inplace -e "ssh -p 23813" root@172.16.0.190:/root/store /root
# 默认 log
rsync -auz --inplace -e "ssh -p 23813" root@172.16.0.190:/root/logs /root
2、修改 beoker 配置文件
如果 namesrvAddr 不是 localhost,那么 rsync 后需要修改为目标端的 NameServer 地址,brokerIP 对应修改为目标端的地址

3、启动目标端 mq
# 启动 NameServer
nohup sh bin/mqnamesrv &
#broker
nohup sh bin/mqbroker -c conf/broker.conf &
4、登录目标端控制台查看 topic 数据


4、验证全量数据无误后,停止目标端 mq-beoker 服务
# 停止 NameServer
sh bin/mqshutdown namesrv
# 停止 broker
sh bin/mqshutdown broker
5、rsync 拉取增量数据
rsync -auz --inplace -e "ssh -p 23813" root@172.16.0.190:/root/store /root
6、启动目标端 beoker 服务
#broker
nohup sh bin/mqbroker -c conf/broker.conf &
7、验证目标端的增量数据
