坚信科学,分享技术

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Tag Archives: scribe

scribe的生产实践总结

一、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来报警。 四、scr

Continue reading

Posted in linux | Tagged | Leave a comment

用hadoop hive协同scribe log用户行为分析方案

scribe 是facebook 开源的分布式日志系统,在其示例配置中,并发量可达到max_msg_per_second=2000000。54chen使用手记见:http://www.54chen.com/java-ee/log-server-scribe-helper.html hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为 MapReduce任务进行运行。54chen使用手记见:http://www.54chen.com/_linux_/hive-hadoop-how-to-install.html 下面来讲述二者合成的使用办法: 创建和scribe格式相符的hive table bin/hive > create table log(active string,uuid string,ip string,dt string) row format delimited fields terminated by ',' collection items terminated by "\n" stored as textfile; 加载数据 >LOAD DATA LOCAL INPATH '/opt/soft/hadoop-0.20.2/hive-0.7.0/data/log-2011-04-13*' OVERWRITE INTO …

Continue reading

Posted in 架构研究 | Tagged , , | 3 Comments

分布式日志系统scribe使用手记

scribe 是facebook 开源的分布式日志系统 。其使用了thrift传输log,由于使用thrift,所以不论是什么语言的项目都可以实现日志收集,可达到远程或者是本地同步远程的分布式日志收集效果,在其示例配置中,并发量可达到max_msg_per_second=2000000,对普通的应用来说,每秒上百万的访问量可能性很小,因此基本上即使最简单的配置,远程收集所有项目的log也是可靠的,如果压力大的话,可以采取主从的配置,将日志打到本地后由scribe的主从配置来自动同步。下面讲述如何安装和使用scribe。 下载boost、thrift、scribe boost_1_45_0.tar.gz thrift-0.5.0.tar.gz facebook-scribe-2ee14d3.zip 通过yum安装需要的依赖 yum install libevent libevent-devel python-devel yum install gcc-c++ yum install automake yum install byacc flex 安装boost tar -zxvf boost_1_45_0.tar.gz cd boost_1_45_0 ./bootstrap.sh ./bjam install --prefix=/opt/soft/bootstrap 安装thrift-0.5.0 tar zxvf thrift-0.5.0.tar.gz ./configure --with-php-config=/opt/soft/php/bin/php-config &hel

Continue reading

Posted in linux | Tagged , | 13 Comments