RocketMQ集群配置

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中:

扫描二维码关注公众号,回复: 15719810 查看本文章
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命令中指定相应的文本。

猜你喜欢

转载自blog.csdn.net/u011197085/article/details/131546629