服务名称:Linux
服务器
IP:[请查看资源分配文档]
操作系统:CentOS 7.8 x64
下载地址:rocketmq.apache.org/dowloading/…
这里,咋们下载4.8.0版本
把rocketmq-all-4.8.0-bin-release.zip
上传到/opt/tools
目录下并解压并重命名
# cd /opt/tools # unzip -d /opt/apps/ rocketmq-all-4.8.0-bin-release.zip # cd /opt/apps/ # mv rocketmq-all-4.8.0-bin-release rocketmq-4.8.0
# vi /etc/profile
在文件末尾添加以下内容:
#rocketmq env export ROCKETMQ_HOME=/opt/apps/rocketmq-4.8.0 export PATH=$PATH:$ROCKETMQ_HOME/bin
使修改生效:
# source /etc/profile
# mkdir -p /opt/apps/rocketmq-4.8.0/store/{store,commitlog,consumequeue,index} # mkdir /opt/apps/rocketmq-4.8.0/logs
备份原配置文件
# cd /opt/apps/rocketmq-4.8.0/conf # mv broker.conf broker.conf.bak # vi broker.conf
添加以下内容:
#ip为服务器内网地址,port可自由设置一般为9876 namesrvAddr=xxx.xxx.x.xx:9876 messageIndexSafe=true #是否允许Broker 自动创建。Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true waitTimeMillsInSendQueue=5000 #发送消息线程池数量 sendMessageThreadPoolNums=64 useReentrantLockWhenPutMessage=true defaultReadQueueNums = 16 defaultWriteQueueNums = 16 #ip设置外网ip,不需要连接外网的话,可以在参数前面加#注释掉 #brokerIP1=ip(外网ip) #默认值为DefaultCluster,可以修改为broker所属的哪个集群 brokerClusterName=DefaultCluster #原始值为本机主机名,Broker名称 brokerName=broker-a #BrokerId,必须是大等于 0 的整数,0 表示Master,>0 表示 Slave,一个 Master 可以挂多个 Slave,Master 与 Slave通过 BrokerName 来配对,原始值为0 brokerId=0 deleteWhen=04 fileReservedTime=48 brokerRole=ASYNC_MASTER flushDiskType=ASYNC_FLUSH #port可自由设置,一般设置10911 listenPort=10911 storePathRootDir=/opt/apps/rocketmq-4.8.0/store storePathCommitLog=/opt/apps/rocketmq-4.8.0/store/commitlog storePathConsumeQueue=/opt/apps/rocketmq-4.8.0/store/consumequeue storePathIndex=/opt/apps/rocketmq-4.8.0/store/index
修改启动脚本参数,根据自己linux的配置进行调整:
# vi /opt/apps/rocketmq-4.8.0/bin/runbroker.sh
调整以下内容:
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"
注意:Xms和Xmx至少是1G 否则启动不起来 Xmn一般是前者的一半,这边设置的内存不能大于机器实际的内存,根据实际情况调整
# vi /opt/apps/rocketmq-4.8.0/bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"
注意:Xms和Xmx至少是1G 否则启动不起来 Xmn一般是前者的一半,这边设置的内存不能大于机器实际的内存,根据实际情况调整
# nohup sh mqnamesrv > /opt/apps/rocketmq-4.8.0/logs/mqnamesrv.log 2>&1 &
验证是否启动成功
# tail -f /opt/apps/rocketmq-4.8.0/logs/mqnamesrv.log
# jps
# nohup sh mqbroker -c /opt/apps/rocketmq-4.8.0/conf/broker.conf >/opt/apps/rocketmq-4.8.0/logs/broker.log 2>&1 &
验证是否启动成功
# tail -f /opt/apps/rocketmq-4.8.0/logs/broker.log
# jps
# sh mqshutdown broker
备注:停止这个任务时不能用kill,如果用kill的话,重新启动的话,broker是启动不了的。
# sh mqshutdown namesrv
备注:停止这个任务时不能用kill,如果用kill的话,重新启动的话,broker是启动不了的。
启动9876、10911端口
# firewall-cmd --permanent --add-port=9876/tcp # firewall-cmd --permanent --add-port=10911/tcp
重启防火墙
# systemctl restart firewalld
这里,rocketmq
提供了可视化客户端,就是rocketmq-console-ng
下载地址
mvn clean package -Dmaven.test.skip=true
如果你下载依赖慢,可以配置一下maven仓库地址,修改
maven
的settings.xml
文件
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
打包成功后,可以看到target
下,生成rocketmq-console-ng-1.0.0.jar
启动即可:
java -jar target/rocketmq-console-ng-1.0.0.jar --server.port=7777 --rocketmq.config.namesrvAddr=xxxx:9876
- server.port是指定启动端口
- rocketmq.config.namesrvAddr是指定rocketmq的nameserver地址
可以看到启动成功!!!
rocketmq
的可视化客户端
好了,rocketmq
部署成功,可视化客户端
部署成功!!!