rocketmq

您所在的位置:网站首页 rocketmq停止 rocketmq

rocketmq

2023-02-19 20:07| 来源: 网络整理| 查看: 265

  1.准备环境

1.华为云服务器2台 2.jdk(1.8) 3.服务器连接工具:使用的xshell+xftp

4.本人使用的是公网IP需开通相应端口号:9876(mq对外连接端口),8083(rocketmq-console客户端访问端口),10911和10921(broker对外连接端口)。启动rocketmq-console报错连接10909和10919失败,默认使用了vip通道,故又把这俩端口号开通,如下图所示:

2.开始搭建 1.创建用户目录 方便理解,两台服务器分别命名为A服务器和B服务器,下面只在A服务器上部署,同理B服务器也是一样只是配置文件不同。

1.创建用户安装目录

mkdir /home/tyy/soft

2.上传文件到指定的安装目录

2.解压

1.解压后修改文件目录名称为rocketmq-4.7.0

2.进入文件rocketmq-4.7.0,创建logs,store,store-s文件(logs:日志文件,store:master数据存储文件,store-s:salve数据存储文件)

3.修改配置文件

rocketmq默认给出了三种建议配置模式 2m-2s-async(主从异步),----本文采用这种 2m-2s-sync(主从同步) 2m-noslave(仅master)

修改2m-2s-async下的配置文件

 

 A服务器只修改broker-b.properties和broker-a-s.properties配置文件,B服务器修改broker-a.properties和broker-b-s.properties配置文件,配置信息如下 注意: 1.autoCreateTopicEnable=true,建议线下开启测试,线上关闭 2.同一个机器上启动多个broker时,需使用不同的broker配置文件来启动,例如A机器启动一个b-m和a-s,    使用broker-b.properties和broker-a-s.properties 3.listenPort默认为10911,当一个机器上启动多个broker示例时,需区分开端口 4.broker启动时,默认内存设置比较大,改成适合机器的,细节可看步骤6 5.当一个节点启动多个broker实例时,存储路径如果显示的设置,则需要指定不同的storePath路径,详情见配置文件 3.1 A服务器broker-b.properties配置信息 #集群名称 brokerClusterName=Cluster #broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,例如:A服务器master叫broker-b,他的slave也叫broker-b brokerName=broker-b #0 表示 Master,>0 表示 Slave brokerId=0 #Broker 的角色 #- ASYNC_MASTER 异步复制Master #- SYNC_MASTER 同步双写Master #- SLAVE brokerRole=ASYNC_MASTER #刷盘方式 #- ASYNC_FLUSH 异步刷盘 #- SYNC_FLUSH 同步刷盘 flushDiskType=ASYNC_FLUSH ##Broker 对外服务的监听端口 listenPort=10911 #nameserver地址,分号分割 namesrvAddr=114.X.X.119:9876;114.X.X.20:9876 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=false #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=false #本机IP brokerIP1=114.X.X.20 storePathRootDir=/home/tyy/soft/rocketmq-4.7.0/store storePathCommitLog=/home/tyy/soft/rocketmq-4.7.0/store/commitlog # 消费队列存储路径存储路径 storePathConsumerQueue=/home/tyy/soft/rocketmq-4.7.0/store/consumequeue #消息索引存储路径 storePathIndex=/home/tyy/soft/rocketmq-4.7.0/store/index #checkpoint 文件存储路径 storeCheckpoint=/home/tyy/soft/rocketmq-4.7.0/store/checkpoint #abort 文件存储路径 abortFile=/home/tyy/soft/rocketmq-4.7.0/store/abort #删除文件时间点,默认凌晨 4点 deleteWhen=04 #文件保留时间,默认 48 小时 fileReservedTime=120 # commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 3.2 A服务器broker-a-s.properties配置信息 #集群名称 brokerClusterName=Cluster #broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,例如:A服务器master叫broker-b,他的slave也叫broker-b brokerName=broker-a #0 表示 Master,>0 表示 Slave brokerId=1 #Broker 的角色 #- ASYNC_MASTER 异步复制Master #- SYNC_MASTER 同步双写Master #- SLAVE brokerRole=SLAVE #刷盘方式 #- ASYNC_FLUSH 异步刷盘 #- SYNC_FLUSH 同步刷盘 flushDiskType=ASYNC_FLUSH ##Broker 对外服务的监听端口 listenPort=10921 #nameserver地址,分号分割 namesrvAddr=114.X.X.119:9876;114.X.X.20:9876 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=false #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=false #本机IP brokerIP1=114.X.X.20 storePathRootDir=/home/tyy/soft/rocketmq-4.7.0/store-s storePathCommitLog=/home/tyy/soft/rocketmq-4.7.0/store-s/commitlog # 消费队列存储路径存储路径 storePathConsumerQueue=/home/tyy/soft/rocketmq-4.7.0/store-s/consumequeue #消息索引存储路径 storePathIndex=/home/tyy/soft/rocketmq-4.7.0/store-s/index #checkpoint 文件存储路径 storeCheckpoint=/home/tyy/soft/rocketmq-4.7.0/store-s/checkpoint #abort 文件存储路径 abortFile=/home/tyy/soft/rocketmq-4.7.0/store-s/abort #删除文件时间点,默认凌晨 4点 deleteWhen=04 #文件保留时间,默认 48 小时 fileReservedTime=120 # commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 3.3. B服务器broker-a.properties配置信息 #集群名称 brokerClusterName=Cluster #broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,例如:A服务器master叫broker-b,他的slave也叫broker-b brokerName=broker-a #0 表示 Master,>0 表示 Slave brokerId=0 #Broker 的角色 #- ASYNC_MASTER 异步复制Master #- SYNC_MASTER 同步双写Master #- SLAVE brokerRole=ASYNC_MASTER #刷盘方式 #- ASYNC_FLUSH 异步刷盘 #- SYNC_FLUSH 同步刷盘 flushDiskType=ASYNC_FLUSH ##Broker 对外服务的监听端口 listenPort=10911 #nameserver地址,分号分割 namesrvAddr=114.X.X.119:9876;114.X.X.20:9876 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=false #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=false #本机IP brokerIP1=114.X.X.119 storePathRootDir=/home/tyy/soft/rocketmq-4.7.0/store storePathCommitLog=/home/tyy/soft/rocketmq-4.7.0/store/commitlog # 消费队列存储路径存储路径 storePathConsumerQueue=/home/tyy/soft/rocketmq-4.7.0/store/consumequeue #消息索引存储路径 storePathIndex=/home/tyy/soft/rocketmq-4.7.0/store/index #checkpoint 文件存储路径 storeCheckpoint=/home/tyy/soft/rocketmq-4.7.0/store/checkpoint #abort 文件存储路径 abortFile=/home/tyy/soft/rocketmq-4.7.0/store/abort #删除文件时间点,默认凌晨 4点 deleteWhen=04 #文件保留时间,默认 48 小时 fileReservedTime=120 # commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 3.4. B服务器broker-b-s.properties配置信息 #集群名称 brokerClusterName=Cluster #broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,例如:A服务器master叫broker-b,他的slave也叫broker-b brokerName=broker-a #0 表示 Master,>0 表示 Slave brokerId=1 #Broker 的角色 #- ASYNC_MASTER 异步复制Master #- SYNC_MASTER 同步双写Master #- SLAVE brokerRole=SLAVE #刷盘方式 #- ASYNC_FLUSH 异步刷盘 #- SYNC_FLUSH 同步刷盘 flushDiskType=ASYNC_FLUSH ##Broker 对外服务的监听端口 listenPort=10921 #nameserver地址,分号分割 namesrvAddr=114.X.X.119:9876;114.X.X.20:9876 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=false #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=false #本机IP brokerIP1=114.X.X.119 storePathRootDir=/home/tyy/soft/rocketmq-4.7.0/store-s storePathCommitLog=/home/tyy/soft/rocketmq-4.7.0/store-s/commitlog # 消费队列存储路径存储路径 storePathConsumerQueue=/home/tyy/soft/rocketmq-4.7.0/store-s/consumequeue #消息索引存储路径 storePathIndex=/home/tyy/soft/rocketmq-4.7.0/store-s/index #checkpoint 文件存储路径 storeCheckpoint=/home/tyy/soft/rocketmq-4.7.0/store-s/checkpoint #abort 文件存储路径 abortFile=/home/tyy/soft/rocketmq-4.7.0/store-s/abort #删除文件时间点,默认凌晨 4点 deleteWhen=04 #文件保留时间,默认 48 小时 fileReservedTime=120 # commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 4.启动nameServer

1.启动A和B机器的nameServer

cd /home/tyy/soft/rocketmq-4.7.0 nohup sh bin/mqnamesrv & >/home/tyy/soft/rocketmq-4.7.0/logs/mqnamesrv.log 2>&1 &

5.启动broker 注意:启动broker前必须先启动nameServer,否则broker挂载不上去,停止先停broker在停nameServer,停止命令如下 #进入rocketmq-4.7.0安装目录 cd /home/tyy/soft/rocketmq-4.7.0 关闭broker服务 :sh bin/mqshutdown broker 关闭namesrv服务:sh bin/mqshutdown namesrv

1.启动A机器的broker-b的master指定配置文件broker-b.properties

#进入rockemq-4.7.0安装目录 #namesrv地址 114.*.*.*9:9876;114.*.*.*0:9876 cd /home/tyy/soft/rocket-4.7.0 nohup sh bin/mqbroker -c conf/2m-2s-async/broker-b.properties -n"114.*.*.*9:9876;114.*.*.*0:9876" > ./logs/broker-b.log 2>&1 &

2.启动B机器的broker-a的master指定配置文件broker-a.properties

#进入rockemq-4.7.0安装目录 #namesrv地址 114.*.*.*9:9876;114.*.*.*0:9876 cd /home/tyy/soft/rocket-4.7.0 nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a.properties -n"114.*.*.*9:9876;114.*.*.*0:9876" > ./logs/broker-a.log 2>&1 &

3.启动A机器的broker-a-s的salve指定配置文件broker-a-s.properties

#进入rockemq-4.7.0安装目录 #namesrv地址 114.*.*.*9:9876;114.*.*.*0:9876 cd /home/tyy/soft/rocket-4.7.0 nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a-s.properties -n"114.*.*.*9:9876;114.*.*.*0:9876" > ./logs/broker-a-s.log 2>&1 &

4.启动B机器的broker-b-s的salve指定配置文件broker-b-s.propertie

#进入rockemq-4.7.0安装目录 #namesrv地址 114.*.*.*9:9876;114.*.*.*0:9876 cd /home/tyy/soft/rocket-4.7.0 nohup sh bin/mqbroker -c conf/2m-2s-async/broker-b-s.properties -n"114.*.*.*9:9876;114.*.*.*0:9876" > ./logs/broker-b-s.log 2>&1 &

5.启动broker成功和错误

默认配置的内存较大,这里需要改小些

修改runbroker.sh vim /home/tyy/soft/rocketmq-4.7.0/bin/runbroker.sh

 

原来是 -Xms8g -Xmx8g -Xmn4g 现改为 -Xms4g -Xmx4g -Xmn2g,具体情况视服务器配置而定。 修改runserver.sh vim /home/tyy/soft/rocketmq-4.7.0/bin/runserver.sh

原来是 -Xms4g -Xmx4g -Xmn2g 现改为 -Xms2g -Xmx2g -Xmn1g,具体情况视服务器配置而定。

6.查看集群的启动状况

cd /home/tyy/soft/rocketmq-4.7.0/bin sh mqadmin clusterList -n 114.*.*.20:9876

四个节点都已启动正常,集群搭建完成

6.rocketmq-console安装

下载地址: https://github.com/apache/rocketmq-externals

这是apache提供一个开源的扩展项目,下载下来找到rocketmq-console项目,配置一下打包发布到服务器即可,这里我设置了登录权限

rocketmq.config.loginRequired=true 

确保${rocketmq.config.dataPath}定义的目录存在,并且该目录下创建登录配置文件"users.properties",

如果该目录下不存在此文件,则默认使用resources/users.properties文件。 

 

 

                        application.properties配置信息如下

                                            users.properties配置信息如下                         使用maven打包 mvn clean package -Dmaven.test.skip=true   打包完成,上传到服务器启动 nohup java -jar rocketmq-console-ng-1.0.0.jar & 启动成功,输入访问地址114.X.X.119:8083 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

至此,rockemq集群搭建完成

rocketmq-4.7.0和rocketmq-console安装包下载链接:https://download.csdn.net/download/qq_38513068/12511573

------------------------------------------------------------割--------------------------------------------------------------------------------------------- 

     第一次写博客,如有不足之处还望老铁们赐教!

     学习使人快乐,加油!

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3