基于最新的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. Sumo生成数据

    1.生成input_net.net.xml文件 参数解释:http://www.sumo.dlr.de/userdoc/NETGENERATE.html#Grid_Network 1).生成grid ...

  2. 使用Metasploit渗透攻击windows系统(一)

    攻击机:kaili ip:192.168.80.157 目标机:win7 IP:192.168.80.158 这里用两种方法去创建meterpreter会话: 1)利用kali中的msfvenom生成 ...

  3. 菜鸟脱壳之脱壳的基础知识(三)——寻找OEP

    这节我们来讲讲如何寻找一个程序的OEP,即Original Entry Point.一些PE加壳程序在被加密的程序上面加了一个区段(有的壳也会合并区段),当外壳代码执行完毕以后,会跳到程序的本身的代码 ...

  4. 如何在linux下开启FTP服务

    如何在linux下开启FTP服务 1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:   #which vsftpd   如果看到有vsftpd的目录说明服务器已经安装了ftp软件 2. ...

  5. 记不住的Android活动的生命周期

    Activity基类定义了管理一个互动的生命周期的一系列事件. Activity生命周期的一系列事件onCreate()——当前活动首次被创建时使用.onStart()——当前活动对用户可见时调用.o ...

  6. vue 数组push元素 视图没更新

    Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新.这些方法如下: push() pop() shift() unshift() splice() sort() reverse() 问题描 ...

  7. Python之时间(time)模块

    在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(time.time( ...

  8. nginx搭建以及其配置文件

    nginx搭建: 参考link:https://blog.csdn.net/wxyjuly/article/details/79443432 nginx配置文件详解: 参考link:https://w ...

  9. VSTO:使用C#开发Excel、Word【12】

    Excel对象模型中的事件了解excel对象模型中的事件至关重要,因为这通常是代码运行的主要方式.本章将检查Excel对象模型中的所有事件,引发事件以及可能与这些事件关联的代码类型. Excel对象模 ...

  10. Android : 跟我学Binder --- (6) JAVA实现

    目录: Android : 跟我学Binder --- (1) 什么是Binder IPC?为何要使用Binder机制? Android : 跟我学Binder --- (2) AIDL分析及手动实现 ...