scribe安装与配置
1. 依赖软件:
a. autoconf:
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar xvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --bindir=/usr/bin
make && make install

b. 依赖库:
yum install libevent libevent-develpython-devel yum install gcc-c++
yum install libtool
yum install automake
yum install byacc flex
c. boost, 最好1.45
wget http://jaist.dl.sourceforge.net/project/boost/boost/1.45.0/ boost_1_45_0.tar.gz
tar -xf boost_1_45_0.tar.gz
cd boost_1_45_0
./bootstrap.sh
./bjam install --prefix=/usr/local/bootstrap
d. thrift
wget --no-check-certificate https://dist.apache.org/repos/dist/release/ thrift/0.8.0/thrift-0.8.0.tar.gz
tar xzf thrift-0.8.0.tar.gz
cd thrift-0.8.0
./configure --with-boost=/usr/local/bootstrap/ --with-java --prefix=/usr/local/thrift --with-php-config=/usr/local/php/bin/php-config make && make install
cd thrift-0.8.0/contrib/fb303
./bootstrap.sh --prefix=/usr/local/thrift/fb303 --with-boost=/usr/ local/bootstrap/ --with-thriftpath=/usr/local/thrift/
./configure --prefix=/usr/local/thrift/fb303 --with-boost=/usr/local/ bootstrap/ --with-thriftpath=/usr/local/thrift/ CPPFLAGS="- DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H"
2. 安装scribe
export BOOST_ROOT=/usr/local/bootstrap/
export LD_LIBRARY_PATH=/usr/local/thrift/lib:/usr/lib:/usr/local/lib:/
usr/local/bootstrap/lib/
./bootstrap.sh --prefix=/usr/local/scribe --with-boost=/usr/local/bootstrap/ --with-thriftpath=/usr/local/thrift/ --with-fb303path=/usr/local/thrift/fb303 -- with-hadooppath=$HADOOP_HOME --enable-hdfs
./configure --prefix=/usr/local/scribe --with-boost=/usr/local/bootstrap/ -- with-thriftpath=/usr/local/thrift/ --with-fb303path=/usr/local/thrift/fb303 -- with-hadooppath=$HADOOP_HOME --enable-hdfs CPPFLAGS="-I $HADOOP_HOME/src/c++/libhdfs/ -I$JAVA_HOME/include/ -I $JAVA_HOME/include/linux/ -I$JAVA_HOME/jre/lib/amd64" LDFLAGS="- ljvm -lhdfs -L$JAVA_HOME/jre/lib/amd64-L$HADOOP_HOME/c++/Linux- amd64-64/lib "
这里有可能会报错,C Compiler 之类的,去看config.log发现是gcc -ljvm 和 gcc -lhdfs找不到,
-ljvam:
ln -s $JAVA_HOME/jre/lib/amd64/server/libjvm.so /usr/lib64/ libjvm.so.2.2
ln -s /usr/lib64/libjvm.so.2.2 /usr/lib64/libjvm.so

-lhdfs:
ln -s $HADOOP_HOME/c++/Linux-amd64-64/lib/libhdfs.so.0 /usr/ lib64/libhdfs.so.0
这里一定要用链接,不要直接copy,会找不到这两个库依赖的库的..
到这里编译应该可以成功了(应该...)
然后需要 copy $HADOOP_HOME/src/c++/libhdfs/hdfs.h src/
然后修改src/HdfsFile.cpp 将hdfsConnectNewInstance() 改成 hdfsConnect(), hdfsConnectNewInstance是某个scribe时期的hadoop历史版本, 现在已经不支持
make&&make install
3. 需要添加的环境变量
export CLASSPATH = $CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/ jre/lib:$HADOOP_HOME/hadoop-core-1.0.4.jar:$HADOOP_HOME/lib/co mmons-logging-1.1.1.jar:$HADOOP_HOME/lib/commons-configuration-1.6.jar: $HADOOP_HOME/lib/commons-logging-api-1.1.1.ja r:$HADOOP_HOME/lib/commons-lang-2.4.jar
export BOOST_ROOT=/usr/local/bootstrap/
export LD_LIBRARY_PATH=/usr/local/thrift/lib:/usr/lib:/usr/local/lib:/ usr/local/bootstrap/lib/
4. 中间可能遇到的问题
一. 编译scribe时 configure: error: Could not link against boost_filesystem !
设置环境变量
export BOOST_ROOT=/usr/local/bootstrap/
中交兴路-基础研发部-⾼高健峰 2013-05-28
export LD_LIBRARY_PATH=/usr/local/thrift/lib:/usr/lib:/usr/ local/lib:/usr/local/bootstrap/lib/
二. make时, hdfsConnectNewInstance not in this scope
将HdfsFile.cpp 中的hdfsConnectNewInstance 改为 hdfsConnect
三. 运行时, Configuration, LogFactory, StringUtil not found
export CLASSPATH = $CLASSPATH:$JAVA_HOME/lib: $JAVA_HOME/jre/lib:$HADOOP_HOME/hadoop-core-1.0.4.jar: $HADOOP_HOME/lib/co mmons-logging-1.1.1.jar:$HADOOP_HOME/lib/commons-configuration-1.6.jar:
$HADOOP_HOME/lib/commons-logging-api-1.1.1.ja r:$HADOOP_HOME/lib/commons-lang-2.4.jar
四. 运行时 hdfs append not supported!
修改hadoop配置文件hdfs-site.xml
加入 <property>
<name>dfs.support.append</name>
<value>true</value> </property>
5. 源代码的一些修改
HdfsFile.cpp 关于hdfsExist部分的修改
Store.cpp 关于baseFileName部分的修改
分享到:
相关推荐
- **日志分析**:可以利用 Log4j 来记录应用程序运行时的各种日志信息,再通过 Scribe 收集这些日志到 HDFS 中。之后使用 Hive 查询这些数据,以获取关于用户行为、系统性能等方面的洞察。 - **数据持久化**:对于...
5. **灵活性**: 支持多种后端存储系统,如Hadoop HDFS、Cassandra、MySQL等,可根据实际需求选择合适的存储方案。 在scribe-master压缩包中,可能包含以下组件和配置文件: - **源代码**: scribe的源代码,用于...
4. **持久化**:为了防止数据丢失,Scribe支持将日志数据定期写入磁盘,并且可以配置多个存储层,如内存、硬盘和HDFS等。 5. **监控与反馈**:Scribe Server会返回一个状态码给生产者,告知日志写入是否成功,方便...
5. **灵活性**:Scribe支持多种数据处理后端,如HDFS(Hadoop分布式文件系统)、Kafka等,这使得数据可以方便地与其他大数据处理框架集成。 **Scribe的使用场景** 1. **日志聚合**:在分布式环境中,各个节点产生...
Scribe的工作原理是接收来自多个来源的日志数据,并将这些数据转发到一个或多个中央存储系统,如Hadoop HDFS、Cassandra或任何自定义的存储解决方案。它支持多种协议,如TCP、UDP和HTTP,以适应不同的应用场景。通过...
scribe agent负责接收并发送数据,scribe server则根据配置将不同主题的数据转发至相应的存储系统,支持多种存储类型如HDFS、文件系统等。 2. Apache的Chukwa Chukwa是Apache基金会的一个项目,与Hadoop生态系统...
- **Scribe Server**:接收来自Agent的数据,根据预设规则将不同主题的数据分发给相应的存储系统,支持多种存储选项如文件、HDFS等。 - **存储系统**:包括多种存储后端,如file、buffer、network、bucket等,提供...
- scribe server:接收来自agent的数据,根据预设规则分发到不同的存储系统,支持多种存储选项,如文件、HDFS等。 - 存储系统:支持多种存储后端,如文件系统、网络存储或HDFS,提供容错机制,如在存储系统故障时...
Scribe的架构由scribe agent、scribe server和存储系统三部分组成,其中scribe agent负责接收日志数据,server则负责转发和存储。 2. Apache的Chukwa Chukwa是Apache基金会的一个项目,设计用于收集、存储和分析...
scribe agent通过Thrift接口向scribe server发送数据,而scribe server则根据配置将不同主题的数据分发到不同的存储系统。 2. Apache的Chukwa Chukwa是Apache基金会的一个项目,与Hadoop生态系统紧密集成,利用HDFS...
- **HDFS存储**:使用HDFS作为默认存储,但HDFS并不完全适合高并发低速率的日志写入,因此Chukwa引入了agent和collector来优化这一过程。 - **数据处理**:Chukwa的Demux和achieving功能,配合MapReduce,可以直接对...
| Store | 丰富,可以直接写 HDFS、te*t、console、TCP 等 | 丰富,可以直接写 HDFS 等 | 三、美团日志收集系统架构 美团的日志收集系统基于 Flume 设计和搭建而成,负责美团的所有业务日志的收集,并分别给 ...
此外,HBase是一个基于HDFS的NoSQL数据库,适用于存储海量结构化数据,而Hive则是一个数据仓库工具,允许用SQL语言查询HDFS中的数据。 4. **数据分析挖掘**: 分析阶段通常涉及使用工具如Hive进行查询和统计分析,...
它还拥有丰富的Agent类型,如avro、thrift、socket、text、tail等,以及多样化的Store选项,例如hdfs、text、console、tcp,支持写入HDFS时的缓冲和网络优化。 在系统架构上,美团的日志收集系统采用了三层模型:...
小米的数据统计分析平台架构包括LVS/NGINX Analytics Server、Scribe Log、HDFS、Kafka、Storm、MapReduce、Spark、HBase、MySQL、ES Query Server和Redis等组件。HBase因其天生适合大数据处理、灵活的Schema变更、...
- **Continuous Copier/Loader**:负责将数据从一个HDFS复制到另一个HDFS,或者加载到Hive表中。 #### 面临的挑战与解决方案 **挑战**: 1. **可扩展性**:数据量巨大,达到了1GB-10GB/秒。 2. **可靠性**:需要...
在大数据环境中,由于数据量巨大,通常使用分布式数据采集工具,例如Chukwa、Flume和Scribe。Chukwa是Hadoop生态系统的一部分,专门用于大型分布式系统的日志数据收集。这些工具能够高效地处理和传输海量数据。 2. ...
数据采集阶段,利用如Chukwa、Flume或Scribe等工具,对来自各种异构数据源的海量数据进行收集和传输。数据预处理涉及数据清洗、转换,如使用Sqoop将数据从SQL转移到HDFS、HIVE或HBase中。数据存储环节,HDFS作为...