一.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吗?

四.参考

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

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

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

l  MetaQ用户指南:http://taobao.github.io/metaq/document/userguide/userguide.htm

l  分布式消息中间件MetaQ 作者庄晓丹专访:http://blog.csdn.net/blogdevteam/article/details/8449916

l  分布式发布订阅消息系统Kafka 架构设计:http://www.oschina.net/translate/kafka-design

MetaQ安装部署文档相关推荐

  1. Linux软件安装部署文档,MetaQ安装部署文档

    一.MetaQ安装部署情况: 地点 IP Broker ID Master/Slave Slave ID:Group 合肥 192.168.52.23 1 Slave 1:meta-slave-gro ...

  2. linux上搭载was应用上传中文文件,受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明...

    本文档的主要内容详细介绍的是受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明. 从was9.0开始支持的最低版本的red hat Linux系统为6.6且仅支持64位操作系统 计 ...

  3. centos7安装rabbitmq_rabbitmq v3.7.16安装部署文档

    RabbitMQ v3.7.16安装部署文档 部署安装过程严格按照官方文档的流程. 前言 软件版本 os centos7(ubuntu也适用,需要替换部分命令) rabbitmq v3.7.16 (r ...

  4. 完整企业官网源码,前端基于Vue+ElementUI,后台基于基于core3 webapi,含数据库文件,含详情安装部署文档

    完整企业官网源码,前端基于Vue+ElementUI,后台基于基于core3 webapi,含数据库文件,含详情安装部署文档 完整代码下载地址:完整企业官网源码 某工程管理有限公司企业官网 前端 新版 ...

  5. Varnish安装部署文档

    简述:Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好. 系统环境: CentOS re ...

  6. pptpd安装部署文档

    简述: PPTP:点对点隧道协议 (PPTP: Point to Point Tunneling Protocol) 点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层. ...

  7. 如何在linux部署pdf文档,LINUX安装部署文档.pdf

    LINUX 安装部署详解文档 文档内容简介: 一:详解安装前的准备工作---------------------- 二:安装LINUX ---------------------------... 三 ...

  8. fastdfs安装_FastDFS 安装部署文档

    安装详细配置文档修改 Install FastDfs shell #!/bin/bash #auther: kame ## Install fastdfsFastDFS_DIR=/opt/fastdf ...

  9. activeMQ 安装部署文档

    ## 1.环境 - win7 - jdk1.7,配置环境变量 - apache-activemq-5.14.0-bin.zip - ActiveMQ [下载地址:](http://activemq.a ...

最新文章

  1. python实现观察者模式_观察者模式--python
  2. java文件头_对java文件头的解析
  3. [2021-09-02 contest]CF1251C,可达性统计(bitset优化dp),Boomerang Tournament(状压dp),小蓝的好友(mrx)(treap平衡树)
  4. 浏览器快捷键指南_快速但完整的IndexedDB指南以及在浏览器中存储数据
  5. libxml2交叉编译问题及解决办法
  6. 冒泡和快速排序的时间复杂度_三分钟快速记住冒泡排序算法
  7. 分布式锁实现方式介绍和Zookeeper实现原理
  8. 这售价要抢疯了?iPhone SE 2再曝光:将搭载A13芯片
  9. 蠕虫病毒往往是通过进入计算机系统,2011年上海市高校计算机等级考试1级模拟卷题目...
  10. Java高并发BlockingQueue重要的实现类二
  11. 计算机窗口底色,将电脑的窗口背景调成护眼色-电脑护眼设置
  12. ECSHOP自动确认收货解决方案 【附代码】
  13. STC12C5A60S2A/D转换
  14. 什么是4k视频分辨率
  15. 导向滤波原理(Guided Filter)
  16. Google野心勃勃,微软前程堪忧!(转)
  17. 冯建文《数字电路设计》读书笔记
  18. 手机App开发的有关问题
  19. 转载:越读越有味的句子
  20. ORM进阶之Hibernate中关系映射

热门文章

  1. linux mtd 用法,Linux mtd与ubi关系详解,ubi使用命令总结
  2. Nacos服务器1.4.1下载篇
  3. 信息爆炸时代的纳米技术-分子通信
  4. 一种简单的抽签/抽奖算法逻辑
  5. com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve
  6. TSLAM室内自主定位方案
  7. 4.6有一个函数。 写程序,输入x的值,输出相应的y值
  8. MFC CFile操作类介绍
  9. Linux上启动mysql不成功
  10. 算法-并查集-加边无向图