阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MetaQ安装部署文档

114次阅读
没有评论

共计 3896 个字符,预计需要花费 10 分钟才能阅读完成。

一.MetaQ 安装部署情况:

地点

IP

Broker ID

Master/Slave

Slave ID:Group

合肥

192.168.52.23

1

Slave

1:meta-slave-group-hf

北京

192.168.51.33

1

Master

/

广州

192.168.70.157

1

Slave

2:meta-slave-group-gz

二.MetaQ 安装

1. 前提

已有安装了 ZooKeeper 的机器,且三地的 MetaQ 都可以访问到,即三个 IP 都可以 ping 通安装了 ZooKeeper 的机器。ZooKeeper 是用来注册 MetaQ 的 broker、topic、pub、sub 信息,用来做负载均衡的,起到协调作用。

我在上述三地都安装了 ZooKeeper,目前使用的是北京 192.168.51.33:2181 作为 ZooKeeper 服务器。

Zookeeper 使用 Ubuntu 的 deb 包的 dpkg 方式安装。

启动 ZooKeeper:

Service zookeeper start

2. 下载 MetaQserver 1.4.6.2

下载链接:https://meta-queue.googlecode.com/files/metaq-server-1.4.6.2.tar.gz,下载 metaq-server-1.4.6.2.tar.gz 复制到三地的 /usr/lib 目录下。

3. 部署

解压 tar zxvfmetaq-server-1.4.6.2.tar.gz,将解压出来的 taobao/metamorphosis-server-wrapper 文件夹移动到 /usr/lib 下,并重命名为 metaq。

Metaq 的文件结构:

l bin:metaq 的命令文件夹./meteServer.sh 执行 metaq 命令

l conf:metaq 的配置文件夹,async_slave.properties 异步复制配置,server.ini 配置 broker,samsa_master.properties 同步复制配置。

l lib:metaq 依赖的 jar 包

l provided: 开发者自己开发的程序

4. master/slave 集群配置

使用异步复制架构。

修改北京 192.168.51.33 机器的 /usr/lib/metaq/conf/server.ini 文件为:

[system]

;; brokerId mustbe unique, the slave should be the same with master

brokerId=1

;; topicpartitions default set to 1, I changed it to 16, it should not be too large

numPartitions=16

serverPort=8123

dashboardHttpPort=8120

unflushThreshold=0

unflushInterval=10000

maxSegmentSize=1073741824

;default 1048576

maxTransferSize=104857600

deletePolicy=delete,168

deleteWhen=0 0 6,18 * * ?

flushTxLogAtCommit=1

stat=true

putProcessThreadCount=100

;; Update consumers offsets tocurrent max offsets when consumers offsets are out of range of current broker’smessages.

;; It must be false inproduction.But recommend to be true in development or test.

updateConsumerOffsets=true

 

;; your zookeeperserver

[zookeeper]

zk.zkConnect=192.168.51.33:2181

zk.zkSessionTimeoutMs=30000

zk.zkConnectionTimeoutMs=30000

zk.zkSyncTimeMs=5000

 

;; Topics section

[topic=test]

 

[topic=meta-test]

;; add your topicshere before use it

[topic=oct29]

 

因为使用 master/slave 模式,因此要时刻保持合肥 192.168.52.23 和广州 192.168.70.157 的 server.ini 文件保持和北京 192.168.51.33 相同,即使添加了新的 topic,也要手动向 server.ini 中注册。

 

修改三地的 conf/async_slave.properties,北京的保持不变,合肥的修改为

 

#slave编号 , 大于等于 0 表示作为 slave 启动 , 同一个 master 下的 slave 编号应该设不同值.

slaveId=1

 

#作为 slave 启动时向 master 订阅消息的 group, 如果没配置则默认为meta-slave-group

#不同的 slaveId 请使用不同的group

slaveGroup=meta-slave-group

 

#slave数据同步的最大延时 , 单位毫秒

slaveMaxDelayInMills=500

 

#是否自动从 master 同步 server.ini, 1.4.2 新增选项

#第一次仍然需要自己拷贝 server.ini,后续可以通过设置此选项为true 来自动同步

autoSyncMasterConfig=true

 

广州的 conf/async_slave.properties 修改为:

 

#slave编号 , 大于等于 0 表示作为 slave 启动 , 同一个 master 下的 slave 编号应该设不同值.

slaveId=2

 
#作为 slave 启动时向 master 订阅消息的 group, 如果没配置则默认为meta-slave-group
#不同的 slaveId 请使用不同的group

slaveGroup=meta-slave-group-gz

 
#slave数据同步的最大延时 , 单位毫秒
slaveMaxDelayInMills=500
 
#是否自动从 master 同步 server.ini, 1.4.2 新增选项
#第一次仍然需要自己拷贝 server.ini,后续可以通过设置此选项为true 来自动同步
autoSyncMasterConfig=true

5. 启动 MetaQ 集群

首先启动两个 slave:

合肥和广州将目录切换到 /usr/lib/metaq/bin 下,使用 slave 模式启动 MetaQ:

./metaServer.sh start slave &

北京启动 master:

./metaServer.sh start &

 

三.问题

1. Topic 的默认分区到底去多少好?即 server.ini 中 numPartitions 的配置,目前为 16,当使用 1024 的时候很多会导致磁盘效率太低,message 发送失败几率升高。

2. 异步复制的 slave 将参与消费者的消费活动,消息消费者可以从 slave 中获取消息并消费,消费者会随机从 master 和 slaves 中挑选一台作为消费 broker。如何指定 consumer 从 slave 中消费 message 而不跑去消费 master 的呢?

3. 可以添加一个 topic 而不重启 MetaQ 吗?

Metamorphosis 的详细介绍:请点这里
Metamorphosis 的下载地址:请点这里

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

更多 Android 相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11

更多 Fedora 相关信息见Fedora 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=5

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

更多 RedHat 相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10

更多 SUSE 相关信息见SUSE 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=3

更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

四.参考

MetaQ HA: https://github.com/killme2008/Metamorphosis/wiki/HA

MetaQ 源码分析:https://github.com/killme2008/Metamorphosis/wiki/%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90

MetaQ Wiki:https://github.com/killme2008/Metamorphosis/wiki

MetaQ 用户指南:http://www.linuxidc.com/Linux/2013-11/92750.htm

分布式发布订阅消息系统 Kafka 架构设计 http://www.linuxidc.com/Linux/2013-11/92751.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3896字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中