Scribe应用实例
来源:互联网 发布:js settimeout重复 编辑:程序博客网 时间:2024/05/24 15:36
源代码里所给的example很简单,但大体上了模拟了其运行的过程,分三个部分。可参考里面的README文件:Configurarion(配置)、Running Scribe Server(运行服务器)、Logging messages(记录日志),先运行Scribe example来看看效果。
1.Example1:向已经启动的Server发送消息,验证是否被记录下来。
a.创建日志信息存放目录:
mkdir /tmp/scribetestb.用example1.conf配置文件启动Scribe服务:
scribed examples/example1.confc.开启另一个终端,使用scribe_cat 向scribe服务发送信息:
echo "hello world" | ./scribe_cat test
测试过程中你很可能会出现如下错误提示:
Traceback (most recent call last): File "./scribe_cat", line 24,in <module> from scribe import scribe ImportError:no module named scribe
也就是说python导入模块scribe失败,但我们打开/usr/lib/python2.6/site-packages,发现里面是有scribe的模块的,所以很可能是PYTHONPATH没有配置正确。使用如下命令进行配置:进入到/etc目录,然后输入命令vi profile(profile文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行),在此文件中添加如下内容:
export PYTHONPATH= ”/usr/lib/python2.6/site-packages”source /etc/profile
也可找到系统安装Python的路径(如我的是/usr/local/python2.6),将/usr/lib/python2.6/site-packages下内容拷贝到/usr/local/lib/python2.6/site-packages下即可。
d.Verify that the message got logged:
cat /tmp/scribetest/test/test_current#检查scribe状态(requires root):./scribe_ctrl status#检查scribe连接数 (you should see 1 message 'received good'):./scribe_ctrl counters#关闭scribe服务:./scribe_ctrl stop
2. Example2:启动中心服务器和客户端服务器,然后开启一个终端并输入三条命令,并查看结果:
示意图如下:
执行如下命令:
#启动中央服务器 scribed example2central.conf & #启动客户端服务器 scribed example2client.conf & mkdir /tmp/scribetest2 scribed examples/example2central.conf scribed examples/example2client.conf echo "test message" | ./scribe_cat -h localhost:1464 test2 echo "this message will be ignored" | ./scribe_cat -h localhost:1464 ignore_me echo "123:this message will be bucketed" | ./scribe_cat -h localhost:1464 bucket_me
查看结果:
cat /tmp/scribetest/test2/test2_currentcat /tmp/scribetest/bucket*/bucket_me_current./scribe_ctrl status 1463./scribe_ctrl status 1464./scribe_ctrl counters 1463 #查看中心服务器的统计数据./scribe_ctrl counters 1464 #查看客户端服务器的统计数据
当客户端服务器讲收到的信息发送给中心服务器后,会删除本地的存储。结果显示:客户端收到三条消息,发送了三条消息;服务器端收到三条消息,忽略了一条消息。
3) Example3:如同Example2启动中心服务器和客户端服务器,但本例测试的是在中心服务器突然down掉的情况下,客户端服务器的缓冲存储功能。
echo "test message 1" | ./scribe_cat -h localhost:1464 test3 #发送消息1cat /tmp/scribetest/test3/test3_current #结果:test message 1./scribe_ctrl stop 1463 #down掉中心服务器./scribe_ctrl status 1463 #结果:Failed to get statusecho "test message 2" | ./scribe_cat -h localhost:1464 test3 #发送消息2./scribe_ctrl status 1464 #结果:WARNING - Failed to connectecho "test message 3" | ./scribe_cat -h localhost:1464 test3 #发送消息3scribed examples/example2central.conf #重新启动中心服务器./scribe_ctrl status 1463 #结果:ALIVE./scribe_ctrl status 1464 #结果:ALIVEcat /tmp/scribetest/test3/test3_current
结果:
test message 1 test message 2 test message 3
全部正常接收。
- Scribe应用实例
- 大数据应用日志采集之Scribe演示实例完全解析
- scribe
- Scribe
- 大数据应用日志采集之Scribe 安装配置指南
- scribe 研究
- scribe安装
- scribe配置
- Scribe安装
- scribe编译
- scribe概述
- scribe架构
- scribe study
- Facebook Scribe介绍
- thrift+scribe安装+hadoop
- scribe安装笔记
- scribe 架构及其store
- Scribe核心分析
- SQL 分组 统计 按 类分组 统计 子类 显示 类名
- USB OTG功能是什么意思?
- 不是书评 :《我是一只IT小小鸟》
- Lucene 最新版代码使用实例之【创建index】
- TCP/IP 参考模型中应用层上的协议(一)
- Scribe应用实例
- 孙鑫VC学习笔记:第六讲 菜单
- hello,我是铪纳永和~
- JSP随机验证码
- eclipse jqueryUIWTP插件下载地址
- Tamarine相关
- can总线
- 概要设计和详细设计的区别与联系
- javascript 继承