1、概述

Scribe是facebook开源的日志收集系统,可用于搜索引擎中进行大规模日志分析处理。其通常与Hadoop结合使用,scribe用于向HDFS中push日志,而Hadoop通过MapReduce作业进行定期处理,具体可参见日文日志:

http://d.hatena.ne.jp/tagomoris/touch/20110202/1296621133

其安装非常复杂,主要是因为其依赖的包,需要设置的环境变量非常多,另外,它与Hadoop兼容不好,安装急需要技巧。目前对于Scirbe的安装方法,网上尽管有人介绍,但往往过于粗略,用处不大。本文比较全面的介绍了Scribe的安装方法,方法已经得到验证。

2、安装前的准备

(1)Thrift依赖软件

具体参见文章:http://wiki.apache.org/thrift/ThriftRequirements, 关于Thrift的介绍,参见我的另一篇日志:http://dongxicheng.org/search-engine/thrift-framework-intro/

(2)Thrift

最新版本即可。

(3)Scribe

版本2.1和2.2存在问题,直接下载github的当前版本才可用(见参考资料4)。

(4)Hadoop

Apache的所有版本(0.20.2(包括)之前)不可用,因为它们的libhdfs与Scribe均不兼容。

Cloudera的几乎所有版本不可用,只有CDH3 beta2(0.20.2+320)可用。需要强调的是:Cloudera的0.20.2+737和 0.20.2+320之间不可以相互通信(在此指HDFS不可相互通信),Apache 0.20.2版本和Cloudera 0.20.2之间也不可相互通信。具体错误参见参考资料1。

需要注意的是,我所用的机器是64位的,操作系统是Ubuntu。

3、安装流程

(1)安装Thrift依赖软件

必须得安装的是:g++, boost,autoconf,libevent,Apache ant, JDK, PHP,python

其它脚本语言根据需要安装

(2)安装Thirft

大体流程是:

tar -zxvf thrift-0.2.0.tar.gz

cd thrift-0.2.0

./bootstrap.sh

./configure

sudo make

sudo make install

遇到具体问题,可到google上查找,这方面资料很多。

安装完Thirft后,记得运行一下它提供的example,看是否安装成功。方法:在thrift源代码目录有一个叫tutorial的目录,进行其中后运行thrift命令生成相应的服务代码:

$ thrift -r –gen cpp tutorial.thrift // -r对其中include的文件也生成服务代码 -gen是生成服务代码的语言

运行完之后会在当前目录看到一个gen-cpp目录,其中就是thrfit命令生成的代码。这时你cd到tutorial/cpp目录,运行make,生成相应的CppServer与CppClient程式。

此时你可以分别运行CppServer和CppClient,让它们通信。

(3)安装Hadoop

如果你发现Hadoop中自带的已经编译好的libhdfs不可用(libhdfs在$HADOOOP_HOME/c++中),可自己编译生成libhdfs,方法是,在$HADOOP_HOME下,输入: ant compile-c++-libhdfs -Dislibhdfs=true ,同时设置Hadoop的CLASSPATH。

(4)安装Scribe

./boottrap.sh (主要目的是生成configure, 如果出现类似于configure: error: Could not link against  !的错误,不要管,进行下一步好了!)

———————————

./configure –with-boost=/usr/local/boost –prefix=/usr/local/scribe –with-hadooppath=/home/dong/hadoop-0.20.2/ –enable-hdfs CPPFLAGS=”-I/opt/jdk1.6.0_21/include/ -I/opt/jdk1.6.0_21/include/linux -I/home/dong/hadoop-0.20.2/src/c++/libhdfs” LDFLAGS=”-L/opt/jdk1.6.0_21/jre/lib/amd64 -L/opt/jdk1.6.0_21/jre/lib/amd64/server -L/home/dong/hadoop-0.20.2/build/c++/Linux-amd64-64/lib -ljvm -lhdfs”

————————————————

make

———————————————–

sudo make install

安装成功验证方法参见参考文献(5)。

4、可能出现的错误及解决方法

(1)运行boottrap.sh时,产生以下错误:

checking whether the Boost::System library is available… yes

checking whether the Boost::Filesystem library is available… yes

configure: error: Could not link against  !

当安装的boost目录不在默认的/usr目录下时,用户需要配置boost安装目录,如:

./configure –with-boost=/usr/local/boost –prefix=/usr/local/scribe

(2)运行examples时,产生以下错误:

Traceback (most recent call last):

File “examples/scribe_cat”, line 24, in <module>

from scribe import scribe

ImportError: No module named scribe

解决方法:python找不到scribe模块,需要把scribe package包含进来,如:

export PYTHONPATH=”/usr/lib/python2.6/site-packages/”

(3)Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/ hadoop/conf/Configuration

解决方法,将Hadoop的classpath加到环境变量中,如:

export CLASSPATH=$HADOOP_HOME/hadoop-core-0.20.2+320.jar

5、参考资料

(1)介绍scribe与libhdfs的兼容性问题(日文):

http://d.hatena.ne.jp/tagomoris/touch/20110107/1294368321

(2)介绍scribe的安装方法(日文):

http://d.hatena.ne.jp/tagomoris/touch/20110106/1294311969

(3)介绍scribe的安装方法(英文):http://www.myhpcblog.blogspot.com/

(4)scribe下载官方主页:https://github.com/facebook/scribe

(5)Scribe应用介绍:

http://blog.octo.com/en/scribe-a-way-to-aggregate-data-and-why-not-to-directly-fill-the-hdfs/

(6)Scribe安装方法:http://blog.octo.com/en/scribe-installation/

(7)Hadoop的各个CDH版本下载地址:http://archive.cloudera.com/cdh/3/

原创文章,转载请注明: 转载自董的博客

本文链接地址: http://dongxicheng.org/search-engine/scribe-installation/

转载于:https://www.cnblogs.com/wshsdlau/p/3529044.html

Scribe+HDFS日志收集系统安装方法相关推荐

  1. oracle ebs系统日志,OracleEBS各个模块日志收集的方法

    select value from v$parameter where name = 'utl_file_dir'; The User must have write privilege to thi ...

  2. Scribe日志收集工具

    Scribe日志收集工具 概述 Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用.它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文 ...

  3. Nginx容器日志收集方案fluentd+elasticsearch+kilbana

    容器技术在发展到今天已经是相当的成熟,但容器不同于虚拟机,我们在使用容器的同时也有很多相关的技术问题需要解决,比如:容器性能监控,数据持久化,日志监控与分析等.我们不能像平时使用虚拟机一样来管理容器, ...

  4. scribe - 日志收集器 分析

    1.General  description 我们知道,使用日志系统是为了使系统变得更健壮,能够应对各种错误并能从错误中较快地恢复.一个大型的分布式系统生成的日志数量是巨大的,所以需要一个有效的工具对 ...

  5. scribe php,Scribe日志收集系统的安装

    除此之外本文还收集了网络上的很多资料,加入了自己的一些解决方法,由于没有集中记录,有些地方若出现了相同,还请见谅,感谢原著作者. Scribe是facebook开源的日志收集系统,在facebook内 ...

  6. Flume-NG + HDFS + HIVE 日志收集分析 | EyeLu技术Blog

    Flume-NG + HDFS + HIVE 日志收集分析 | EyeLu技术Blog: "" (Via.) 转载于:https://www.cnblogs.com/devops/ ...

  7. VMware日志收集方法总结

    https://www.kclouder.cn/vmware-log-collection/ VM VMware的产品线很多,非常庞大,每种产品都有Diagnostic Information的收集方 ...

  8. oracle ebs wsh picking batch,OracleEBSShipping(WSH)模块日志收集方法

    Oracle EBS Shipping(WSH)模块日志收集方法 A. To generate a debug file from the Shipping Transaction or Quick ...

  9. 分布式日志收集系统scribe介绍

    Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用. Scribe是基于一个使用非阻断C++服务器的thrift服务的实现.它能够从各种日志源上收集日志,存储到 ...

最新文章

  1. 三、临时弹出一个QQ对话窗口
  2. android 获得应版本号,Android获得本应用版本号和版本名称
  3. python与办公自动化-用 Python 自动化办公,我与大神之间的差距一下就
  4. 我的第一个JW项目——网上商城设计说明书(五)
  5. 【渝粤题库】广东开放大学 PHP动态网站设计 形成性考核
  6. python整数转换字符串_使用Python中的str()函数将整数值转换为字符串
  7. HomeWindowsYesPlayMusic – 一个好看的第三方xx云音乐客户端 YesPlayMusic
  8. Nginx配置示例文件
  9. 简单就是不复杂 转
  10. 【工程项目经验】之软链接跟硬链接
  11. 交换机千兆和百兆对网速影响_电信宽带升级为200M,为什么网速没有提升多少?...
  12. Python 三级菜单-字符编码和转码-集合的操作-文件的操作
  13. 解决导入Beautifulsoup 报错 AttributeError: 'module' object has no attribute '_base'的问题
  14. MCU总线读写仿真模块
  15. Matlab中Simulink小白入门初学教程
  16. 如何导出mysql数据库
  17. 软件工程人才的社会需求现状与发展分析
  18. 河南理工计算机课程表,河南理工大学张威的课程表.doc
  19. 开心网(http://www.kaixin001.com)的一些JS代码分享
  20. java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽

热门文章

  1. matlab虚拟现实之工具介绍(修改)
  2. php mysql 读写删改_PHP+MYSQL实现用户的增删改查
  3. WIN7 VS2010下配置 CGAL-4.7
  4. linux v4l2 示例程序,linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析)...
  5. 机器学习面试题之LR
  6. 数据分析:星巴克店铺分布有何规律?
  7. python正则匹配11个数字_Python正则表达式匹配字符串中的数字
  8. python打电话播放语音_让电话录音也能看得见,录音一键转为文字
  9. wordpress如何让百度快速收录_安顺如何发布信息百度收录在首页
  10. pytorch之学习率变化策略之LambdaLR