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

java,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 --with-boost=/opt/soft/boost/ --with-java --prefix=/opt/soft/thrift
make
make install

安装fb303

cd contrib/fb303
./bootstrap.sh --prefix=/opt/soft/thrift/fb303 --with-boost=/opt/soft/boost/ --with-thriftpath=/opt/soft/thrift/
make
make install

安装scribe

unzip facebook-scribe-2ee14d3.zip
cd facebook-scribe-2ee14d3

export BOOST_ROOT=/opt/soft/boost/
export LD_LIBRARY_PATH=/opt/soft/thrift/lib:/usr/lib:/usr/local/lib:/opt/soft/boost/lib/
./bootstrap.sh --prefix=/opt/soft/scribe --with-boost=/opt/soft/boost/ --with-thriftpath=/opt/soft/thrift/
make
make install

启动scribe服务

cd facebook-scribe-2ee14d3
cp example/exmaple1.conf /opt/soft/scribe/bin
cd /opt/soft/scribe/bin/
export BOOST_ROOT=/opt/soft/boost/
export LD_LIBRARY_PATH=/opt/soft/thrift/lib:/usr/lib:/usr/local/lib:/opt/soft/boost/lib/
./scibed example1.conf

生成客户端使用scribe

先产生java的thrift代码:
cd facebook-scribe-2ee14d3/if/
thrift -r -I ../../thrift-0.5.0/contrib/(这里需要指到你的thrift的源码目录) -gen java scribe.thrift

使用

gen-java目录下有thrift的客户端,即取即用。javaeye里有一篇写配置log4j使用scribe的不错:http://www.javaeye.com/topic/800208


原创文章如转载,请注明:转载自五四陈科学院[http://www.54chen.com]

捐款订阅54chen
捐赠说明

Comments