淘宝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
?
网址:http://metaq.taobao.org/
转载:http://code.taobao.org/p/metamorphosis/wiki/deploy/