摘要: 源代码里所给的example很简单,但大体上了模拟了其运行的过程,分三个部分。可参考里面的README文件:Configurarion(配置)、Running Scribe Server(运行服务器)、Logging messages(记录日志)先运行Scribe example来看看效果。1.Example1:向已经启动的Server发送消息,验证是否被记录下来。 #创建日志信息存放目录:$mkdir /tmp/scribetest#用example1.conf配置文件启动Scribe服务:$scribed examples/example1.conf#开启另一个终端,使用scribe_ca 阅读全文
posted @ 2011-10-28 13:29 残夜 阅读(1484) 评论(0) 推荐(0) 编辑
摘要: 随着云计算时代的到来,我们的互联网系统服务端越来越庞大,一个大型系统通常由成百上千台机器集群而成,我们的系统会部署在这数千台机器中,此时需要时刻监控每一个系统运行的数据。我们可能会需要了解各个系统每天进行了多少交易,并进行汇总、分析、统计、报表。典型的应用就是:收集上千个系统产生的日志,并进行分析统计里面的数据,挖掘、预测。简单的方式可以是:同步每个机器上的日志到离线服务器,定时分析离线的日志,将离线分析结果报告存储起来,同时完成备份日志的工作。这样无法做到实时分析、监控,另外我们需要关注所有的系统。但还有一种简单的方式:将每个系统的日志实时报告给中心服务器,在中心服务器使用大的磁盘存储或分布 阅读全文
posted @ 2011-10-28 13:28 残夜 阅读(786) 评论(1) 推荐(0) 编辑
摘要: Thrift 是一个创建夸语言、可伸缩服务的框架。Thrift 最初由Facebook 研发,并捐献给Apache 以求更好的发展。Thrift 基于Apache 2.0 许可。通过简单直接的接口定义语言(IDL,Interface Definition Language),Thrift 允许你用各种语言定义、创建服务。Thrift 使用代码生成的方式创建用于构建客户端/服务器的相关文件。除了交互性,Thrift 还拥有高效的序列化机制。在Facebook,变成语言的选择,取决于你手头的工作。然而当这些程序要相互调用时,会产生很多问题!经过研究,Facebook 的工程师们没有找到任何现成的东 阅读全文
posted @ 2011-10-28 13:28 残夜 阅读(1399) 评论(0) 推荐(0) 编辑
摘要: Scribe 是Facebook 开源的分布式日志系统 。 可以用java 借助log4j 向分布式Scribe 写入日志。下面来学习一下Scribe系统的安装。 一、软件下载 gcc 4.1.2libevent-1.3python2.6ruby-1.9.2libxml2php-5.3.8boost1_45_0thrift0.4.0scribe_1.5.0依赖关系如下图: 二、安装步骤1、输入gcc –v 检查gcc版本是否>3.3.5 是,则继续下一步。否,则安装gcc 。2、安装 boost 1.33.1+$tar zxvf boost_1_45_0.tar.gz$cd boost_ 阅读全文
posted @ 2011-10-28 13:28 残夜 阅读(2175) 评论(0) 推荐(0) 编辑
摘要: 在进行Scribe安装的时候遇到一些问题,其中大部分是依赖包和版本的问题,下面把安装过程中遇到的问题列举一下。 说明:上一篇中对Scribe的安装,其中安装具体依赖包时的方法可能不同,比如thrift有的版本中的bootstrap.sh,有的版本则直接configure等。 安装Scribe软件依赖关系如下: 编译Scribe出错因为 thrift 的安装决定了后面的 scribe 的安装,我开始安装 thrift-0.5.0.tar.gz 这个版本的,但在 scribe 的时候会一直报: scribe_server.h:45: error: conflicting return type.. 阅读全文
posted @ 2011-10-28 13:28 残夜 阅读(1693) 评论(0) 推荐(0) 编辑
摘要: thrift安装包结构 thrift框架用c++代码写成,主要的文件包为 compiler和lib compiler结构: |-- cpp | `-- src | `-- generate | -- parse | main.cc main.cc就是thrift的主程序 // Generate it! generate(progra... 阅读全文
posted @ 2011-10-28 13:28 残夜 阅读(826) 评论(0) 推荐(0) 编辑