前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MetaQ安装部署文档

MetaQ安装部署文档

作者头像
星哥玩云
发布2022-06-28 16:31:38
4640
发布2022-06-28 16:31:38
举报
文章被收录于专栏:开源部署

一.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修改为:

代码语言:javascript
复制
#slave编号,大于等于0表示作为slave启动,同一个master下的slave编号应该设不同值.

slaveId=2

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

slaveGroup=meta-slave-group-gz

代码语言:javascript
复制
#slave数据同步的最大延时,单位毫秒
代码语言:javascript
复制
slaveMaxDelayInMills=500
代码语言:javascript
复制
#是否自动从master同步server.ini, 1.4.2新增选项
代码语言:javascript
复制
#第一次仍然需要自己拷贝server.ini,后续可以通过设置此选项为true来自动同步
代码语言:javascript
复制
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吗?

四.参考

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.MetaQ安装部署情况:
  • 二.MetaQ安装
    • 1. 前提
      • 2. 下载MetaQserver 1.4.6.2
        • 3. 部署
          • 4. master/slave集群配置
            • 5. 启动MetaQ集群
            • 三.问题
            • 四.参考
            相关产品与服务
            负载均衡
            负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档