RocketMQ集群配置

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。RocketMQ集群配置,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

RocketMQ默认的端口号如下:

  1. Namesrv:9876
  2. Broker:10911

请注意,这些是默认的端口,你可以在RocketMQ的配置文件中修改这些端口。同时,如果你运行了多个broker实例或namesrv实例,那么每个实例需要使用不同的端口。

两个Namesrv实例,还有2对 Broker实例主和备,该怎么配置?
在这种情况下,你可以分别为每个Broker实例创建一个配置文件,并在每个文件中指定相应的Namesrv地址、Broker名称和角色(Master或Slave)。

以下是具体步骤:

1. Namesrv实例

Namesrv没有特定的配置文件,所有配置都是在启动命令中指定的。如果你想要运行多个Namesrv实例,你只需要为每个实例指定不同的端口号。例如:

nohup sh mqnamesrv -n localhost:9876 > namesrv1.log 2>&1 &
nohup sh mqnamesrv -n localhost:9877 > namesrv2.log 2>&1 &

在这个例子中,我们启动了两个Namesrv实例,分别监听9876和9877端口。

2. Broker实例

对于Broker实例,你可以在RocketMQ的conf目录下创建4个新的配置文件,例如:

  • broker-a-master.properties
  • broker-a-slave.properties
  • broker-b-master.properties
  • broker-b-slave.properties

然后在每个配置文件中添加相应的内容。

例如,在broker-a-master.properties中:

brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
autoCreateTopicEnable=true
namesrvAddr=localhost:9876;localhost:9877

broker-a-slave.properties中:

brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
autoCreateTopicEnable=true
namesrvAddr=localhost:9876;localhost:9877

同样的,你也需要为broker-b配置对应的master和slave配置。

然后,你可以使用以下命令分别启动这4个Broker实例:

nohup sh mqbroker -c ../conf/broker-a-master.properties > broker-a-master.log 2>&1 &
nohup sh mqbroker -c ../conf/broker-a-slave.properties > broker-a-slave.log 2>&1 &
nohup sh mqbroker -c ../conf/broker-b-master.properties > broker-b-master.log 2>&1 &
nohup sh mqbroker -c ../conf/broker-b-slave.properties > broker-b-slave.log 2>&1 &

注意,每个Broker实例都需要一个独立的配置文件,且brokerNamebrokerId应该是唯一的。在每对Master和Slave中,brokerName应该相同,而brokerId在Master中应为0,在Slave中应为1。

以上命令假定你在RocketMQ的bin目录中运行。如果你在其他位置运行,你可能需要修改命令中的路径。

另外,如果你想要在后台运行这些命令,你可以使用nohup命令,并将输出重定向到一个日志文件,如上面命令中的namesrv1.lognamesrv2.logbroker-a-master.log,`broker-a-slave

在Linux系统中,你可以使用ps命令查看正在运行的RocketMQ Namesrv和Broker实例。以下是如何使用这个命令:

  1. 打开命令行窗口。

  2. 输入以下命令来查看正在运行的Namesrv实例:

ps -ef | grep mqnamesrv

如果Namesrv实例正在运行,你将看到类似以下的输出:

root     12345     1  0 Jun21 ?        00:00:00 sh mqnamesrv
  1. 输入以下命令来查看正在运行的Broker实例:
ps -ef | grep mqbroker

如果Broker实例正在运行,你将看到类似以下的输出:

root     23456     1  0 Jun21 ?        00:00:00 sh mqbroker -c ../conf/2m-noslave.properties

在这些命令的输出中,你可以看到启动Namesrv和Broker的命令,以及关联的进程ID。

对于你的特定情况,你需要看到两个Namesrv实例和四个Broker实例(每个Broker一对主从)。

请注意,你可能需要根据实际的Namesrv和Broker配置调整这些命令。例如,如果你使用了不同的配置文件或者命令选项,那么你需要在grep命令中指定相应的文本。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/181601.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!