技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统运维 --> scribe的生产实践总结

scribe的生产实践总结

浏览:1787次  出处信息

   一、scribe是什么

   scribe是facebook开源的分布式日志系统。这里两年前的使用手记。http://www.54chen.com/_linux_/log-server-scribe-helper.html。严格说它只是一个日志处理的节点,与分布式系统相比差很多复杂的节点间的控制过程。不过也贵在它很精简,不容易出现问题。两年多时间以后,线上还没出现过一例scribed自己crash掉的情况。

   二、scribe遇到master挂掉

   生产环境中一般配置为一个primary(type=network)带一个secondary(type=file),在遇到master挂掉的情况下,会直接写到本地磁盘。

   这个设置有非常多好处,当远程的master恢复了,本地磁盘的这些个日志还会被scribe给送回去。

   日常要监控这个事情的发生也很简单,一行脚本就可以:

   ALERT=`du -sb /tmp/scribe/|awk '{print $1}'`

   if [ ${ALERT} -ge 1024000 ]; then

     //alert

   fi

   三、scribe自己挂掉

   scribe自己挂掉要预防把业务堵死了,一定要用异步线程在写这个日志,如果本地的scribed挂了,那端口一定不在了,在new thrift连接的时候就会失败,可以在这个异步线程中去设定多久再重试,但这就是有损日志的了。

   日常监控一般可以直接看端口还在不在,不过一般不会挂(两年多还没见过)。

   比较文艺的做法可以用他给的ctrl.sh那个python脚本去读取scribed内部的perfcounter来报警。

   四、scribe遇到master没挂但是网络不好

   这个比较难受,网络一堵,很多天都追不上来。而且会出现恶性循环。所以还是要网络给力,最差要能传输不滞留日志。

   我米高人航军大侠搞了一个压缩过的传输scribed改造,还没试用,理论上数据量降了应该有一定缓解。

   五、scribe与kafka对比

   kafka是linkedin开源的一个日志分发系统,scala的,很牛B的一个系统,以cluster、去中心化、高效为特点,比起scribed来说,kafka是航空母舰,scribed是激流勇进那种冲锋舟,各有各的好处。

   从日志收集的需求来看,如果遇到前面4点的故障的话,使用kafka的话,要做的事情还不少。但如果出现中心化的故障的话,还是kafka不怕down机。


   想快点找到作者也可以到Twitter上留言: @54chen

   或者你懒得带梯子上墙,请到新浪微博:@54chen

建议继续学习:

  1. 分布式日志系统scribe使用手记    (阅读:8048)
  2. 用hadoop hive协同scribe log用户行为分析方案    (阅读:4142)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1