您现在的位置是:首页 > 文章详情

RocketMQ部署

日期:2018-11-04点击:447

本部分介绍准生产部署方案。通常来将,我们将部署一个没有单故障节点的弹性RocketMQ集群。

准生产部署

Name Server

为了保证当一个实例崩溃后集群仍可运行,推荐2或多个nameServer实例。只要有一个nameServer实例存活,整个集群
仍保持服务。nameServer遵守无共享设计范例。
Brokers发送心跳数据到所有的 nameServer。当发送/消费消息时,生产者和消费者可以从任意可用的nameServer查询元数据

Broker

Broker根据角色可以分为两种类别:master and slave。主Broker提供读写访问,从Broker仅接收读访问。
为了部署一个没有单故障节点的高可用的RocketMQ 集群,一系列broker集合应该被部署。
broker集合内包含一个brokerId 设置为0的主Broker和多个brokerIDs非0的从Broker。
broker集合内的所有broker有相同的brokerName。
最坏的情况,应该有至少2个broker在broker集合内。每个主题在2或多个broker存在。

配置

部署RocketMQ集群时,推荐使用下面的配置列表:

参数名称 默认值 描述
listenPort 10911 客户端监听端口
namesrvAddr null 命名服务地址
brokerIP1 InetAddress for network interface 如果有多个地址需配置
brokerName null 代理服务名称
brokerClusterName DefaultCluster broke属于哪个集群
brokerId 0 brokerID,0是主,正整数是从
storePathCommitLog $HOME/store/commitlog/ 提交日志文件路径
storePathConsumerQueue $HOME/store/consumequeue/ 消费队列文件路径
mapedFileSizeCommitLog 1024 1024 1024(1G) 用于提交日志的映射文件大小
deleteWhen 04 何时删除超过存储时间的提交日志
fileReserverdTime 72 提交日志删除前保存的小时数
brokerRole ASYNC_MASTER brokerRole角色 同步主(SYNC_MASTER)/异步主(ASYNC_MASTER)/从(SLVAE)
flushDiskType ASYNC_FLUSH 刷盘类型{SYNC_FLUSH/ASYNC_FLUSH}
刷盘类型

SYNC_FLUSH 模式,生产者确认前,每条消息刷盘
ASYNC_FLUSH 模式,组提交优势,性能更好。

复制模式

为了确保成功发布的消息不会丢失,RocketMQ提供复制模式来获得更强的持久性和高可用,两种复制模式:Sync & Async。

复制: Sync / Async Broker

类似多数复制系统,同步Broker一直等待,直到在确认前将提交日志复制到从。
异步Broker,消息被主处理后会立即返回。

如何配置

在配置文件下RocketMQ提供了三种预设的配置:

2m-2s-sync 2m-2s-async 2m-noslave
注意:所有配置都要使用 ASYNC_FLUSH。

Deployment

以 2m-2s-sync 部署为例。首先,启动两个name servers。假设它们的 IP 是192.168.0.2 和 192.168.0.3.

//192.168.0.2 > sh bin/mqnamesrv & //192.168.0.3 > sh bin/mqnamesrv &

然后启动broker(假设RocketMQ 在/home/rocketmq/dist )。

>cd /home/rocketmq/dist/bin //broker-a 主 >sh mqbroker -c ../conf/2m-2s-sync/broker-a.properties -n 192.168.0.2:9876,192.168.0.3:9876 //broker-a 从 >sh mqbroker -c ../conf/2m-2s-sync/broker-a-s.properties -n 192.168.0.2:9876,192.168.0.3:9876 //broker-b 主 >sh mqbroker -c ../conf/2m-2s-sync/broker-b.properties -n 192.168.0.2:9876,192.168.0.3:9876 //broker-b 从 >sh mqbroker -c ../conf/2m-2s-sync/broker-b-s.properties -n 192.168.0.2:9876,192.168.0.3:9876 //验证是否启动 > bash mqadmin clusterlist

数据清理

停服务:

> sh mqshutdown broker > sh mqshutdown namesrv

删除store文件,重新建文件:

//删除store文件夹下内容 > rm -rf /usr/local/rocketmq/store/ //创建commitlog,consumequeue,index > mkdir /usr/local/rocketmq/store/commitlog > mkdir /usr/local/rocketmq/store/consumequeue > mkdir /usr/local/rocketmq/store/index
原文链接:https://yq.aliyun.com/articles/664949
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章