rocketmq-5.0.0的dleger高可用集群部署

1、部署规划-3台服务器

(1)服务器准备

  • 192.168.0.1(主)
  • 192.168.0.2(从)
  • 192.168.0.3(从)

(2)核对空间,内存

  • df -h
  • free -h

(3)确认启动用户及部署路径

  1. 用户:applin【确认有应用路径的写入执行权限,755,或应用路径归属于applin】
  2. 应用路径:/software/
  3. 数据存储路径:/software/rocketmq-all-5.0.0-bin-release/store
  4. 日志存储路径:/software/rocketmq-all-5.0.0-bin-release/logs

2、获取rocketmq-5.0.0版本并上传到服务器

(1)获取文件

rocketmq官方下载链接


(2)通过WinScp或其他上传包文件到指定服务器路径

  • 192.168.0.1:/software/rocketmq-all-5.0.0-bin-release.zip
  • 192.168.0.2:/software/rocketmq-all-5.0.0-bin-release.zip
  • 192.168.0.3:/softwarerocketmq-all-5.0.0-bin-release.zip

3、dleger高可用集群部署

3.1、3台服务器统一操作

(1)新建日志+数据存储路径

cd /software
unzip rocketmq-all-5.0.0-bin-release.zip
su - applin
mkdir -p /software/rocketmq-all-5.0.0-bin-release/store
mkdir -p /software/rocketmq-all-5.0.0-bin-release/logs
cd /software/rocketmq-all-5.0.0-bin-release

(2)修改日志路径

执行命令1: cd /software/rocketmq-all-5.0.0-bin-release/conf
执行命令2: sed -i 's?${user.home}/logs/rocketmqlogs?/software/rocketmq-all-5.0.0-bin-release/logs?' /software/rocketmq-all-5.0.0-bin-release/conf/logback_broker.xml
执行命令3: sed -i 's?${user.home}/logs/rocketmqlogs?/software/rocketmq-all-5.0.0-bin-release/logs?' /software/rocketmq-all-5.0.0-bin-release/conf/logback_controller.xml
执行命令4: sed -i 's?${user.home}/logs/rocketmqlogs?/software/rocketmq-all-5.0.0-bin-release/logs?' /software/rocketmq-all-5.0.0-bin-release/conf/logback_namesrv.xml
执行命令5: sed -i 's?${user.home}/logs/rocketmqlogs?/software/rocketmq-all-5.0.0-bin-release/logs?' /software/rocketmq-all-5.0.0-bin-release/conf/logback_proxy.xml
执行命令6: sed -i 's?${user.home}/logs/rocketmqlogs?/software/rocketmq-all-5.0.0-bin-release/logs?' /software/rocketmq-all-5.0.0-bin-release/conf/logback_tools.xml

(3)修改启动脚本内存及环境变量

  • 修改启动脚本runserver.sh,将环境变量改为实际路径(2个方法)
执行命令1: cd /software/rocketmq-all-5.0.0-bin-release/bin
执行命令2: sed -i 's#${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m#${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m#' /software/rocketmq-all-5.0.0-bin-release/bin/runserver.sh
执行命令3:vim runserver.sh查看上述是否修改成功,同时更改环境变量如下,2个方法选其一
(1)[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk/jdk_linux
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
#[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
(2)[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk_linux
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk_linux
[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
  • 修改启动脚本runbroker.sh,将环境变量改为实际路径(2个方法)
执行命令1: cd /software/rocketmq-all-5.0.0-bin-release/bin
执行命令2: sed -i 's#JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"#JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"#' /software/rocketmq-all-5.0.0-bin-release/bin/runbroker.sh
执行命令3:vim runbroker.sh查看上述是否修改成功,同时更改环境变量如下,2个方法选其一
(1)[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk/jdk_linux
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
#[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
(2)[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk_linux
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/software/jdk_linux
[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"

3.2、3台服务器分别操作

目前看这三项有区别:

listenPort
dLegerSelfId与dLegerPeers保持对应。
brokerIP1

(1) IP1 - 192.168.0.1(主)

执行命令1: cd /software/rocketmq-all-5.0.0-bin-release/conf/dledger
执行命令2: vim broker-n0.conf
## 集群名
brokerClusterName = RaftCluster
## broker组名,同一个RaftClusterGroup内,brokerName名要一样
brokerName=RaftNode00
## 监听的端口
listenPort=30911
## 你设置的NameServer地址和端口
namesrvAddr=192.168.0.1:9876;192.168.0.2:9876;192.168.0.3:9876
storePathRootDir=/software/rocketmq-all-5.0.0-bin-release/store/node00
storePathCommitLog=/software/rocketmq-all-5.0.0-bin-release/store/node00/commitlog
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
## n0 n1 n2 分别是broker1,broker2,broker3 的 dLegerSelfId
## 例如:dLegerPeers=n0-服务器1的IP:40911;n1-服务器2的IP:40912;n2-服务器3的IP:40913
dLegerPeers=n0-192.168.0.1:40911;n1-192.168.0.2:40912;n2-192.168.0.3:40913
## must be unique
## 这个值必须是在同一个RaftClusterGroup内唯一的
dLegerSelfId=n0
sendMessageThreadPoolNums=16
brokerIP1=192.168.0.1
执行命令3: nohup sh /software/rocketmq-all-5.0.0-bin-release/bin/mqnamesrv  &
执行命令4: nohup sh /software/rocketmq-all-5.0.0-bin-release/bin/mqbroker -c /software/rocketmq-all-5.0.0-bin-release/conf/dledger/broker-n0.conf &

(2) IP2 - 192.168.0.2(从)

执行命令1: cd /software/rocketmq-all-5.0.0-bin-release/conf/dledger
执行命令2: vim broker-n1.conf
执行命令1: cd /software/rocketmq-all-5.0.0-bin-release/conf/dledger
执行命令2: vim broker-n1.conf
## 集群名
brokerClusterName = RaftCluster
## broker组名,同一个RaftClusterGroup内,brokerName名要一样
brokerName=RaftNode00
## 监听的端口
listenPort=30921
## 你设置的NameServer地址和端口
namesrvAddr=192.168.0.1:9876;192.168.0.2:9876;192.168.0.3:9876
storePathRootDir=/software/rocketmq-all-5.0.0-bin-release/store/node00
storePathCommitLog=/software/rocketmq-all-5.0.0-bin-release/store/node00/commitlog
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
## n0 n1 n2 分别是broker1,broker2,broker3 的 dLegerSelfId
## 例如:dLegerPeers=n0-服务器1的IP:40911;n1-服务器2的IP:40912;n2-服务器3的IP:40913
dLegerPeers=n0-192.168.0.1:40911;n1-192.168.0.2:40912;n2-192.168.0.3:40913
## must be unique
## 这个值必须是在同一个RaftClusterGroup内唯一的
dLegerSelfId=n1
sendMessageThreadPoolNums=16
brokerIP1=192.168.0.2
执行命令3: nohup sh /software/rocketmq-all-5.0.0-bin-release/bin/mqnamesrv  &
执行命令4: nohup sh /software/rocketmq-all-5.0.0-bin-release/bin/mqbroker -c /software/rocketmq-all-5.0.0-bin-release/conf/dledger/broker-n1.conf &

(3) IP3 - 192.168.0.3(从)

执行命令1: cd /software/rocketmq-all-5.0.0-bin-release/conf/dledger
执行命令2: vim broker-n2.conf
## 集群名
brokerClusterName = RaftCluster
## broker组名,同一个RaftClusterGroup内,brokerName名要一样
brokerName=RaftNode00
## 监听的端口
listenPort=30931
## 你设置的NameServer地址和端口
namesrvAddr=192.168.0.1:9876;192.168.0.2:9876;192.168.0.3:9876
storePathRootDir=/software/rocketmq-all-5.0.0-bin-release/store/node00
storePathCommitLog=/software/rocketmq-all-5.0.0-bin-release/store/node00/commitlog
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
## n0 n1 n2 分别是broker1,broker2,broker3 的 dLegerSelfId
## 例如:dLegerPeers=n0-服务器1的IP:40911;n1-服务器2的IP:40912;n2-服务器3的IP:40913
dLegerPeers=n0-192.168.0.1:40911;n1-192.168.0.2:40912;n2-192.168.0.3:40913
## must be unique
## 这个值必须是在同一个RaftClusterGroup内唯一的
dLegerSelfId=n2
sendMessageThreadPoolNums=16
brokerIP1=192.168.0.3
执行命令3: nohup sh /software/rocketmq-all-5.0.0-bin-release/bin/mqnamesrv  &
执行命令4: nohup sh /software/rocketmq-all-5.0.0-bin-release/bin/mqbroker -c /software/rocketmq-all-5.0.0-bin-release/conf/dledger/broker-n2.conf &

​​​​​​​4、验证

(1)查看集群服务是否启动成功:jps
命令执行后,可查看到两个进程,NamesrvStartup和BrokerStartup
(2)在集群中任意一个节点的bin目录下执行如下命令:

执行命令1: cd /software/rocketmq-all-5.0.0-bin-release/bin
执行命令2: sh mqadmin clusterList -n 127.0.0.1:9876

结果中addr中有broker信息。
#BID显示3个,0+1+2,ACTIVATED显示3个,1个true+2个false。
(3)kill主broker并在此查看集群情况,master切换是否成功。重新启动后原master服务器变为从。【BID的0表示主】
(4)停止应用

 

执行命令1: cd /software/rocketmq-all-5.0.0-bin-release/bin
执行命令2: sh mqshutdown namesrv
执行命令3: sh mqshutdown broker

5、日志

(1)Dleger高可用集群,3台中至少2台启动才不会报错
(2)核对配置项是否有错误
(3)空间不足、内存不足,清理后重启应用

  • 19
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vmware-viclient-all-5.0.0是VMware vSphere 5.0的客户端软件包,用于管理和监视虚拟化环境。VMware vSphere是一款企业级虚拟化平台,它允许用户在一台物理服务器上运行多个虚拟机,从而提高服务器资源的利用率。 vmware-viclient-all-5.0.0包含了vSphere客户端的所有组件和插件,可以通过它来访问和管理vSphere环境中的虚拟机、主机和数据存储。客户端提供了图形化的界面,使用户可以轻松进行各种管理操作,例如虚拟机的创建、删除和迁移,资源的配置和监控,以及性能优化和故障排除等。 除了基本的虚拟机管理功能外,vmware-viclient-all-5.0.0还包含了一些高级功能和插件,例如vSphere客户端插件提供了与操作系统无关的本地访问,可以在主机上直接运行客户端,而无需安装任何额外的软件。此外,该软件还支持多种操作系统,包括Windows、Linux和Mac OS。用户可以根据自己的需求选择最适合自己的操作系统进行安装和使用。 总之,vmware-viclient-all-5.0.0是一款功能强大的虚拟化管理软件包,提供了丰富的功能和插件,方便用户对虚拟化环境进行管理和监控。无论是个人用户还是企业用户,都可以通过该软件轻松构建和管理自己的虚拟化环境,提高服务器资源的利用率,降低成本,提高系统的可靠性和可扩展性。 ### 回答2: vmware-viclient-all-5.0.0是VMware vSphere Client 5.0.0的软件包。vSphere Client是一款用于管理和监控虚拟化环境的工具。它提供了一个用户界面,让用户可以轻松地管理虚拟机、数据存储以及网络设置。 vmware-viclient-all-5.0.0包含了vSphere Client的所有功能和组件。通过安装这个软件包,用户可以使用vSphere Client的所有功能,包括创建、克隆和删除虚拟机,监控虚拟机的性能和资源利用情况,以及管理虚拟机的存储和网络设置。 此版本的vSphere Client是为了与VMware vSphere 5.0.0兼容而发布的。vSphere 5.0.0是VMware最早的vSphere版本之一,拥有众多改进和功能。通过使用vmware-viclient-all-5.0.0,用户可以充分利用vSphere 5.0.0提供的特性,并从更好的性能和更强大的功能中受益。 总而言之,vmware-viclient-all-5.0.0是一款用于管理和监控虚拟化环境的软件包。它提供了vSphere Client的所有功能和组件,并与VMware vSphere 5.0.0兼容。使用这个软件包,用户可以方便地管理虚拟机、数据存储和网络设置,并享受到vSphere 5.0.0提供的改进和特性带来的好处。 ### 回答3: vmware-viclient-all-5.0.0是VMware vSphere 5.0的客户端工具包。它是一种用于访问和管理VMware vSphere虚拟化平台的软件。该软件具有用户友好的图形用户界面,可通过客户端连接到vSphere服务器并执行各种操作。 通过vmware-viclient-all-5.0.0,用户可以轻松管理虚拟化基础架构,包括虚拟机的创建、配置和删除,以及资源池和主机的管理。此外,该工具包还提供了诸如虚拟网络和存储的配置和管理功能,使用户能够灵活地管理整个虚拟环境。 vmware-viclient-all-5.0.0还具有监控功能,可以实时监视虚拟机和宿主机的性能指标,如CPU和内存利用率、网络和存储性能等。通过这些监控工具,用户可以及时发现和解决虚拟化环境中的性能瓶颈和故障。 此外,vmware-viclient-all-5.0.0还包括了远程控制功能,允许用户通过客户端远程连接到虚拟机并进行操作,如安装操作系统、修改配置等。 总的来说,vmware-viclient-all-5.0.0是一个功能强大、易于使用的虚拟化管理工具。它为用户提供了对VMware vSphere平台的全面访问和控制,帮助用户轻松管理和监控虚拟化环境,并提供了远程操作功能。无论是个人用户还是企业用户,都可以通过该工具包提升虚拟化环境的管理效率和灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值