修改RocketMQ的NameServer端口

---问题---

有同事提出各个问题:如何修改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--

posted @ 2018-06-28 09:43  大墨垂杨  阅读(7626)  评论(0编辑  收藏  举报