物流企业网站源码,园区网站建设目的,wordpress 静态主页,x域名免费网站在当今大数据时代#xff0c;消息队列系统成为了构建高可用、可扩展和可靠的分布式应用的重要组件之一。而Apache RocketMQ作为一款开源的分布式消息中间件#xff0c;以其高吞吐量、低延迟和可靠性而备受青睐。为了满足大规模应用的需求#xff0c;搭建RocketMQ集群是一种常…在当今大数据时代消息队列系统成为了构建高可用、可扩展和可靠的分布式应用的重要组件之一。而Apache RocketMQ作为一款开源的分布式消息中间件以其高吞吐量、低延迟和可靠性而备受青睐。为了满足大规模应用的需求搭建RocketMQ集群是一种常见的部署方式。
本文将介绍如何在Linux系统上搭建RocketMQ双主双从集群。通过搭建双主双从集群我们可以实现消息的高可用性和容错性确保在单个Broker节点故障时仍能保持服务的正常运行。
首先让我们了解一下RocketMQ集群的基本概念。RocketMQ集群由多个Broker节点组成每个节点负责存储和传递消息。在双主双从集群中我们将集群划分为两个主节点和两个从节点。主节点负责接收和处理消息的写入请求而从节点则负责复制主节点的消息并提供读取请求的服务。通过这种方式我们可以实现消息的冗余备份和负载均衡提高系统的可用性和性能。
这次我们要搭建的是双主双从集群异步除了这种集群官方还支持以下几种集群方式
集群搭建方式冗余备份同步方式写入性能数据一致性可用性链接单主单从集群无无高低低【Spring Cloud Alibaba】Linux安装RocketMQ多主多从集群有无高低高双主双从集群异步有异步高低高双主双从集群同步有同步低高高
从上表可以看出不同的集群搭建方式在冗余备份、同步方式、写入性能、数据一致性和可用性等方面存在差异。
冗余备份单主单从集群没有冗余备份其他集群搭建方式都有冗余备份。同步方式双主双从集群异步模式是异步复制而双主双从集群同步模式和其他集群搭建方式是同步复制。写入性能单主单从集群和多主多从集群具有较高的写入性能而双主双从集群异步模式的写入性能也较高但双主双从集群同步模式的写入性能较低。数据一致性双主双从集群同步模式具有较高的数据一致性其他集群搭建方式的数据一致性较低。可用性多主多从集群和双主双从集群异步和同步模式具有较高的可用性而单主单从集群的可用性较低。
需要根据具体的业务需求和性能要求来选择适合的集群搭建方式。如果对于消息的可用性要求较高可以选择多主多从集群或双主双从集群。如果对于写入性能要求较高可以选择单主单从集群或双主双从集群异步模式。如果对于数据一致性要求较高可以选择双主双从集群同步模式。
这次的搭建我们需要准备以下的服务器环境:
ip角色名称192.168.65.130从Linux003192.168.65.131从Linux004192.168.65.132主Linux001192.168.65.133主Linux002 文章目录 第一步安装前的准备第二步启动NameServer第三步编辑双主节点配置文件Linux001:Linux002:Linux003Linux004 第四步启动BrokerLinux001:Linux002:Linux003:Linux004: 第五步验证成果 第一步安装前的准备
安装的这些步骤博主原来都写过。 安装jdkLinux安装Java环境OracleJDK 安装并解压rockemq【Spring Cloud Alibaba】Linux安装RocketMQ 关闭四台服务器的防火墙 systemctl stop firewalld.service 第二步启动NameServer
我们使用下面两台机器作为NameServer的集群
ip角色名称192.168.65.132主Linux001192.168.65.133主Linux002
两台机器执行一样的操作
运行bin文件夹里面的mqnamesrv脚本
sh mqnamesrv出现下面语句则启动成功
The Name Server boot success. serializeTypeJSON编写启动脚本后台运行
vim startupmqnamesrv.sh添加内容如下
nohup sh bin/mqnamesrv 运行启动脚本即可后台运行 第三步编辑双主节点配置文件
配置文件描述分配broker-a.propertiesBroker A主节点的配置文件用于配置Broker A节点的相关参数和属性。Linux001broker-a-s.propertiesBroker A从节点的安全配置文件用于配置Broker A节点的安全相关参数和属性。Linux003broker-b.propertiesBroker B主节点的配置文件用于配置Broker B节点的相关参数和属性。Linux002broker-b-s.propertiesBroker B从节点的安全配置文件用于配置Broker B节点的安全相关参数和属性。Linux004
Linux001: vim 2m-2s-async/broker-a.properties 配置NameServer的地址为
namesrvAddr192.168.65.132:9876;192.168.65.133:9876brokerClusterNameDefaultCluster指定Broker所属的集群名称这里设置为DefaultCluster。brokerNamebroker-a指定Broker的名称这里设置为broker-a。brokerId0指定Broker的唯一标识符这里设置为0。deleteWhen04指定消息文件的删除时间这里设置为04表示消息文件在存储超过4天后会被删除。fileReservedTime48指定消息文件的保留时间这里设置为48表示消息文件在不活动超过48小时后会被删除。brokerRoleASYNC_MASTER指定Broker的角色这里设置为ASYNC_MASTER表示该Broker是双主双从集群中的异步主节点。flushDiskTypeASYNC_FLUSH指定消息刷盘方式这里设置为ASYNC_FLUSH表示消息异步刷盘到磁盘。namesrvAddr192.168.65.132:9876;192.168.65.133:9876指定NameServer的地址这里设置了两个NameServer的地址分别是192.168.65.132:9876和192.168.65.133:9876。
Linux002:
vim 2m-2s-async/broker-b.properties Linux003
vim 2m-2s-async/broker-a-s.propertiesLinux004
vim 2m-2s-async/broker-b-s.properties第四步启动Broker
Linux001:
vim startupmqbroker.shnohup sh bin/mqbroker -c /opt/rocketmq/rocketmq-all-4.9.1-bin-release/conf/2m-2s-async/broker-a.properties 启动
sh startupmqbroker.sh查看是否启动成功
ps -ef | grep rocketLinux002:
vim startupmqbroker.shnohup sh bin/mqbroker -c /opt/rocketmq/rocketmq-all-4.9.1-bin-release/conf/2m-2s-async/broker-b.properties sh startupmqbroker.shps -ef | grep rocketLinux003:
vim startupmqbroker.shnohup sh bin/mqbroker -c /opt/rocketmq/rocketmq-all-4.9.1-bin-release/conf/2m-2s-async/broker-a-s.properties sh startupmqbroker.shps -ef | grep rocketLinux004:
vim startupmqbroker.shnohup sh bin/mqbroker -c /opt/rocketmq/rocketmq-all-4.9.1-bin-release/conf/2m-2s-async/broker-b-s.properties sh startupmqbroker.shps -ef | grep rocket第五步验证成果
使用mqadmin命令查看集群环境
sh mqadmin clusterList -n 127.0.0.1:9876Cluster Name集群名称这里是DefaultCluster。Broker NameBroker节点名称这里有两个节点分别是broker-a和broker-b。BIDBroker节点的唯一标识符0表示主节点1表示从节点。AddrBroker节点的地址和端口号。VersionRocketMQ的版本号这里是V491。InTPS(LOAD)消息的入站速率和负载情况。OutTPS(LOAD)消息的出站速率和负载情况。PCWait(ms)消息生产者和消费者的等待时间。HourBroker节点的运行时间。SPACE消息存储空间的使用情况。 可以成功看到集群已经搭建成功
在本文中我们详细介绍了如何在Linux上搭建RocketMQ双主双从集群。通过设置双主双从集群我们可以实现高可用性、容错性、负载均衡和可扩展性。我们提供了逐步指南包括下载和安装RocketMQ、配置集群、启动NameServer和Broker节点以及验证集群状态。我们还解释了双主双从集群与其他集群搭建方式的区别以及不同模式的优势和适用场景。
搭建RocketMQ双主双从集群是构建可靠消息传递系统的重要一步。通过合理配置和调优我们可以满足不同业务需求的可用性、一致性和性能要求。在实际应用中我们应根据具体情况选择适合的集群搭建方式并进行相应的配置和管理。
希望本文对大家在Linux上搭建RocketMQ双主双从集群有所帮助。如果大家有任何问题或疑问请随时向我提问