Apollo简单操作
1、apollo安装和配置:
下载地址:
http://www.apache.org/dyn/closer.cgi?path=activemq/activemq-apollo/1.7/apache-apollo-1.7-unix-distro.tar.gz
解压后对文件目录赋权限后就可以开始安装:
zqgame@kickseed:/data/apache$apache-apollo-1.6/bin/apollo create zqgame-ad
创建zqgame-ad的队列实例,产生实例项目的目录位于执行命令的当前目录。 Apollo实例的目录结构:
zqgame@kickseed:/data/apache/zqgame-ad$ ls
bin data etc log tmp
bin -- Apollo启动关闭脚本
data -- 消息数据存放目录,默认每达到100Mb会产生一个新的数据文件
etc -- Apollo的配置文件目录
log -- 日志目录
注意:在apollo异常终止,如kill操作或者硬盘爆满导致apollo终止,再次启动是需要查看log/stacktrace.log是否有异常信息,有异常(一般是缺失某个文件)时清空data目录 2、修改配置:
/**后台管理地址,ip为本机ip;后台可查看年队列信息、连接信息、虚拟机运行情况、配置文件**/
/**连接apollo的端口**/
对于web_admin和connector的配置,只需要保留这2个,其他可是情况配置 3、启动apollo
zqgame@kickseed:/data/apache/zqgame-ad$ bin/apollo-broker-service start
Starting apollo-broker-service
apollo-broker-service is now running (14142)
此种启动是以后台运行方式启动,如过是调试启动可运行:
zqgame@kickseed:/data/apache/zqgame-ad$ bin/apollo-broker run
关闭apollo或者重启apollo:
/**关闭apollo**/
zqgame@kickseed:/data/apache/zqgame-ad$ bin/apollo-broker-service stop
/**重启apollo**/
zqgame@kickseed:/data/apache/zqgame-ad$ bin/apollo-broker-service restart
当使用上述命令关闭不了apollo时才可以使用kill进行杀死进程,但此命令有可能会导致data目录的数据文件损坏。
apollo默认使用的时leveldb存储,但这个存储引擎有上述说的问题,即在kill进程后会损坏data目录文件,表现为队列里有消息,但是消费不了,因此建议换成bdb存储:
#把上面的level db替换为berkerly db
另外还需要下载额外的jar包放到apollo的lib目录下:
curl http://download.oracle.com/maven/com/sleepycat/je/5.0.34/je-5.0.34.jar > ${APOLLO_HOME}/lib/je-5.0.34.jar
[另外可参考apollo文档] [2]
注意:使用bdb后可以修复kill进程导致数据损坏问题,但是bdb修复需要时间,使用者启动后需要等待修复才能消费消息 4、异常诊断
1)、日志分析: 查看log/stacktrace.log查看apollo异常信息
查看log/apollo.log查看apollo的启动情况
通过这2个日志查看apollo状态
2)、后台分析:
![在此输入图片描述][1] 后台地址:http://机器ip:61680
默认用户名和密码是:admin password
进入后台后可查看连接到此apollo队列的生产者和消费者,以及堆积的消息
如上图可查看apollo运行的情况,如虚拟机运行情况
[1]: http://static.oschina.net/uploads/space/2014/0513/155739_N5w6_128568.jpg [2]:http://activemq.apache.org/apollo/documentation/user-manual.html#BDB_Store