基于最新的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)

【rocketMQ】之centos6.9安装RocketMQ4.2的更多相关文章

  1. 分布式消息队列RocketMQ(一)安装与启动

    分布式消息队列RocketMQ 一.RocketMQ简介 RocketMQ(火箭MQ) 出自于阿里,后开源给apache成为apache的顶级开源项目之一,顶住了淘宝10年的 双11压力 是电商产品的 ...

  2. CentOS 7.9 安装 rocketmq-4.9.2

    一.CentOS 7.9 安装 rocketmq-4.9.2 地址: https://rocketmq.apache.org https://github.com/apache/rocketmq ht ...

  3. vmware Centos6.6安装64位

    Centos6.6安装64位 必须开启BIOS中的虚拟化技术 首先开机进入BIOS,一般机器是按F2,我的T420是按F1,然后进入Security,Virtualization,选择Enable即可 ...

  4. Gitlab完美安装【CentOS6.5安装gitlab-6.9.2】

    摘要: 拆腾了几天,终于在今天找到了快速安装Gitlab的方法.CentOS6.5安装gitlab-6.9.2 参考网址:https://gitlab.com/gitlab-org/omnibus-g ...

  5. CentOS6.5安装Tomcat

    安装说明 安装环境:CentOS-6.4 安装方式:源码安装 软件:apache-tomcat-7.0.56.tar.gz 下载地址:http://tomcat.apache.org/download ...

  6. Centos6 yum安装openldap+phpldapadmin+TLS+双主配置

    原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...

  7. centos6.5安装oracle11g_2

    centos7安装oracle数据库不成功,换成centos6.5安装,可以安装成功,记录一下 安装系统时,主机名如果不是用localhost,安装成功后,要用主机名和ip做映射,修改/etc/hos ...

  8. CentOS6.6安装vmware workstation报错

    本人系统用的是centos6.6,安装了vmware workstation,启动后一直如下图报错,相关内核已经安装了的,哪位前辈如果解决过这样的问题,麻烦指点指点,小弟在此先谢过了.

  9. CentOS6.6安装virtualbox4.1.44

    本人用的是centos6.6,安装了virtualbox 4.1.44,启动后一直如上图报错,哪位前辈如果解决过这样的问题,麻烦指点指点,小弟在此先谢过了.

随机推荐

  1. Systemd程序及相关命令

    Systemd程序及相关命令 Systemd是一款用于Linux操作系统系统管理和服务管理的工具.它向后兼容SysV init脚本,并且支持许多类似于startup系统服务的功能,比如系统快照(sna ...

  2. 『TensorFlow』使用集合collection控制variables

    Variable Tensorflow使用Variable类表达.更新.存储模型参数. Variable是在可变更的,具有保持性的内存句柄,存储着Tensor 在整个session运行之前,图中的全部 ...

  3. Matlab:导数边界值的有限元(Ritz)法

    tic; % this method is transform from Ritz method %is used for solving two point BVP %this code was w ...

  4. Yii框架实现restful 接口调用,增删改查

    创建模块modules; 在main.php中配置文件:(1) (2)控制器层: namespace frontend\modules\v1\controllers;use frontend\modu ...

  5. 微信小程序城市定位(百度地图API)

    概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...

  6. 【lintcode13】字符串查找

    问题: 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始).如果不存在,则返回 -1. 样例:如果 ...

  7. python 实现树结构

    简述: 研究  MCTS 过程中, 需要用到树结构.  baidu  google 了一番, 找不到自己能满足自己的库或代码参考,只好再造个轮子出来 我造的树用来下五子棋 和 围棋用的,   有其它不 ...

  8. [Linux]Redhat7配置本地镜像源

    一.Redhat7源 上一个文章介绍了如何配置的Redhat7的YUM网络源:[Linux]Redhat7配置CentOS7 YUM源 .如果在无法联网的情况下,可以使用镜像文件作为源安装需要的包. ...

  9. Centos7 systemctl和防火墙firewalld命令(参考https://www.cnblogs.com/marso/archive/2018/01/06/8214927.html)

    一.防火墙的开启.关闭.禁用命令 (1)设置开机启用防火墙:systemctl enable firewalld.service (2)设置开机禁用防火墙:systemctl disable fire ...

  10. 组件自定义事件(.sync)实例

    <div id="root"> <parent></parent> </div> var childNode = { templat ...