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

如何开始--metaq

阅读更多

下载服务器

Google Code选择最新版本的服务器并下载到本地,假设下载后的文件在folder目录,执行下列命令解压缩文件:

cd folder
tar zxvf   metaq-server-1.4.6.2.tar.gz 

解压缩文件,解压后目录结构大概为:

taobao
    metamorphosis-server-wrapper
         bin
            env.bat                
            env.sh                 
            log4j.properties       
            metaServer.bat         
            metaServer.sh          
            tools_log4j.properties
         logs
         conf
            server.ini
            ......
         lib
            ......
         provided
            ......

启动脚本放在bin目录,主要的脚本是metaServer.sh,日志在logs目录,而配置文件主要是conf目录下server.ini,lib存放所有的依赖jar包,1.4.6新增加的provided目录用于存放服务端的消息过滤器实现打包后的jar包以及用到的第三方依赖。

配置Broker

默认server.ini提供了一个topic——test用于测试,你可以添加自己定义的topic:

[topic=mytopic]                                                                                                                                                                              
;是否启用统计                                                                                                                                                                             
stat=true                                                                                                                                                                                    
;这个topic指定分区数目,如果没有设置,则使用系统设置                                                                                                                                          
numPartitions=10                                                                                                                                                                                                                                                                                                                                                    
;删除策略的执行时间,cron表达式                                                                                                                                                                
deleteWhen=0 0 6,18 * * ? 

大多数system参数都可以topic参数所覆盖。

启动和关闭服务器

确保你的机器上安装了JDK并正确设置JAVA_HOME和PATH变量,启动服务器:

bin/metaServer.sh start local

关闭服务器:

bin/metaServer.sh stop

在windows上,双击执行"bin/metaServer.bat"即可(windows不支持local模式启动,需配置zookeeper,见下文的zookeeper配置一节)。

修改JAVA_HOME,JMX等变量,请修改bin/env.sh(for linux)或者bin/env.bat(for windows)。

更多metaServer.sh支持命令请使用help:

 bin/metaServer.sh help
=>
  Usage: metaServer.sh {start|status|stop|restart|reload|stats|open-partitions|close-partitions|move-partitions|delete-partitions|query}
  ......

验证服务器正常运行

除了通过观察日志logs/metaServer.log外,你还可以通过stats命令来观察服务器运行状况。

 bin/metaServer.sh stats
 =>
   STATS
   pid 7244
   broker_id 0
   port 8123
   uptime 2057
   version 1.4.2
   curr_connections 1
   threads 35
   cmd_put 0
   cmd_get 0
   cmd_offset 0
   tx_begin 0
   tx_xa_begin 0
   tx_commit 0
   tx_rollback 0
   get_miss 0
   put_failed 0
   total_messages 0
   topics 2
   config_checksum 718659887
   END

你也可以telnet到默认的8123端口执行stats命令查看。

 

Web管理平台

1.4.5新增Web管理平台,通过浏览器访问你服务器运行的8120端口(默认),例如本机运行就是http://localhost:8120

集群模式配置

Local模式

上文提到的启动方式是以本地模式也就是单机模式启动,它将启动一个内置的zookeeper,并将broker注册到该zookeeper。这对于单机应用或者测试开发是最便捷方式的。

但是MetaQ是作为分布式软件设计的,更通常作为一个集群提供服务。MetaQ的集群管理是利用zookeeper实现的,因此首先需要配置zookeeper。 一个MetaQ集群必须使用同一个zookeeper集群。

配置zookeeper

Metamorphosis使用zookeeper发布和订阅服务,并默认使用zookeeper存储消费者offset,因此,你需要首先安装一个zookeeper到某台机器上,或者使用某个现有的zk集群,安装zookeeper请参考zookeeper文档。

假设你在本机安装并启动了一个zookeeper,端口在默认的2181,请修改conf/server.ini文件,保证zookeeper地址正确:

 ;zk的服务器列表 
 zk.zkConnect=localhost:2181                                                                                                                                                                       
 ;zk心跳超时,单位毫秒,默认30秒                                                                                                                                                                     
 zk.zkSessionTimeoutMs=30000                                                                                                                                                                 
 ;zk连接超时时间,单位毫秒,默认30秒                                                                                                                                                       
 zk.zkConnectionTimeoutMs=30000                                                                                                                                                   
 ;zk数据同步时间,单位毫秒,默认5秒                                                                                                                                                
 zk.zkSyncTimeMs=5000    

其他zk参数请酌情设置。其他重要参数还包括dataPath和numPartitions,分别用于指定默认的数据存储路径,以及默认topic的分区数目。具体参数信息请看conf/server_sample.ini示范文件。

当使用内置的zookeeper时,zookeeper数据是存放在/temp目录下。可以通过zk.server.snapDirectory和zk.server.logDirectory参数来设置。另外还可以通过zk.server.max.connections来设置最大连接数,默认是4096。

启动服务器

假设你准备建立一个两台broker组成的MetaQ集群提供消息服务,那么通常你需要两台机器来运行MetaQ。但是这里为了简单测试,以单机运行集群模式为例子。

首先,按照上文的提示,正常启用Local模式后,假设为broker1,请拷贝一份MetaQ到不同目录,假设为broker2:

  • server.ini需要修改三个参数:serverPort,dataPathdashboardHttpPort,分别对应服务器端口,数据存储路径和Web管理平台HTTP端口号,将broker2的这两个参数修改为不同值,其他设置保持不变。
  • bin/env.sh需要修改export JMX_PORT=9123,改为不同的端口,这是JMX端口。

然后,停止local模式启动的broker1, 并重新以集群模式启动:

metaServer.sh stop
metaServer.sh start

进入broker2的bin目录,启动broker2:

metaServer.sh start

这样即组成两个broker的MetaQ集群。

摘自淘宝

分享到:
评论

相关推荐

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

    总结,MetaQ-server-1.4.6.2版本提供了一个完整的消息中间件解决方案,包括服务端、客户端和相应的文档支持。通过使用MetaQ,开发者可以构建出高效、可靠的分布式系统,同时利用Javadoc文档来加速开发过程,确保代码...

    metaq-server-1.4.6.2.tar.gz

    《MetaQ服务器1.4.6.2版的深度解析》 MetaQ是阿里巴巴开源的一款分布式消息中间件,主要用于提供高可靠、高可用的消息传输服务。在本文中,我们将深入探讨MetaQ Server 1.4.6.2版本的核心特性、架构设计以及使用...

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

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

    Metaq原理与应用

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

    metamorphosis(metaq)

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

    metaQ向spark传数据

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

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

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

    metaQ的安装包

    MetaQ,全称为“Meta Message Queue”,是阿里巴巴开源的一款分布式消息中间件,主要用于解决大规模分布式系统中的消息传递问题。MetaQ 提供了高可用、高可靠的消息服务,支持多种消息模型,如点对点(Point-to-...

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

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

    Metaq详细手册.docx

    《Metaq详细手册》 Metaq,源自LinkedIn的开源消息中间件Kafka的Java实现——Memorphosis,针对淘宝内部的应用需求进行了定制和优化。它遵循一系列设计原则,旨在提供高效、可靠且灵活的消息传递服务。 1. **消息...

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

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

    支付宝钱包系统架构内部剖析(架构图)

    - **透明协议设计**:MetaQ采用了文本协议设计,这种设计使得MetaQ的操作更加直观易懂,便于开发者进行监控和调试。 - **纯Java实现**:无论是通信层还是存储层,MetaQ均使用Java语言实现,这对于支付宝这样的大型...

    RocketMQ技术原理

    - Metaq 1.x: 由开源社区killme2008维护,较为活跃。 - Metaq 2.x: 为后续版本。 - RocketMQ 3.x: 在2012年10月推出,被淘宝内部广泛使用,并开源。 9. RocketMQ衍生项目 RocketMQ衍生项目包括结合特定业务需求...

    支付宝之所以牛逼的原因:来看内部架构剖析

    Metamorphosis(MetaQ)是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景,在...

    storm项目-流数据监控系列3《实例运行》

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

    storm项目-流数据监控系列5《zookeeper统一配置》

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

    storm项目-流数据监控系列2《代码解析》

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

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

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

Global site tag (gtag.js) - Google Analytics