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

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 的下载地址:请点这里

四.参考

Linux软件安装部署文档,MetaQ安装部署文档相关推荐

  1. linux 软件源 ppa,使用PPA源安装软件

    什么是PPA? PPA是personal package archive的缩写,即个人包档案.使用PPA,软件制作者可以轻松地发布软件,并且能够准确地对用户进行升级.Ubuntu用户使用PPA源将更加 ...

  2. 树莓派可以安装Linux软件吗,如何在树莓派上安装甲骨文Linux – 简单的方法

    在我过去的一篇帖子中,我展示了如何通过命令行将甲骨文Linux安装在Mac上的树莓派上.幸运的是,我的同事菲利普向我指出,由于Etcher,一个用于闪存SD卡和USB驱动器的开源工具,事情会容易得多. ...

  3. 华为平板能安装linux软件吗,华为鸿蒙OS能安装在我们的电脑、笔记本、平板和手机上吗...

    有很多人可能都想问:华为鸿蒙OS(操作系统)能否安装在我们的电脑.笔记本.平板和手机设备上?其实答案很简单,由于华为鸿蒙OS是基于Linux内核的且兼容Android应用,如果你的设备能够安装Linu ...

  4. 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法

    在Deepin系统下安装LibreOffice 6.4.1版本的方法 使用的是Deepin系统,从深度应用商店看到有LibreOffice,安装了一下,发现ui是真的丑,就像是十年前的xp那样,记得前 ...

  5. linux显卡驱动mxm,linux下我的FX5200显卡驱动安装

    linux下我的FX5200显卡驱动安装 发布时间:2008-09-20 16:42:33来源:红联作者:Keiboc 一.为什么要装驱动 一般情况下,只要你下载了LINUX的最新发行版本,比如Fed ...

  6. MetaQ安装部署文档

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

  7. Office Online Server 在线编辑Office文档,安装部署

    一.Office Online Server介绍 Office Online Server是 Office Web Apps Server 的升级版本,安装环境必须为两台Windows Server ...

  8. linux软件安装和项目部署

    jdk的安装 采用压缩包解压的方式来安装 下载jdk的压缩包 上传到服务器(使用上传工具) 解压缩 # 解压到当前目录 # tar -zxvf 要解压的文件名(或文件的完整路径) tar -zxvf ...

  9. Docker学习文档之一 安装软件-Windows环境

    windows按照docker的基本要求 64为操作系统,win7或者更高 支持" Hardware Virtualization Technology",并且,"vir ...

最新文章

  1. 尚学堂java 答案解析 第五章
  2. redis报protocol error的真正原凶
  3. java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/
  4. redis的7个应用场景
  5. mysql添加用户,设置权限,回收权限,删除用户详解
  6. 49.Kth Largest Element in an Array
  7. OpenXava 4.5支持JPA继承映射和自动化业务逻辑
  8. asp.net html helper,6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】
  9. 崇尚个人当前状态的社会
  10. c/c++基础篇--------------------------基本框架及语法
  11. 一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)
  12. 87键盘怎么用小键盘功能
  13. 应用计算机测定线性电阻伏安特性实验结论,电路分析实验报告(电阻元件伏安特性的测量)...
  14. 使用MPICH构建一个四节点的集群系统
  15. python之列表方法大全
  16. Go语言案例(一)音乐播放器
  17. 信息系统项目管理知识--项目立项管理
  18. UVa-1583 生成元
  19. Win32如何定义IP数据报的首部
  20. python网络-Socket之TCP编程(26)

热门文章

  1. 腾讯-视频打标签算法探讨
  2. 2020年8个效率最高的爬虫框架
  3. 暑期实习NLP算法岗面经总结
  4. 数学家、中科院院士张景中:数学实力影响国家实力是近代以来的共识
  5. Java面试知识点:红黑树、Stream流
  6. day28 socket网络编程
  7. .net如何引用该命名空间
  8. ftp服务器PDF文件在线查看
  9. [改善Java代码] 推荐使用序列化实现对象的拷贝
  10. 员工辞职的十大原因!