1、首先下载最新版本
https://github.com/killme2008/Metamorphosis/downloads
2、下载后解压缩
tar -zxvf metamorphosis-server-wrapper-x.x.x.x.tar.gz
3、解压缩后,文件结构如下:
启动脚本放在bin目录,主要的脚本是metaServer.sh
,而配置文件主要是conf目录下server.ini,lib存放所有的依赖jar包。
taobao
--metamorphosis-server-wrapper
--bin
env.bat
env.sh
log4j.properties
metaServer.bat
metaServer.sh
tools_log4j.properties
--conf
async_slave.properties
gregor_slave.properties
jettyBroker.properties
notifyadaper
notifySlave.properties
sample.server.ini
samsa_master.properties
server.ini
timetunnel.properties
--lib
4、zookeeper依赖
metamorphosis 必须要依赖zookeeper,也就是说要想启动meta,不能没有zookeeper,使用zookeeper发布和订阅服务,并默认使用zookeeper存储消费者offset 。虽然conf/server.ini 中有这样的说明
;zk配置
[zookeeper]
;是否注册到zk,默认为true
;zk.zkEnable=true
但是笔者尝试将zkEnable属性设置为false,metamorphosis可以启动。但是在client端程序也没找到相应地不依赖于zookeeper的meta的调用方式(可能需要自己实现客户端)。于是乎,还是要下载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
其它重要参数,详情见服务器配置
http://www.blogjava.net/livery/articles/391800.htmlbrokerId 服务器唯一标志,必须要有,不能重复
dataPath 指定数据文件路径,默认user.home/meta
dataLogPath 日志文件路径,默认跟dataPath一样
numPartitions 默认topic的分区数目
hostName 服务器hostname,可以为空,默认将取本机IP
serverPort 服务器端口 默认8123
其它具体参数信息请看conf/sample_server.ini示范文件。
5、启动、重启、关闭、检查运行状态
确保你的机器上安装了JDK并正确设置JAVA_HOME和PATH变量。
修改JAVA_HOME,JMX等变量,请修改 bin/env.sh 。
启动服务: bin/metaServer.sh start
重启服务:
bin/metaServer.sh restart
关闭服务:
bin/metaServer.sh stop
查询服务状态
bin/metaServer.sh stats
查询结果
也可以telnet到默认的8123端口执行stats命令查看。 STATS
pid 16637
broker_id 1001
port 8123
uptime 11604
version 1.4.3
slave false
curr_connections 1
threads 125
cmd_put 2050
cmd_get 946
cmd_offset 0
tx_begin 0
tx_xa_begin 0
tx_commit 0
tx_rollback 0
get_miss 944
put_failed 0
total_messages 2050
topics 3
config_checksum 2176933603
END