古越剑箫

学习是一种习惯

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

基于最新的RocketMQ4.2版本,搭建2Master模式。

硬件环境:centos6.9_x64(两台虚拟机)

IP1:192.168.150.128

IP2:192.168.150.129

1、从github下载RocketMQ4.2

https://github.com/apache/rocketmq/archive/rocketmq-all-4.2.0.tar.gz

因为下载的是源码文件,所以需要先用mvn构建之后才可以使用,如果在windows环境下使用mvn构建那么生成的sh脚本需要转为unix,否则启动会报错。

下载后解压的文件如下:

 

在当前目录使用mvn构建 

mvn -Prelease-all -DskipTests=true clean install -U

构建完毕之后进入,在distribution目录下有启动的文件

cd distribution/target/apache-rocketmq

 

RocketMQ的NameServer默认虚拟机加载内存是4G,broker默认虚拟机加载内存是8G,本次是演示安装,所以需要手动将这些值改小。

将bin下面的runserver.sh和runbroker.sh 

JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"

分别改为 1g 1g 512m  和 1g 1g 512m

注意:不要小于1g,否则启动会报错

修改完毕之后,配置conf目录下的broker.conf文件,也可以配置下面的properties文件,二选一即可

配置内容如下:

#集群名称
brokerClusterName = rocketmq-cluster
#一个集群下brokerName不允许重复
brokerName = broker-a
#0代表是Master
brokerId = 0
namesrvAddr= luna128.com:9876;luna129.com:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件的时间节点,凌晨4点
deleteWhen = 04
#文件保留时间,默认 48 小时
fileReservedTime = 48
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole = ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType = ASYNC_FLUSH

 配置完毕,先启动nameserver

[root@localhost bin]# nohup sh mqnamesrv &

RocketMQ是使用java开发,只需要jps即可查看nameserver进程

启动broker,指定配置文件,同样jps命令即可查看broker进程

[root@localhost bin]# nohup sh mqbroker -c ../conf/broker.conf & > nohup.out1 &

192.168.150.128 和 129 上唯一不同就是broker.conf文件的brokerName,两台服务器都启动之后,安装RocketMQ控制台管理RocketMQ集群。

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

目录如下:

进入rocketmq-console,使用mvn构建,

mvn clean package -Dmaven.test.skip=true

 

rocket-console使用springboot开发,在application.properties里面配置rocketmq.config.namesrvAddr=192.168.150.128:9876;192.168.150.129:9876 

也可以在rocket-console启动时候指定,rocketmq.config.namesrvAddr=

即可管理RocketMQ集群,启动rocket-console管控台(默认访问地址:127.0.0.1:8080)

 

posted on 2018-06-17 21:09  古越剑箫  阅读(286)  评论(0编辑  收藏  举报