赞
踩
目录
1.配置node1节点borker-a的master配置文件
2.配置node2节点配置borker-a的slave borker-a-s节点
3.配置node3节点配置borker-b的master节点
name | ip | 远程端口 |
---|---|---|
node4 nameserver broker-b-s | 192.168.1.11 | 22 |
node3 nameserver broker-b | 192.168.1.10 | 22 |
node2 nameserver broker-a-s | 192.168.1.9 | 22 |
node1 nameserver broker-a | 192.168.1.3 | 22 |
- # 版本4.9.4
- 链接:https://pan.baidu.com/s/15s6lasTfeMv1rUBrH34XPg
- 提取码:4545
- # 创建文件目录
- mkdir -p /data/soft/ && cd /data/soft/
- # 创建配置文件目录
- mkdir -p /data/soft/rocket/conf
-
- # 创建存储路径
- mkdir -p /data/soft/rocket/store/{commitlog,consumequeue,index}
- # 修改默认端口
- vi /data/soft/rocket/conf/nameser.properties
- # 文件内容 默认9876
- listenPort=20000
-
- # 查看文件内容
- cat /data/soft/rocket/conf/nameser.properties
- # 上传 rocketmq-all-4.9.4-bin-release.zip
- # 没有rz命令执行: yum -y install lrzsz
- rz
- # 安装解压工具
- yum install -y unzip zip
- # 解压rocketmq
- unzip rocketmq-all-4.9.4-bin-release.zip
RocketMQ默认预设的JVM内存是4G 用runserver.sh、runbroker.sh 、tools.sh编辑这三个脚本,在脚本中找到这一行调整内存大小为256M
- # 两处
- vi /data/soft/rocketmq-all-4.9.4-bin-release/bin/runserver.sh
-
- # JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
- JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=160m"
-
-
- vi /data/soft/rocketmq-all-4.9.4-bin-release/bin/runbroker.sh
- #JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"
- JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
-
-
-
- vi /data/soft/rocketmq-all-4.9.4-bin-release/bin/tools.sh
- # JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"
-
- JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
- #查看jdk 1.8列表:
- yum list java-1.8.0*
- #安装jdk 1.8下所有包
- yum install java-1.8.0-openjdk* -y
- #查看安装结果
- java -version
下面配置只在node1节点上预先配置好。标题描述为该配置文件在那台服务器上使用
RocketMQ--Dledger集群搭建
RocketMQ--Dledger集群搭建_rocketmq dledger_84岁带头冲锋的博客-CSDN博客
- #192.168.1.3 node1节点配置borker-a的master节点2m-2s-async/broker-a.properties
- # 先删除在编辑
- rm -rf /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-a.properties
- # 编辑配置文件粘贴下面内容
- vi /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-a.properties
- #所属集群名字,名字一样的节点就在同一个集群内
- brokerClusterName=rocketmq-cluster
- #broker名字,名字一样的节点就是一组主从节点。
- brokerName=broker-a
- #brokerid,0就表示是Master,>0的都是表示 Slave
- brokerId=0
- #nameServer地址,分号分割
- namesrvAddr=192.168.1.11:20000;192.168.1.10:20000;192.168.1.9:20000;192.168.1.3:20000
- #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
- defaultTopicQueueNums=4
- #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
- autoCreateTopicEnable=true
- #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
- autoCreateSubscriptionGroup=true
- #Broker 对外服务的监听端口
- listenPort=20001
- #删除文件时间点,默认凌晨 4点
- deleteWhen=04
- #文件保留时间,默认 48 小时
- fileReservedTime=120
- #commitLog每个文件的大小默认1G
- mapedFileSizeCommitLog=1073741824
- #ConsumeQueue每个文件默认存30W条,根据业务情况调整
- mapedFileSizeConsumeQueue=300000
- #destroyMapedFileIntervalForcibly=120000
- #redeleteHangedFileInterval=120000
- #检测物理文件磁盘空间
- diskMaxUsedSpaceRatio=88
- #存储路径
- storePathRootDir=/data/soft/rocket/store/
- #commitLog 存储路径
- storePathCommitLog=/data/soft/rocket/store//commitlog
- #消费队列存储路径存储路径
- storePathConsumeQueue=/data/soft/rocket/store/consumequeue
- #消息索引存储路径
- storePathIndex=/data/soft/rocket/store//index
- #checkpoint 文件存储路径
- storeCheckpoint=/data/soft/rocket/store/checkpoint
- #abort 文件存储路径
- abortFile=/data/soft/rocket/store/abort
- #限制的消息大小
- maxMessageSize=65536
- #flushCommitLogLeastPages=4
- #flushConsumeQueueLeastPages=2
- #flushCommitLogThoroughInterval=10000
- #flushConsumeQueueThoroughInterval=60000
- #Broker 的角色
- #- ASYNC_MASTER 异步复制Master
- #- SYNC_MASTER 同步双写Master
- #- SLAVE
- brokerRole=ASYNC_MASTER
- #刷盘方式
- #- ASYNC_FLUSH 异步刷盘
- #- SYNC_FLUSH 同步刷盘
- flushDiskType=ASYNC_FLUSH
- #checkTransactionMessageEnable=false
- #发消息线程池数量
- #sendMessageThreadPoolNums=128
- #拉消息线程池数量
- #pullMessageThreadPoolNums=128
- # 192.168.1.9
- # 所属集群名字,名字一样的节点就在同一个集群内
- # broker名字,名字一样的节点就是一组主从节点。
- # brokerid,0就表示是Master,>0的都是表示 Slave
- # nameServer地址类似zookeeper
- # 先删除在编辑
- rm -rf /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-a-s.properties
- # 编辑配置文件粘贴下面内容
- vi /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-a-s.properties
- #所属集群名字,名字一样的节点就在同一个集群内
- brokerClusterName=rocketmq-cluster
- #broker名字,名字一样的节点就是一组主从节点。
- brokerName=broker-a
- #brokerid,0就表示是Master,>0的都是表示 Slave
- brokerId=1
- #nameServer地址,分号分割
- namesrvAddr=namesrvAddr=192.168.1.11:20000;192.168.1.10:20000;192.168.1.9:20000;192.168.1.3:20000
- #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
- defaultTopicQueueNums=4
- #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
- autoCreateTopicEnable=true
- #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
- autoCreateSubscriptionGroup=true
- #Broker 对外服务的监听端口
- listenPort=20001
- #删除文件时间点,默认凌晨 4点
- deleteWhen=04
- #文件保留时间,默认 48 小时
- fileReservedTime=120
- #commitLog每个文件的大小默认1G
- mapedFileSizeCommitLog=1073741824
- #ConsumeQueue每个文件默认存30W条,根据业务情况调整
- mapedFileSizeConsumeQueue=300000
- #destroyMapedFileIntervalForcibly=120000
- #redeleteHangedFileInterval=120000
- #检测物理文件磁盘空间
- diskMaxUsedSpaceRatio=88
- #存储路径
- storePathRootDir=/data/soft/rocket/store/
- #commitLog 存储路径
- storePathCommitLog=/data/soft/rocket/store//commitlog
- #消费队列存储路径存储路径
- storePathConsumeQueue=/data/soft/rocket/store/consumequeue
- #消息索引存储路径
- storePathIndex=/data/soft/rocket/store//index
- #checkpoint 文件存储路径
- storeCheckpoint=/data/soft/rocket/store/checkpoint
- #abort 文件存储路径
- abortFile=/data/soft/rocket/store/abort
- #限制的消息大小
- maxMessageSize=65536
- #flushCommitLogLeastPages=4
- #flushConsumeQueueLeastPages=2
- #flushCommitLogThoroughInterval=10000
- #flushConsumeQueueThoroughInterval=60000
- #Broker 的角色
- #- ASYNC_MASTER 异步复制Master
- #- SYNC_MASTER 同步双写Master
- #- SLAVE
- brokerRole=SLAVE
- #刷盘方式
- #- ASYNC_FLUSH 异步刷盘
- #- SYNC_FLUSH 同步刷盘
- flushDiskType=ASYNC_FLUSH
- #checkTransactionMessageEnable=false
- #发消息线程池数量
- #sendMessageThreadPoolNums=128
- #拉消息线程池数量
- #pullMessageThreadPoolNums=128
##所属集群名字,名字一样的节点就在同一个集群内
##broker名字,名字一样的节点就是一组主从节点。
# 复制5.1内容,修改brokerName=broker-a 为brokerName=broker-b即可
- #192.168.1.10
- # 先删除在编辑
- rm -rf /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-b.properties
- # 复制配置文件
- cp /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-a.properties /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-b.properties
- # 修改brokerName=broker-a 为brokerName=broker-b
- vi /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-b.properties
###所属集群名字,名字一样的节点就在同一个集群内
###broker名字,名字一样的节点就是一组主从节点。
复制5.2内容,修改brokerName=broker-a 为brokerName=broker-b即可
- #192.168.1.11
- # 先删除在编辑
- rm -rf /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-b-s.properties
- # 复制配置文件
- cp /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-a-s.properties /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-b-s.properties
- # 修改brokerName=broker-a 为brokerName=broker-b
- vi /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-b-s.properties
tar czvf rocketmq-all-4.9.4-bin-release.tar rocketmq-all-4.9.4-bin-release/
tar czvf rocket.tar rocket/
- # 执行拷贝 rocketmq-all-4.9.4-bin-release.tar 文件 root 目标用户名@目标ip:目标目录(/ 根目录)
- scp rocketmq-all-4.9.4-bin-release.tar root@192.168.1.11:/data/soft/
- scp rocketmq-all-4.9.4-bin-release.tar root@192.168.1.10:/data/soft/
- scp rocketmq-all-4.9.4-bin-release.tar root@192.168.1.9:/data/soft/
-
-
- # 执行拷贝 rocket.tar 文件 root 目标用户名@目标ip:目标目录(/ 根目录)
- scp rocket.tar root@192.168.1.11:/data/soft/
- scp rocket.tar root@192.168.1.10:/data/soft/
- scp rocket.tar root@192.168.1.9:/data/soft/
在这三台服务器上解压上面传输的两个文件
- tar xzvf rocketmq-all-4.9.4-bin-release.tar
-
- tar xzvf rocket.tar
-
- ls
每个节点都要执行
namesrv只使用了一个9876端口,修改了默认配置改为20000
firewall-cmd --zone=public --add-port=20000/tcp --permanent
broker的服务端口号 修改broker的listenPort端口号为20001
firewall-cmd --zone=public --add-port=20001/tcp --permanent
haListenPort haListenPort是haService中使用
//默认值为:listenPort + 1 这个值是在BrokerStartup.java中设置的
/**
* 影响haservice中AcceptSocketService服务的端口号
* 参考:
* com.alibaba.rocketmq.store.ha.HAService 构造函数中
* this.acceptSocketService =
new AcceptSocketService(defaultMessageStore.getMessageStoreConfig().getHaListenPort());
*/
messageStoreConfig.setHaListenPort(nettyServerConfig.getListenPort() + 1);
firewall-cmd --zone=public --add-port=20002/tcp --permanent
fastListenPort
/**
*主要用于slave同master同步。 默认为:主要是fastRemotingServer服务使用 listenPort - 2
* listenPort - 2 默认 10909
*/
fastConfig.setListenPort(nettyServerConfig.getListenPort() - 2);
this.fastRemotingServer = new NettyRemotingServer(fastConfig, this.clientHousekeepingService)
firewall-cmd --zone=public --add-port=19999/tcp --permanent
- # 重启生效
- firewall-cmd --reload
每台都执行即可下面命令
nohup sh /data/soft/rocketmq-all-4.9.4-bin-release/bin/mqnamesrv -c /data/soft/rocket/conf/nameser.properties &
nohup sh /data/soft/rocketmq-all-4.9.4-bin-release/bin/mqbroker -c /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-a.properties >/dev/null 2>&1 &
nohup sh /data/soft/rocketmq-all-4.9.4-bin-release/bin/mqbroker -c /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-a-s.properties >/dev/null 2>&1 &
nohup sh /data/soft/rocketmq-all-4.9.4-bin-release/bin/mqbroker -c /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-b.properties >/dev/null 2>&1 &
nohup sh /data/soft/rocketmq-all-4.9.4-bin-release/bin/mqbroker -c /data/soft/rocketmq-all-4.9.4-bin-release/conf/2m-2s-async/broker-b-s.properties >/dev/null 2>&1 &
docker pull apacherocketmq/rocketmq-dashboard:latest
- docker run -it -d \
- --restart=always --privileged=true -m 300m \
- --name rmqadmin \
- -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.1.3:20000;192.168.1.9:20000;192.168.1.10:20000;192.168.1.11:20000 \
- -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
- -p 10024:8080 \
- pangliang/rocketmq-console-ng
firewall-cmd --zone=public --add-port=10024/tcp --permanent
- # 重启生效
- firewall-cmd --reload
192.168.1.3:10024
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。