RocketMQ安装与部署说明
一、安装说明
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安装与部署说明的更多相关文章
- rocketmq学习(二) rocketmq集群部署与图形化控制台安装
1.rocketmq图形化控制台安装 虽然rocketmq为用户提供了使用命令行管理主题.消费组以及broker配置的功能,但对于不够熟练的非运维人员来说,命令行的管理界面还是较难使用的.为此,我们可 ...
- RocketMQ安装部署
一.简介RocketMQ RocektMQ是阿里巴巴在2012年开源的一个纯java.分布式.队列模型的第三代消息中间件,不仅在传统高频交易链路有着低延迟的出色表现,在实时计算等大数据领域也有着不错的 ...
- rocketMQ安装部署详细解析
近来研究了Apache开源项目rocketMQ(原为阿里项目),并在两台linux服务器上完成了部署,现在整理下,供大家参考学习. 一.简介rocketMQRocektMQ是阿里巴巴在2012年开源的 ...
- RocketMQ集群部署安装
RcoketMQ:[ 1.低延时:在高压下,1毫秒内超过99.6%的反应延迟. 2.面向金融:具有跟踪和审计功能的高可用性. 3.行业可持续发展:保证了万亿级的消息容量. 4.厂商中立:一个新的开放的 ...
- RocketMQ集群部署记录
RocketMQ集群部署记录 #引用 https://cloud.tencent.com/developer/article/1147765 一.RocketMQ基础知识介绍 A ...
- RocketMQ 安装详细说明
原文:RocketMQ 安装详细说明 目录 本文导读 环境说明 RocketMQ 下载 从 Apache 下载 从 GitHub 下载 RocketMQ 安装 文件上传 项目解压 编译部署 Rocke ...
- RocketMQ安装及入门
本文是作者原创,版权归作者所有.若要转载,请注明出处. 本文RocketMQ版本为rocketmq-all-4.7.0,系统为win10.请各位去官网下载,也可以留言,我发安装包 RocketMQ安装 ...
- Windows Server 2012 虚拟化实战:SCVMM的安装和部署
本篇大概介绍一下在Windows Server 2012 R2上安装和部署SCVMM的过程及其注意事项.下图是我们数据中心SCVMM的基本架构,其中 SCVMM Database 是用于存储了所有配置 ...
- Linux下Redis的安装和部署
一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...
随机推荐
- JreeeChart入门
JFreeChart主要用来各种各样的图表,这些图表包括:饼图.柱状图(普通柱状图以及堆栈柱状图).线图.区域图.分布图.混合图.甘特图以及一些仪表盘等等 (源代码下载) 示例程序运用的jar包: j ...
- Add two numbers [LeetCode]
You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...
- 并发编程 10—— 任务取消 之 关闭 ExecutorService
Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...
- C#窗体 WinForm 文件操作
文件及文件夹操作 C/S:WinForm可以操作客户端文件 Client ServerB/S:浏览器服务 Brower Server 命名空间:using system .IO; 1. File类:文 ...
- C语言指针
我是搞java的,今年要找工作,参加笔试就必须要准备一些C/C++.算法.数据结构.操作系统.概率论的东西,浅谈一下我作为初学者对C指针的学习和理解. 一.*p 概念: 申明一个整形指针变量: int ...
- 在FireFox中修改cookie
一.安装Firebug插件(web开发中常用的调试工具) 1.打开菜单选择[附加组件] 2.搜索firebug,点击安装 3.安装完成 二.cookie的新建与编辑 1.选择cookies标签, ...
- Windows无法启动MySQL服务,错误 1053
解决方法: 正常重启电脑试试看,如果不行,在用下面试试 MYSQL 1053错误 解决方法: 在DOS命令行使用 第一步: 运行 -> cmd + 回车 (输入下面的命令) mysqld-nt ...
- [转载]四大Java EE容器
转载自: https://my.oschina.net/diedai/blog/271367 现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassfish等等.下面对这 ...
- CSS样式选择器优先级
CSS样式选择器分为4个等级,a.b.c.d,可以以这四种等级为依据确定CSS选择器的优先级. 1.如果样式是行内样式(通过Style=””定义),那么a=12.b为ID选择器的总数3.c为Class ...
- 【转】 linux下的g++编译器安装
再debian下直接apt-get install gcc g++就可以了.按照类似的逻辑,再Fedora下yum install gcc g++ 报告无法找到g++包. 查了一下,原来这个包的名字叫 ...