[转载] Scribe应用实例
2014-06-20 14:05
274 查看
原文链接:http://www.cnblogs.com/oubo/archive/2011/10/28/2394610.html
源代码里所给的example很简单,但大体上了模拟了其运行的过程,分三个部分。可参考里面的README文件:Configurarion(配置)、Running Scribe Server(运行服务器)、Logging messages(记录日志)
先运行Scribe example来看看效果。
1.Example1:向已经启动的Server发送消息,验证是否被记录下来。 #创建日志信息存放目录:
#用example1.conf配置文件启动Scribe服务:
#开启另一个终端,使用scribe_cat 向scribe服务发送信息:
这时你很可能会出现如下错误提示:
![](http://pic002.cnblogs.com/images/2012/384764/2012031417012316.jpg)
也就是说python导入模块scribe失败,但我们打开/usr/lib/python2.6/site-packages,发现里面是有scribe的模块的,所以很可能是PYTHONPATH没有配置正确。使用如下命令进行配置: 进入到/etc目录,然后输入命令gedit profile(profile文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行),在此文件中添加如下内容:
或 找到系统安装Python的路径(如我的是/usr/local/python2.6),将/usr/lib/python2.6/site-packages下内容拷贝到/usr/local/lib/python2.6/site-packages下即可。 #Verify that the message got logged:
2) Example2:启动中心服务器和客户端服务器,然后开启一个终端并输入三条命令,并查看结果: 示意图如下
![](http://pic002.cnblogs.com/images/2012/384764/2012031417034041.jpg)
执行如下命令:
查看结果:
当客户端服务器讲收到的信息发送给中心服务器后,会删除本地的存储。 结果显示:客户端收到三条消息,发送了三条消息;服务器端收到三条消息,忽略了一条消息。
3) Example3:如同Example2启动中心服务器和客户端服务器,但本例测试的是在中心服务器突然down掉的情况下,客户端服务器的缓冲存储功能。
#结果:
全部正常接收
源代码里所给的example很简单,但大体上了模拟了其运行的过程,分三个部分。可参考里面的README文件:Configurarion(配置)、Running Scribe Server(运行服务器)、Logging messages(记录日志)
先运行Scribe example来看看效果。
1.Example1:向已经启动的Server发送消息,验证是否被记录下来。 #创建日志信息存放目录:
$mkdir /tmp/scribetest
#用example1.conf配置文件启动Scribe服务:
$scribed examples/example1.conf
#开启另一个终端,使用scribe_cat 向scribe服务发送信息:
$echo "hello world" | ./scribe_cat test
这时你很可能会出现如下错误提示:
![](http://pic002.cnblogs.com/images/2012/384764/2012031417012316.jpg)
也就是说python导入模块scribe失败,但我们打开/usr/lib/python2.6/site-packages,发现里面是有scribe的模块的,所以很可能是PYTHONPATH没有配置正确。使用如下命令进行配置: 进入到/etc目录,然后输入命令gedit 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下即可。 #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:启动中心服务器和客户端服务器,然后开启一个终端并输入三条命令,并查看结果: 示意图如下
![](http://pic002.cnblogs.com/images/2012/384764/2012031417034041.jpg)
执行如下命令:
#启动中央服务器 $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_current $cat /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 #发送消息1 $cat /tmp/scribetest/test3/test3_current #结果:test message 1 $./scribe_ctrl stop 1463 #down掉中心服务器 $./scribe_ctrl status 1463 #结果:Failed to get status $echo "test message 2" | ./scribe_cat -h localhost:1464 test3 #发送消息2 $./scribe_ctrl status 1464 #结果:WARNING - Failed to connect $echo "test message 3" | ./scribe_cat -h localhost:1464 test3 #发送消息3 $scribed examples/example2central.conf #重新启动中心服务器 $./scribe_ctrl status 1463 #结果:ALIVE $./scribe_ctrl status 1464 #结果:ALIVE $cat /tmp/scribetest/test3/test3_current
#结果:
test message 1 test message 2 test message 3
全部正常接收
相关文章推荐
- SQL Server常用的系统存储过程应用实例(转载)
- 转载-shell函数应用实例介绍
- Scribe应用实例
- [转载][Android实例] 为Android应用添加搜索功能
- C++ 中引用(&)的用法和应用实例 (转载)
- Web2.0之Ajax 学习笔记与应用实例(转载)
- [转载]FFmpeg完美入门[4] - FFmpeg应用实例
- linux tcp并发式服务器应用SELECT函数编写实例源代码(转载)
- C#使用XmlDocument操作XML进行查询、增加、修改、删除、保存应用的实例(转载)
- 大数据应用日志采集之Scribe演示实例完全解析
- (转载)简洁、明晰!数据库设计三大范式应用实例剖析
- 数据库设计三大范式应用实例剖析(转载)
- SQL Server常用的系统存储过程应用实例(转载)
- Scribe应用实例
- [转载]数据库设计三大范式应用实例剖析
- SQL Server常用的系统存储过程应用实例(转载)
- 转载:QTP中虚拟对象设置及应用实例
- C#使用XmlDocument操作XML进行查询、增加、修改、删除、保存应用的实例(转载)
- [转载]php下把数组保存为文件格式的实例应用
- 大数据应用日志采集之Scribe演示实例完全解析