一、安装说明
1.下载安装包,下载地址:https://github.com/alibaba/RocketMQ/releases/download/v3.1.7/alibaba-rocketmq-3.1.7.tar.gz。
2.解压安装包到指定的目录。
3.参考资料:
ROCKETMQ管理类命令总结:http://alibaba.github.io/RocketMQ-docs/document/openuser/RocketMQ_admin.pdf

二、部署说明
(一)nameserver
1.参数配置
(1)默认启动端口:9876,无其他配置

2.启动和关闭
(1)启动nameserver:nohup mqnamesrv &
(2)在生产环境部署,请参考以下软硬件要求:https://github.com/alibaba/RocketMQ/wiki/system_requirements

(二)brokerserver
1.参数配置
(1)获取broker默认配置:sh mqbroker -m
(2)启动时如何加载配置:
a.生成broker默认配置模版:sh mqbroker -m > broker.p
b.修改配置文件broker.p
c.加载修改过的配置文件:nohup sh mqbroker -c broker.p
(3)配置文件选项说明
listenPort broker对外服务的监听端口(默认值:10911,不建议修改)
namesrvAddr NameServer地址
brokerIp1 本机IP地址,默认系统自动识别,但是某些多网卡机器会存在识别错误的情况,这种情况下可人工设置
brokerName 本机主机名
brokerClusterName Broker所属哪个集群(默认值:DefaultCluster)
brokerid BrokerId,必须是大于等于0的整数,0表示Master,>0表示Slave,一个Master可以挂多个Slave,Master与Slave通过BrokerName来配对
autoCreateTopicEnable 是否允许broker自动创建Topic,建议线下开启,线上关闭(默认值:TRUE)
autoCreateSubscriptionGroup 是否允许Broker自动创建订阅组,建议线下开启,线上关闭(默认值:TRUE)
rejectTransactionMessage 是否拒绝事务消息接入(默认值:FALSE)
fetchNamesrvAddrByAddressServer 是否从WEB服务器获取Name Server地址,针对大规模的Broker集群建议使用这种方法(默认值:FALSE)
storePathCommitLog commitLog存储路径(默认值:$HOME/store/commitlog)
storePathConsumeQueue 消费队列存储路径(默认值:$HOME/store/consumequeue)
storePahtIndex 消息索引存储路径(默认值:$HOME/store/index)
storeCheckpoint checkpoint文件存储路径(默认值:$HOME/store/checkpoint)
abortFile abort文件存储路径(默认值:$HOME/store/abort)
deleteWhen 删除文件时间点,默认凌晨4点(默认值:4)
fileReservedTime 文件保留时间,默认48小时(默认值:48)
maxTransferBytesOnMessageInMemory 单次Pull消息(内存)传输的最大字节数(默认值:262114)
maxTransferCountOnMessageInMemory 单次Pull消息(内存)传输的最大条数(默认值:32)
maxTransferBytesOnMessageInDisk 单次Pull消息(磁盘)传输的最大字节数(默认值:65536)
maxTransferCountOnMessageInDisk 单次Pull消息(磁盘)传输的最大条数(默认值:8)
messageIndexEnable 是否开启消息索引功能(默认值:TRUE)
messageIndexSafe 是否提供安全的消息索引机制,索引保证不丢(默认值:FALSE)
haMasterAddress 在Slave上直接设置Master地址,默认从Name Server上自动获取,也可以手工强制配置
brokerRole Broker的角色,ASYNC_MASTER异步复制Master、SYNC_MASTER同步双写Master、SLAVE(默认值:ASYNC_MASTER)
flushDiskType 刷盘方式,ASYNC_FLUSH异步刷盘、SYNC——FLUSH同步刷盘(默认值:ASYNC_FLUSH)
cleanFileForciblyEnable 磁盘满、且无过期文件情况下TRUE表示强制删除文件,优先保证服务可用,FALSE标记服务不可用,文件不删除(默认值:TRUE)

2.启动和关闭
(1)启动:方式1:mqbroker -n "192.168.0.1:9876;192.168.0.2:9876"(IP、Port指的是nameserver的IP和port)
方式2:启动前设置环境变量export NAMESRV_ADDR=127.0.0.1:9876,启动Broker:nohup sh mqbroker &
(2)重启:sh mqadmin wipeWritePerm -b brokerName -n namesrvAddr
Broker重启可能会导致正在发往这台机器的消息发送失败,RocketMQ提供了一种优雅关闭Broker的方法,通过执行以上命令会清除Broker的写权限,过40s后,所有客户端都会更新Broker路由信息,此时再关闭Broker就不会发生发送消息失败的情况,因为所有消息都发往了其他Broker。

(三)broker集群部署
1.单个master(单主)
启动nameserver和Broker,不需要做任何配置
2.多master模式(无Slave,全是master)
a.启动Name Server:nohup sh mqnamesrv &
b.在机器A上启动第一个Master:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-noslave/broker-a.properties &
c.在机器B上启动第二个Master:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-noslave/broker-b.properties &
3.多Master多Slave模式,异步复制
a.启动Name Server:nohup sh mqnamesrv &
b.在机器A上启动第一个Master:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a.properties &
c.在机器B上启动第二个Master:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-b.properties &
d.在机器C上启动第一个Slave:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a-s.properties &
e.在机器D上启动第二个Slave:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-b-s.properties &
4.多Master多Slave模式,同步双写
a.启动Name Server:nohup sh mqnamesrv &
b.在机器A上启动第一个Master:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-a.properties &
c.在机器B上启动第二个Master:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-b.properties &
d.在机器C上启动第一个Slave:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-a-s.properties &
e.在机器D上启动第二个Slave:nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-b-s.properties &
注:以上Broker与Slave配对是通过指定相同的BrokerName参数来配对,Master的BrokerId必须是0,Slave的BrokerId必须是大于0的数。另外一个Master下面可以挂载多个Slave,同一Master下的多个Slave通过指定不同的brokerId来区分。
$ROCKETmQ_HOST指的是rocketmq安装目录,需要手动设置此环境变量。

RocketMQ安装与部署说明的更多相关文章

  1. rocketmq学习(二) rocketmq集群部署与图形化控制台安装

    1.rocketmq图形化控制台安装 虽然rocketmq为用户提供了使用命令行管理主题.消费组以及broker配置的功能,但对于不够熟练的非运维人员来说,命令行的管理界面还是较难使用的.为此,我们可 ...

  2. RocketMQ安装部署

    一.简介RocketMQ RocektMQ是阿里巴巴在2012年开源的一个纯java.分布式.队列模型的第三代消息中间件,不仅在传统高频交易链路有着低延迟的出色表现,在实时计算等大数据领域也有着不错的 ...

  3. rocketMQ安装部署详细解析

    近来研究了Apache开源项目rocketMQ(原为阿里项目),并在两台linux服务器上完成了部署,现在整理下,供大家参考学习. 一.简介rocketMQRocektMQ是阿里巴巴在2012年开源的 ...

  4. RocketMQ集群部署安装

    RcoketMQ:[ 1.低延时:在高压下,1毫秒内超过99.6%的反应延迟. 2.面向金融:具有跟踪和审计功能的高可用性. 3.行业可持续发展:保证了万亿级的消息容量. 4.厂商中立:一个新的开放的 ...

  5. RocketMQ集群部署记录

    RocketMQ集群部署记录 #引用    https://cloud.tencent.com/developer/article/1147765         一.RocketMQ基础知识介绍 A ...

  6. RocketMQ 安装详细说明

    原文:RocketMQ 安装详细说明 目录 本文导读 环境说明 RocketMQ 下载 从 Apache 下载 从 GitHub 下载 RocketMQ 安装 文件上传 项目解压 编译部署 Rocke ...

  7. RocketMQ安装及入门

    本文是作者原创,版权归作者所有.若要转载,请注明出处. 本文RocketMQ版本为rocketmq-all-4.7.0,系统为win10.请各位去官网下载,也可以留言,我发安装包 RocketMQ安装 ...

  8. Windows Server 2012 虚拟化实战:SCVMM的安装和部署

    本篇大概介绍一下在Windows Server 2012 R2上安装和部署SCVMM的过程及其注意事项.下图是我们数据中心SCVMM的基本架构,其中 SCVMM Database 是用于存储了所有配置 ...

  9. Linux下Redis的安装和部署

    一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...

随机推荐

  1. CEF使用的几个注意点

    CEF为chrome浏览器的切入其他浏览器中的轻量级框架. 开发的客户端的时候,这是作为界面显示的首先,可以增强客户的易变性,可塑性. 在开发的过程中(侧重于C,C++解决),遇到的几个问题,以及自己 ...

  2. 向JS对象添加和删除事件

    this.removeEventListener = function (obj, ename, func) { var store = obj[this.addEventListener.pre + ...

  3. HTML 图像<img>

    定义和用法: img元素向网页中嵌入一副图像. 请注意:从技术上讲,<img>标签并不会在网页中插入图像,而是从网页上链接图像.<img>标签创建的是被引用图像的占位空间. 属 ...

  4. PHP数组去重..............过滤字段

    $test_data = M('hot'); //实例化数据表 $data = $test_data->Distinct(true)->field('descriprion')->o ...

  5. Java:集合工具类-Collections

    Java.util.Collections 集合框架工具类Collections,其方法都是静态的,本身没有构造函数. 常见方法: static <T extends Comparable< ...

  6. git学习(这个我没有整理,是我不断在学习的过程中,自己总结的,对象是我,不过有问题的,我们可以相互交流)

    每次git提交,都会有一个parent指针,指向上一次的commit ,   如果合并,master就和hotfix河道一起,就直接删除hotfix就OK     此时,虽然操作一样,大底层实现不一样 ...

  7. c# windows编程控件学习-1

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. 【winform 学习】登录

    一直都是做asp.net,没有做过winform项目,新建个项目后,就啥不会了,不知道从何下手. 简单的登录项目也不会,画了个登录界面后,就遇到了,跳入主界面后,怎样将登录界面关闭的问题. 在网上找到 ...

  9. Ubuntu远程连接windows

    一般情况下都是使用windows系统,通过mstsc远程连接linux系统,但对于一些linuxer来说,有时候需要远程连接一下windows,最后采用的是rdesktop,一个非常好用的工具 sud ...

  10. 搜索栏会消失 uisearchbar 狂点消失的问题解决

    经过反复试验和错误很多,我发现当searchdisplaycontroller结束搜索,搜索栏会消失,所以我重新插入到搜索栏表头和它为我工作. - (void)searchDisplayControl ...