环境准备:CentOS_6.5_x64
IP: 192.168.0.249   dbTest249    Master1
IP: 192.168.0.251   webTest251   Master2

下载 alibaba-rocketmq 软件

https://github.com/alibaba/RocketMQ/releases

=================================================================================================================================================

一、安装rocketmq

# tar zxf alibaba-rocketmq-3.2.4-beta1.tar.gz -C /usr/local/
# cd /usr/local/
# ln -s /usr/local/alibaba-rocketmq /usr/local/rocketmq
# cd rocketmq/

二、配置主从

1、分别在249、251上编辑配置文件

# hostname
# vim conf/2m-noslave/broker-a.properties
 1 #####################Master1服务器配置文件#####################
2 brokerClusterName=FusionCluster
3 brokerName=broker-a
4 brokerId=0
5 namesrvAddr=dbTest249:9876;webTest251:9876
6 deleteWhen=04
7 fileReservedTime=120
8
9 brokerRole=ASYNC_MASTER
10 flushDiskType=ASYNC_FLUSH
11 sstorePathRootDir=/data/rocketmq/store
12 storePathCommitLog=/data/rocketmq/store/commitlog
 1 #####################Master2服务器配置文件#####################
2 brokerClusterName=FusionCluster
3 brokerName=broker-b
4 brokerId=1
5 namesrvAddr=dbTest249:9876;webTest251:9876
6 deleteWhen=04
7 fileReservedTime=120
8
9 brokerRole=ASYNC_MASTER
10 flushDiskType=ASYNC_FLUSH
11 listenPort=10911
12 sstorePathRootDir=/data/rocketmq/store
13 storePathCommitLog=/data/rocketmq/store/commitlog

2、编辑JAVA内存块

# vim bin/runbroker.sh

如果服务器内存不够,可以修改runserver.sh脚本(mqnamesrv文件中通过runserver.sh脚本调用Name Server的主函数com.alibaba.rocketmq.namesrv.NamesrvStartup启动Name Server)中的JAVA_OPT_1参数
[plain] view plaincopy在CODE上查看代码片派生到我的代码片

1 JAVA_OPT_1="-server -Xms512m -Xmx1g -XX:PermSize=128m -XX:MaxPermSize=320m"

3、创建数据目录

# mkdir -p /data/rocketmq/store/commitlog
# mkdir /data/logs
# cd conf/
# sed -i 's#${user.home}#/data#g' *.xml      //将conf目录下所有xml文件中的${user.home}替换成/data,进入rocketmq/conf目录下执行该命令

4、启动RocketMQ

# cd ../bin/
# nohup sh mqnamesrv >/var/log/ns.log &
# nohup sh mqbroker -c ../conf/2m-noslave/broker-a.properties > /var/log/mq.log 2>&1 &

5、查看启动日志

# tail -f /var/log/ns.log
# tail -f /var/log/mq.log

6、查看启动端口

# netstat -tunpl
# jps
# kill -9 22596
# kill -9 22564
# kill -9 9967
# netstat -tunpl
# netstat -tunpl |grep java

7、关闭RocketMQ

# sh mqshutdown
1 Useage: mqshutdown broker | namesrv
# sh mqshutdown broker
# sh mqshutdown namesrv

8、再次启动

# nohup sh mqnamesrv >/var/log/ns.log &
# nohup sh mqbroker -c ../conf/2m-noslave/broker-a.properties > /var/log/mq.log 2>&1 &

9、验证状态

# jps

Linux分布式消息队列RocketMQ部署与监控--双Master的更多相关文章

  1. (原创)Rocketmq分布式消息队列的部署与监控

    -------------------------------------------------------------------------------------------- 一.Rocke ...

  2. 分布式消息队列RocketMQ部署

    一.RocketMQ简介: RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 1.支持严格的消息顺序: 2.支持Topic与Queue两种模式: 3.亿级消息堆积能力: 4.比较友好 ...

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

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

  4. 分布式消息队列RocketMQ与Kafka架构上的巨大差异

    分布式消息服务 Kafka 是一个高吞吐.高可用的消息中间件服务,适用于构建实时数据管道.流式数据处理.第三方解耦.流量削峰去谷等场景,具有大规模.高可靠.高并发访问.可扩展且完全托管的特点,是分布式 ...

  5. 分布式消息列队RocketMQ部署

    模式: 多Master多Slave模式,异步复制: 每个 Master 配置一个 Slave,有多对Master-Slave,HA 采用异步复制方式,主备有短暂消息延迟,毫秒级. 优点:即使磁盘损坏, ...

  6. 分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?

    我们知道,在早期的RocketMQ版本中,是有依赖ZK的.而现在的版本中,是去掉了对ZK的依赖,转而使用自己开发的NameSrv. 并且这个NameSrv是无状态的,你可以随意的部署多台,其代码也非常 ...

  7. 分布式消息队列RocketMQ&Kafka -- 消息的“顺序消费”

    在说到消息中间件的时候,我们通常都会谈到一个特性:消息的顺序消费问题.这个问题看起来很简单:Producer发送消息1, 2, 3... Consumer按1, 2, 3...顺序消费. 但实际情况却 ...

  8. RocketMQ 消息队列单机部署及使用

    转载请注明来源:http://blog.csdn.net/loongshawn/article/details/51086876 相关文章: <RocketMQ 消息队列单机部署及使用> ...

  9. EQueue - 一个纯C#写的分布式消息队列介绍2

    一年前,当我第一次开发完EQueue后,写过一篇文章介绍了其整体架构,做这个框架的背景,以及架构中的所有基本概念.通过那篇文章,大家可以对EQueue有一个基本的了解.经过了1年多的完善,EQueue ...

随机推荐

  1. LC 646. Maximum Length of Pair Chain

    You are given n pairs of numbers. In every pair, the first number is always smaller than the second ...

  2. LC 358. Rearrange String k Distance Apart

    Given a non-empty string s and an integer k, rearrange the string such that the same characters are ...

  3. nodejs本版问题

    接到一个新项目,前端用的是VUE,这就需要安装nodejs.记得之前安装的是V6.X,在npm install加载依赖库node_modules的时候ant-design-vue总是报错.看到同事用n ...

  4. dpkg软件包管理

    要想得心应手管理Ubuntu软件包,就必须熟悉其中最重要的软件包管理程序dpkg工具是Ubuntu软件包管理工具的基础.使用dpkg工具可以实现软件包的安装.卸载.查询.编译.打包等功能. dpkg( ...

  5. 代码实现:定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)

    package com.loaderman.test; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; im ...

  6. javascript中ClassName属性的详解与实例

    在javascritp中,我们可以通过style属性可以控制元素的样式,从而实现行为层通过DOM的style属性去干预显示层显示的目标,但是这种方法是不好的,而且为了实现通过DOM脚本设置的样式,你不 ...

  7. 六十:Flask.Cookie之flask设置cookie的有效域名

    设置cookie有效域名cookie默认只能在主域名下使用,如果要在子域名下使用,则应该给set_cookie设置属性domain='.主域名',此时,此cookie在此主域名下的所有子域名均有效 f ...

  8. pyqt5在QMainWindow中布局的问题

    在pyqt5中使用了父类为QMainWindow的话,在里面使用布局类,QGridLayout, QHBoxLayout ,QVBoxLayout 时,发现不好用. 解决: 如果是在以QWidget为 ...

  9. gin框架教程三:JWT的使用

    JWT介绍 JWT (JSON Web Token) 是一种规范.这个规范允许我们使用JWT在用户和服务器之间安全传递信息. JWT的组成: jwt分3个部分,Header 头部.Payload 载荷 ...

  10. 40G传输技术浅析

    采用40G传输技术给运营商带来的好处 - 同样的带宽,更低的硬件成本.由于目前的光电器件工艺已臻于成熟,质量更为可靠,使40G的商用具有了必要的前提.同样是40G容量,器件的数量大致只有4个10G光接 ...