---问题---
有同事提出各个问题:如何修改RocketMQ的NameServer端口号?(默认:9876)
---结论---
调查并验证之后,结论及过程如下:
验证版本:rocketmq-all-4.2.0
NameServer启动的时候会根据【业务参数】及【网络参数】来指定NameServer的启动选项:
NameServerStartUp源码(NameServer启动)
https://github.com/apache/rocketmq/blob/master/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup.java
NamesrvConfig源码【业务参数】
https://github.com/apache/rocketmq/blob/master/common/src/main/java/org/apache/rocketmq/common/namesrv/NamesrvConfig.java
NettyServerConfig源码【网络参数】
https://github.com/apache/rocketmq/blob/master/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyServerConfig.java
这两个类中的属性都是可以通过配置文件来修改的。
配置方式:使用-c configfile。即通过-c命令指定配置文件的路径。
命令样例:nohup sh /home/qch/rocketmq-all-4.2.0/bin/mqnamesrv -c /home/qch/rocketmq-all-4.2.0/conf/namesrv.properties > /home/qch/rocketmq-all-4.2.0/logs/mqnamesrv.log 2>&1 &
---验证过程---
配置文件:
增加namesrv.properties的配置文件。(文件名任意,我使用namesrv.txt也一样验证通过了)
文件内容:
listenPort=5432
启动命令:
nohup sh /home/qch/rocketmq-all-4.2.0/bin/mqnamesrv -c /home/qch/rocketmq-all-4.2.0/conf/namesrv.properties > /home/qch/rocketmq-all-4.2.0/logs/mqnamesrv.log 2>&1
验证结果:
用下面的命令尝试连接NameServer,结果正常。
sh /home/qch/rocketmq-all-4.2.0/bin/mqadmin clusterList -n "192.168.79.80:5432;192.168.79.81:5432"
--END--