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

淘宝MetaQ开源消息队列安装

阅读更多

前提:: 
安装zookeeper 

首先你需要搭建自己的zookeeper集群,meta利用zookeeper做服务的注册和发现,以及默认情况下offset的存储。 
安装java运行环境 
第一步:下载安装包

从这里下载最新的metamorphosis服务器可运行包并在某个目录解压缩(或者checkout源码按上面的步骤打包出来)。解压出来的结构大概是这样 

-你的目录 

-taobao 

-metamorphosis-server 

-bin 

-meta-server-start.sh -meta-server-stop.sh 

-conf 

-server.properties 

-logs 

metaServer.log 

-lib 

其中bin目录包含启动脚本(目前只有linux下的启动脚本),conf下为配置文件,lib下为meta服务器的所有jar包,logs为日志所在目录。 
第二步:配置server.ini

利用文本编辑器编辑conf/server.ini,这是meta服务器的配置文件,主要关注这几个配置项: 
brokerId 服务器ID,必须是集群内唯一 
numPartitions 默认每个topic的分区数目 
dataPath 数据文件的存放路径,默认在user.home/meta下 
zookeeper配置: 

配置topic列表 一份默认的文件如下: <HR> 
;系统属性
[system]
;必须,服务器唯一标志
brokerId=0

;服务器hostname,可以为空,默认将取本机IP
hostName=

;默认每个topic的分区数目,默认为1
numPartitions=1

;服务器端口,必须
serverPort=8123

;数据文件路径,默认在user.home/meta下
dataPath=

;日志数据文件路径,默认跟dataPath一样
dataLogPath=

;最大允许的未flush消息数,超过此值将强制force到磁盘,默认1000
unflushThreshold=1000

;最大允许的未flush间隔时间,毫秒,默认10秒
unflushInterval=10000

;单个文件的最大大小,实际会超过此值,默认1G
maxSegmentSize=1073741824

;传输给客户端每次最大的缓冲区大小,默认1M
maxTransferSize=1048576

;处理get请求的线程数,默认cpus*10
getProcessThreadCount=80

;处理put请求线程数,默认cpus*10
putProcessThreadCount=80

;数据删除策略,默认超过7天即删除,这里的168是小时,10s表示10秒,10m表示10分钟,10h表示10小时,默认为小时
deletePolicy=delete,168
;删除策略的执行时间,cron表达式
deleteWhen=0 0 6,18 * * ?

;事务相关配置
;最大保存事务checkpoint数目,默认为3
maxCheckpoints=3

;事务checkpoint时间间隔,单位毫秒,默认1小时
checkpointInterval=3600000

;最大事务超时事件数,用于监控事务超时
maxTxTimeoutTimerCapacity=30000
;最大事务超时时间,单位秒
maxTxTimeoutInSeconds=60
;事务日志的刷盘设置,0表示让操作系统决定,1表示每次commit都刷盘,2表示每隔1秒刷盘一次
flushTxLogAtCommit=1

;zk配置
[zookeeper]
;是否注册到zk,默认为true
;zk.zkEnable=true
;以下为zk配置,可以为空,为空将从diamond获取,不为空则优先使用下列配置
;zk的服务器列表
zk.zkConnect=localhost:2181
;zk心跳超时,单位毫秒,默认30秒
zk.zkSessionTimeoutMs=30000
;zk连接超时时间,单位毫秒,默认30秒
zk.zkConnectionTimeoutMs=30000
;zk数据同步时间,单位毫秒,默认5秒
zk.zkSyncTimeMs=5000

;zk在diamond中配置存储的dataId
;diamondZKDataId=metamorphosis.zkConfig
;zk在diamond中配置存储的group
;diamondZKGroup=DEFAULT_GROUP


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

[topic=wuhua-test]
stat=true
numPartitions=10
unflushInterval=50
unflushThreshold=10
第三步:启动服务器

cd bin sh meta-server-start.sh -f ../conf/server.properties 

其中-f选项用于指定配置文件所在完整路径。 启动meta服务器后,你可以telnet到8123端口测试 

telnet localhost 8123 stats 

8123是meta服务器的默认端口,我们telnet上去并敲一个stats命令看看。敲quit命令可以退出telnet交互。 启动后,可以查看metaServer.log。 第四步:关闭服务器 关闭服务器通过meta-server-stop.sh脚本即可关闭 sh meta-server-stop.sh

分享到:
评论

相关推荐

    metamorphosis(metaq)

    Metamorphosis,简称MetaQ,是一款高效、稳定、可扩展的消息队列系统,由阿里巴巴开发并开源,主要用于解决分布式环境下的异步处理、解耦以及数据传输等问题。在1.4.3版本中,MetaQ提供了更优化的性能和更多的功能...

    Metaq原理与应用

    - Metaq 的消息队列是持久化的、长度无限的数据结构,通过 Offset 访问存储单元,Offset 是 long 类型,理论上能支持长达100年的操作而不溢出。队列只保留最近几天的数据,旧数据会根据过期时间自动删除。 5. **...

    metaQ向spark传数据

    MetaQ是腾讯开源的一款分布式消息中间件,常用于实时数据处理系统中的消息传递。而Spark则是一个强大的、通用的并行计算框架,专为大数据分析设计,尤其擅长实时流处理。当我们需要将MetaQ中的数据传递到Spark进行...

    metaQ的安装包

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

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

    MetaQ是阿里巴巴开源的一款分布式消息中间件,它主要用于在大规模分布式系统中提供高效、可靠的消息传递服务。MetaQ Server 1.4.6.2版本是这个中间件的一个特定发行版,包含了服务端和客户端的组件,以及相关的...

    开源MQ技术介绍

    6. **MetaQ**:阿里巴巴开源的一款消息中间件,支持大规模的集群部署和消息分发。 7. **RabbitMQ**:一个健壮、易用的开源消息代理和队列服务器,支持多种消息协议。 #### 五、MQ选型考虑因素 选择合适的消息...

    metaq-server-1.4.6.2.tar.gz

    MetaQ是阿里巴巴开源的一款分布式消息中间件,主要用于提供高可靠、高可用的消息传输服务。在本文中,我们将深入探讨MetaQ Server 1.4.6.2版本的核心特性、架构设计以及使用场景,帮助读者理解其工作原理和实际应用...

    RabbitMQ.pdf

    - **RocketMQ**:原为Metaq,阿里巴巴开源,提供严格的消息顺序、丰富的拉取模式和大规模扩展能力。 - **RabbitMQ**:基于AMQP协议,支持多种协议,适合企业级应用,提供了多种消息模式。 **1.4. RabbitMQ特性** ...

    Java消息通信研究.pdf

    这些消息队列在互联网应用中得到了广泛应用,如淘宝的MetaQ等开源产品。 JMS是Java消息服务的简称,它是一种消息中间件,主要用于两个应用程序间或分布式系统间发送消息,进行异步消息通信。JMS是与平台无关的实现...

    RabbitMQ入门操作手册.pdf

    RabbitMQ是一个基于AMQP(Advanced Message Queuing Protocol)的开源消息代理,其核心是用Erlang编程语言构建,能够支持多种客户端,包括Python、Java、.NET等,这使得它具备广泛的适用性。 **消息队列(MQ)**是...

    kafka课堂讲义.docx

    MetaQ 和 RocketMQ 是阿里巴巴开源的分布式消息系统,支持分布式事务。 总之,Kafka 以其高效、可靠和分布式的特点,成为了大数据时代实时数据处理的关键组件。无论是实时监控、日志收集还是数据集成,Kafka 都能...

    RocketMQ技术原理

    RocketMQ是一种分布式消息中间件,由阿里巴巴淘宝消息中间件项目组开发。其主要解决消息中间件在生产实践中遇到的问题,如消息发布/订阅、消息优先级、消息顺序、消息过滤、消息持久化、消息可靠性、低延迟消息等。...

    电商消息系统架构演进&mdash1

    - **MetaQ/ RocketMQ/ Kafka**:这些开源的消息队列系统,提供高吞吐量、低延迟的特性,适用于大规模分布式系统。 4. **客户端与接口** - **App SDK**:为移动应用提供集成消息服务的开发包。 - **...

    RocketMq快速入门文档

    RocketMQ是一款由阿里巴巴开源并捐赠给Apache基金会的分布式消息中间件,源自阿里的MetaQ项目,具有高性能、高可用、低延迟等特性,尤其在处理大规模消息流转方面表现出色。RocketMQ支持十万级别的数据吞吐量,处理...

    Storm实时处理方案架构.docx

    该部分可以使用多种数据收集方式,包括使用消息队列(MetaQ)、直接通过网络Socket传输数据、前端业务系统专有数据采集API和Log文件监控等。 1.1 使用消息队列(MetaQ) 使用消息队列作为数据中间处理组件的原因是...

    分布式消息引擎Apache RocketMQ最佳实践

    - **2015年**:MetaQ升级至v3.0,同年开源了RocketMQ。 - **2016年**:RocketMQ正式成为Apache项目,标志着其技术实力获得了国际认可。 ##### 2.2 架构概述 RocketMQ采用了主从复制的架构模型,由以下几个关键组件...

    消息中间件rocketmq原理解析

    - **普通消息与顺序消息**:RocketMQ保证消息在同一个队列(queue)内的顺序性。若需要发送顺序消息,Producer要保证同一业务逻辑下的消息发送至同一个queue中。 - **实现机制**:可以通过业务标识如订单号(orderId...

    阿里云ons指南

    阿里云ONS(消息队列服务)是基于阿里云提供的分布式的、高可靠性的消息服务产品,它来源于阿里内部广泛使用的消息中间件MetaQ,亦即后来的开源项目RocketMQ。ONS支持海量消息的生产与消费,以无单点故障、高可扩展...

    RocketMQ学习文档

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

Global site tag (gtag.js) - Google Analytics