一、安装说明
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. 识别有效的IP地址和掩码并进行分类统

    #include<iostream> #include<stdio.h> #include<string.h> using namespace std; int c ...

  2. centos下整合PagerDuty、nagios初探(on-call尝鲜和体验)

    [前言] 今天在某个群里看见有人介绍了PagerDuty,介绍到了slack.整合后可以更加方便和团队合作.于是我觉得来尝尝鲜. [PagerDuty是什么?] PagerDuty是一款能够在服务器出 ...

  3. C# checkboxlist的使用

    最近做项目,需要用到checklistbox这一控件,由于对这一控件并不是很熟悉,导致在此浪费了一点时间. http://www.cnblogs.com/hongfei/archive/2012/12 ...

  4. js模拟类

    ECMAScript6已经支持了class,但之前版本都不支持类,但是可以通过一些方法来模拟类. js中的类,既是重点,也是难点,很多时候都感觉模棱两可. 首先强调一下js中很重要的3个知识点:thi ...

  5. WCF初探-9:WCF服务承载 (下)

    在WCF初探-8:WCF服务承载 (上)中,我们对宿主的概念.环境.特点做了文字性的介绍和概括,接下来我们将通过实例对这几种寄宿方式进行介绍.为了更好的说明各寄宿环境特点,本实例采用Http和net. ...

  6. OC面向对象—继承

    OC面向对象—继承 一.基本概念 程序的世界和人类的“对象”世界在思想上是没有设么区别的,富二代继承了父母,自然就拥有了父母拥有的所有资源,子类继承了父类同样就拥有了父类所有的方法和属性(成员变量). ...

  7. Xceed Ultimate Suite Xceed界面控件套包下载

    Xceed Ultimate Suites是一款用户界面.数据处理套包,从.NET/WPF/silverLight平台到ActiveX下包含了65个子控件,以及Xceed公司的所有控件,具有表格.风格 ...

  8. Active Record: 資料庫遷移(Migration) (转)

    Active Record: 資料庫遷移(Migration) Programming today is a race between software engineers striving to b ...

  9. C#实现微信公众号群发消息(解决一天只能发一次的限制)

    经过几天研究网上的代码和谢灿大神的帮忙,今天终于用C#实现了微信公众号群发消息,现在整理一下. 总体思路:1.首先必须要在微信公众平台上申请一个公众号. 2.然后进行模拟登陆.(由于我对http传输原 ...

  10. IOS 验证码

    将十六进制的字符串转化为UIImage 最近写一个项目,有验证码,但是接口返回的并不是验证码图片的URL,而是返回的字节数组16进制字符串.这样就需要把16进制字符串首先字节数组,其次再把字节数组转化 ...