`
kavy
  • 浏览: 891266 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MetaQ安装部署文档

 
阅读更多

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

  下载链接:,下载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(metaq)

    《Metamorphosis (MetaQ) 服务端1.4.3版本详解及客户端使用》 Metamorphosis,简称MetaQ,是一款高效、稳定、可扩展的消息队列系统,由阿里巴巴开发并开源,主要用于解决分布式环境下的异步处理、解耦以及数据传输...

    Metaq原理与应用

    Metaq 是一种高性能、高可用的消息中间件,其设计灵感来源于 Kafka,但并不严格遵循任何特定的规范,如 JMS(Java Message Service)或 CORBA Notification 规范。Metaq 提供了丰富的特性来解决 Messaging System 中...

    metaQ向spark传数据

    在大数据处理领域,MetaQ和Spark是两个非常关键的组件。MetaQ是腾讯开源的一款分布式消息中间件,常用于实时数据处理系统中的消息传递。而Spark则是一个强大的、通用的并行计算框架,专为大数据分析设计,尤其擅长...

    metaq-server-1.4.6.2客户端+服务端

    MetaQ Server 1.4.6.2版本是这个中间件的一个特定发行版,包含了服务端和客户端的组件,以及相关的Javadoc文档。下面我们将详细探讨MetaQ的核心特性、工作原理、客户端和服务端的使用,以及Javadoc文档的重要性。 *...

    metaq-server-1.4.6.2.tar.gz

    3. 分布式:MetaQ采用分布式集群部署,可以动态扩展节点以应对不断增长的业务量,具备良好的水平扩展能力。 4. 消息持久化:支持消息持久化到磁盘,即使服务器重启,也不会丢失未消费的消息,确保数据安全。 5. ...

    Metaq在JDk 7下的异常及解决方案

    《Metaq在JDK 7下的异常及其解决策略》 Metaq是一款高性能的消息中间件,广泛应用于分布式系统中,提供高效、稳定的消息传递服务。然而,在JDK 7环境下,Metaq可能会遇到一些运行异常,其中最常见的就是与物理文件...

    Metaq详细手册.docx

    - **部署**:Metaq环境通常预装在日常环境中,若需自建,可参考服务器部署指南。 - **角色**:消息中间件的角色分为消息生产者和消息消费者。生产者创建并发送消息至Metaq服务器,服务器负责消息的持久化,消费者...

    metaQ的安装包

    3. **安装环境**:MetaQ 的运行需要 Java 运行环境(JRE),因此在安装前需确保系统已安装 JRE 或 JDK。此外,由于 MetaQ 使用 ZooKeeper,所以也需要安装并配置好 ZooKeeper 服务。 4. **安装步骤**: - 下载 ...

    metaq-server-1.4.6.2.zip 和原版一样就是换了个名字

    《MetaQ服务器1.4.6.2版本详解》 MetaQ是阿里巴巴开源的一款分布式消息中间件,主要用于解决大规模分布式系统中的消息传递问题。在1.4.6.2这个版本中,它继续保持着与原版一致的核心特性,提供高效、稳定、可扩展的...

    metaq消息中间件服务端、客户端资源汇集

    Metamorphosis是淘宝开源的一个Java消息中间件,他类似apache-kafka,但不是一个简单的山寨拷贝,而是做了很多改进和优化,项目的主页在淘蝌蚪上。服务端、客户端、javadoc都包含在内。

    MetaQ 分布式消息服务中间件.pdf

    MetaQ是一款分布式消息服务中间件,其核心功能基于发布-订阅模型。在这一模型中,发布者(Producer)将消息发布到MetaQ,MetaQ会储存这些消息,而订阅者(Consumer)则通过pull方式来消费这些消息。具体而言,消费者...

    阿里消息中间件MetaQ学习Demo.zip

    阿里消息中间件MetaQ学习Demo

    RocketMq快速入门文档

    【RocketMQ快速入门文档】 RocketMQ是一款由阿里巴巴开源并捐赠给Apache基金会的分布式消息中间件,源自阿里的MetaQ项目,具有高性能、高可用、低延迟等特性,尤其在处理大规模消息流转方面表现出色。RocketMQ支持...

    RocketMQ学习文档

    1. **RocketMQ简介**:RocketMQ是由阿里巴巴开源的一款高可用、高性能的消息中间件,它最初是基于Metaq发展而来,经过不断的优化和迭代,现已成为Apache顶级项目。RocketMQ的设计目标是提供低延迟、高吞吐量以及强大...

    storm项目-流数据监控系列1《设计文档》

    3、storm项目-流数据监控系列3《实例运行》4、storm项目-流数据监控系列4《MetaQ接口》5、storm项目-流数据监控系列5《zookeeper统一配置》 6、storm项目-流数据监控系列6《最新代码树及详解》。希望能对大家有所...

    kafka学习文档

    kafka 的 wiki 是徆丌错的学习文档: https://cwiki.apache.org/confluence/display/KAFKA/Index 接下来就是一系列文章,文章都是循序渐迕的方式带你了览 kafka: 关亍 kafka 的基本知识,分布式的基础:《分布式消息...

    Storm项目:流数据监控(下)

    该文档为storm模拟项目系列文档之一,是MetaQ与storm接口的说明文档,主要介绍了如何集成MetaQ到项目代码中。软件(阿里),其对应的许多技术文档还是比较容易看的,并且Github提供了许多的应用实例,所以使用MetaQ...

    Window搭建部署RocketMQ步骤详解

    Window搭建部署RocketMQ步骤详解是指在Windows操作系统上安装和配置RocketMQ的详细步骤。RocketMQ是一个由阿里巴巴开源的消息中间件,脱胎自阿里巴巴的MetaQ,在设计上借鉴了Kafka。下面将详细介绍Window搭建部署...

Global site tag (gtag.js) - Google Analytics