`
m635674608
  • 浏览: 5029323 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

RocketMQ安装与部署说明

    博客分类:
  • MQ
 
阅读更多

一、安装说明
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安装目录,需要手动设置此环境变量。

 

http://www.cnblogs.com/spplus/p/4785665.html

分享到:
评论

相关推荐

    RocketMQ集群安装部署

    标题和描述部分提到的知识点是关于如何安装和部署RocketMQ集群。RocketMQ是一个开源的消息中间件,由阿里巴巴开源,并且是Apache顶级项目,广泛应用于高并发、高可靠的消息分发场景中。 首先,部署RocketMQ集群需要...

    RocketMQ-3.5.8双主双从配置及部署说明

    `RocketMQ笔记(1)_Linux下编译部署.pdf`文档将指导你如何在Linux系统上编译和安装RocketMQ。步骤通常包括: 1. 安装必要的依赖,如JDK、Maven等。 2. 下载RocketMQ源码。 3. 使用Maven进行编译。 4. 配置环境变量,...

    RocketMQ部署运行快速开始说明

    RocketMQ部署运行快速开始说明

    RocketMQ-4.2.0编译完成并部署验证

    RocketMQ支持主从复制和集群部署模式,确保服务的高可用性。当主节点故障时,可以从备份节点无缝切换,避免单点故障。 9. **消息过滤**: 提供基于标签(Tag)的消息过滤功能,允许消费者只消费感兴趣的消息,...

    阿里RocketMQ_用户指南_V3.2.4 & RocketMQ-原理简介

    1. **API详解**:提供详细的API接口说明,帮助开发者理解和使用RocketMQ的各种功能。 2. **配置指南**:指导用户如何配置RocketMQ的各个组件,包括启动、停止、监控和故障排查等。 3. **案例分析**:分享实际应用...

    RocketMQ相关文档.zip

    书中的详细书签可能包括了RocketMQ的安装配置、生产者消费者模型、消息发送与接收、消息队列的管理、事务消息、消息回溯、消息过滤、高可用性设计等内容。通过实践案例,读者可以更好地理解和掌握RocketMQ在实际项目...

    rocketmq系列资料.zip

    因此提供相关学习文档,一起学习,资源包括 RocketMQ初步认知、RocketMQ单机环境搭建、RocketMQ集群部署实践、基于myeclipse的RocketMQ--Demo实践、基于RocketMQ--Demo项目的测试和原理说明

    RocketMQ_userguide

    以上指南提供了一套完整的RocketMQ使用和部署的方法论,帮助开发者和运维人员能够快速上手并有效利用RocketMQ构建稳定高效的消息传递系统。需要注意的是,本文档提及的各项配置和操作都有可能随着RocketMQ版本的更新...

    rocketmq-console.war 3.2.6 管控台war包

    压缩包中的README.md文件通常包含有关如何部署和使用管控台的详细说明,包括但不限于系统需求、部署步骤、配置示例和常见问题解答。阅读此文件对于正确地安装和使用管控台至关重要。 总的来说,"rocketmq-console....

    rocketmq 4.1.0

    描述中提到"rocketmq 4.1.0编译后的linux安装包,解压可直接安装",这意味着用户无需进行复杂的编译过程,只需解压后按照指定步骤即可完成安装。这对于开发者和运维人员来说,极大地简化了部署流程,提高了工作效率...

    最新版 rocketmq-all-4.8.0-bin-release.zip

    以下是对RocketMQ 4.8.0版本的一些关键知识点的详细说明: 1. **发布版本**: - "rocketmq-all-4.8.0-bin-release.zip"表明这是RocketMQ 4.8.0的二进制发行版,包含了运行和部署所需的所有文件,适用于各种操作...

    阿里 Rocketmq4.2 安装包下载

    - **README.md**:提供了关于RocketMQ 4.2的安装、配置和使用说明。 - **NOTICE**:列出项目中使用的第三方组件及其版权信息。 - **bin**:存放启动和停止RocketMQ服务器及客户端工具的脚本。 - **conf**:配置...

    最新版windows rocketmq-all-4.7.0-bin-release.zip

    在Windows环境下部署RocketMQ 4.7.0版本,可以提供高效、稳定的消息服务,以支持高并发、低延迟的业务需求。 在`rocketmq-all-4.7.0-bin-release.zip`压缩包中,包含了以下主要组件和文件: 1. **bin目录**:包含...

    rocketmq3.5.8

    以下是对RocketMQ 3.5.8版本的一些关键知识点的详细说明: 1. **消息模型**: RocketMQ支持发布/订阅和点对点两种消息模型。发布/订阅模型中,消息可以被多个消费者消费,而点对点模型确保消息只被一个消费者接收...

    RocketMQ相关资料文档以及demo

    安装指南会指导如何在本地或集群环境中部署RocketMQ;API参考提供了Producer、Consumer等类的详细用法;配置说明解释了RocketMQ各个参数的作用,帮助我们更好地理解和调优;最佳实践则分享了经验丰富的开发者在实际...

    apache-rocketmq-jdk8.zip

    这个"apache-rocketmq-jdk8.zip"压缩包是针对Java 8版本编译的,意味着它应该与Java 8环境兼容,如果你的项目或者服务器运行的是JDK 8,这个版本的RocketMQ将是一个合适的选择。 在使用这个压缩包之前,我们需要...

    RocketMQ-4.2.0

    2. **部署与使用**:RocketMQ-4.2.0 已完成编译,用户可以直接部署到生产环境中。部署通常包括启动 NameServer、Broker 和 Consumer,其中 NameServer 负责元数据管理,Broker 负责消息存储和分发,Consumer 处理...

    已编译的rocketmq-all-4.2.0版本,各位就无需再进行maven编译喽

    7. **README.md**:这是RocketMQ的说明文档,通常会提供安装指南、快速入门教程以及如何运行示例等内容,帮助用户更好地理解和使用RocketMQ。 总的来说,RocketMQ-all-4.2.0版本提供了全面的功能和易用性,为开发者...

    RocketMQ用户指南v3.2.4.pdf

    文档中提到的RocketMQ物理部署结构和逻辑部署结构,说明了如何在物理机器和分布式系统中部署RocketMQ。 最后,文档的参考文档、规范部分可能还包含了与JMS规范、C等标准的兼容性和比较信息,虽然这部分内容在提供的...

Global site tag (gtag.js) - Google Analytics