基于最新的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. 广工十四届校赛 count 矩阵快速幂

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意:求,直接矩阵快速幂得f(n)即可 构造矩阵如下: n^3是肯定得变换的,用二项式展开来一点 ...

  2. Android测试(四)——内容供应器泄露

    内容供应器:用来存储和查询应用程序中的数据或来自电话的数据,所有内容供应器都具有唯一的统一的资源标识符(URI)以便被识别和查询. 内容供应期命名惯例:以content://开始 当Android A ...

  3. vscode sass live compiler

    { "liveSassCompile.settings.formats": [{ "format": "expanded", "e ...

  4. 学习笔记——SM2算法原理及实现

    RSA算法的危机在于其存在亚指数算法,对ECC算法而言一般没有亚指数攻击算法 SM2椭圆曲线公钥密码算法:我国自主知识产权的商用密码算法,是ECC(Elliptic Curve Cryptosyste ...

  5. LeetCode Rotatelmage

    ---恢复内容开始--- You are given an n x n 2D matrix representing an image. Ratate the image by 90 degrees( ...

  6. scrapy的Middleware

    对于下载中间件 settings里的数字大小: process_request的顺序 数字越小,越先调用 process_response 的顺序, 数字越大,越先调用 返回值: process_re ...

  7. 关于SUID SGID

    pattern 模式 permission 权限 The problem 问题 .-exec 找到的所有文件 variable 变量 一.1.grep sed awk 正则表达式 三大平台 #ifco ...

  8. 开始一个django项目的流程

    1.明确开发站点的主题,(即此站点的作用), 确定站点的各种功能,需求. 2.优先设计数据库. 数据库的设计要合理,不能想当然的设计,最好能够以表格的形式展现出来,避免以后遗忘,也避免内容的重复. 3 ...

  9. js带“.”的对象属性名怎么使用

    问题:这样的json对象(event) { "title": "title", "alert":"ding", &quo ...

  10. 非常好的开源C项目tinyhttpd(500行代码)

    编译命令 gcc -W -Wall -lpthread -o httpd httpd.c 源码 #include <stdio.h> #include <sys/socket.h&g ...