本文比较全面的介绍了Scribe的安装方法,地址安

作者: 网络资讯  发布:2019-11-02

1按照CentOS 5.5 下配置Hadoop 0.21单节点 一文中的方法配置Hadoop

1、概述

这几天安排做通过C访谈Hadoop,选择了LibHDFS,打算用Eclipse(V3.7.2) CDT和cygwin测试。

客户空间文件系统(Filesystem in Userspace,FUSE)允许部分文件系统一整合合为七个Unix文件系统在客商空间中实行。通过动用Hadoop的Fuse-DFS分类模块,大肆三个Hadoop文件系统(可是貌似为HDFS)都能够用作贰个规范文件系统开展挂载。我们跟着便得以采纳Unix的工具(如ls和cat)与那些文件系统交互,还足以经过率性生机勃勃种编制程序语言使用POSIX库来访问文件系统。

2编译scribe,支持hdfs

Scribe是facebook开源的日记采摘系统,可用来寻觅引擎中打开大面积日志深入分析管理。其平常与Hadoop结合使用,scribe用于向HDFS中push日志,而Hadoop通过MapReduce作业进行为期管理,具体可参见乌克兰语日志:

1.下载CDT,通过Eclipse Install New Software,在地方安装。

Fuse-DFS是用C语言达成的,使用libhdfs作为与HDFS的接口。要想询问什么编写翻译和平运动作Fuse-DFS,可参见src/contrib./fuse-dfs中的Hadoop遍及目录。

   2.1下载thrift,libevent,boost等库,能够都下载最新版本,基本上都以make & make install

2.Cygwin安装开荒库,包涵gcc, gcc-core,gcc-g , gcc-mingw-core,  gcc-mingw-g , make , gdb, binutils

环境:

   2.2下载最新版scribe-2.2,以前在英特网来看说scribe有过多bug,必需在现阶段支付版本手艺写入HDFS,试了好久没成功,也感觉真的是代码的主题素材,现在发觉不是其生龙活虎标题,直接下载 该版本

其安装非常复杂,主假如因为其借助的包,要求安装的景况变量超多,其它,它与Hadoop包容倒霉,安装急须求技能。如今对此Scirbe的设置格局,互连网固然有人介绍,但往往过于简短,用处一点都不大。本文比较康健的介绍了Scribe的装置情势,方法已经收获证实。

3.加多cygwin的bin目录到Windows的Path境遇变量里

CentOS5.5

   2.3在scribe源码包里面bootstrap.sh,依照文书档案上的说教是足以一步到位的即:./configure --with-hadooppath=/usr/local/hadoop --enable-hdfs CPPFLAGS="-I/usr/local/java/include -I/usr/local/java/include/linux" LDFLAGS="-ljvm -lhdfs",不过本身的机械下面那样特别,因而直接./configure --enable-hdfs,然后校订相应的Makefile(src目录上边包车型大巴),将以下字段改革如下:

2、安装前的预备

4.在Windows下进行gcc,运转报错,突显“访问被反驳回绝” (access denied),检查g .exe, gcc.exe是还是不是只有1k大小,假使是,那么文件是标识链接,那么把文件重命名一下(备份)。然后把g -3.exe(或许g -4.exe)拷贝风流浪漫份,重命名称叫g .exe。 把gcc-3.exe拷贝黄金年代份,重命名字为gcc.exe,参加作品http://www.linuxidc.com/Linux/2013-05/85170.htm。

hadoop-0.20.2

CPPFLAGS = -I/usr/local/lib/jdk1.6.0_23/include -I/usr/local/lib/jdk1.6.0_23/include/linux

(1)Thrift信任软件

5.编辑代码

gcc自带

地方的JDK路线以机械上边的实际上路线为准。

切切实实参见小说:http://wiki.apache.org/thrift/ThriftRequirements, 关于Thrift的牵线,参见小编的另生机勃勃篇日记:

#include "hdfs.h"

Jdk:1.6.0.21

   2.4拷贝hadoop-0.21.0hdfssrcc libhdfshdfs.h文件到scribe/src目录下,libhdfs其实正是透过JNI让C/C 调用HDFS接口,在hadoop-0.21.0hdfssrcc libhdfs目录上边推行如下操作

(2)Thrift

int main(int argc, char **argv) {

fuse-2.8.4.tar.gz

./configure --enable-shared JVM_ARCH=tune=k8 --prefix=`pwd`/nativelib

最新版本就能够。

 if (argc != 4) {
  fprintf(stderr, "Usage: hdfs_write n");
  exit(-1);
 }

Automake

./make install

(3)Scribe

 hdfsFS fs = hdfsConnect("default", 0);
 if (!fs) {
  fprintf(stderr, "Oops! Failed to connect to hdfs!n");
  exit(-1);
 }

Autoconf

此刻会在nativeliblib下素不相识成5个文件,将其都拷贝到/usr/local/lib上边,实施ldconfig

本子2.1和2.2留慰难题,直接下载github的脚下版本才可用(见参谋资料4)。

 const char* writeFileName = argv[1];
 tSize fileTotalSize = strtoul(argv[2], NULL, 10);
 tSize bufferSize = strtoul(argv[3], NULL, 10);

m4

  2.5编写翻译scribe,在scribe/src目录下边推行./make,就可以生成scribed文件,

(4)Hadoop

 hdfsFile writeFile = hdfsOpenFile(fs, writeFileName, O_WRONLY, bufferSize,
   0, 0);
 if (!writeFile) {
  fprintf(stderr, "Failed to open %s for writing!n", writeFileName);
  exit(-2);
 }

Libtool

图片 1

Apache的全部版本(0.20.2(包涵)早前)不可用,因为它们的libhdfs与Scribe均不包容。

// data to be written to the file
 char* buffer = malloc(sizeof(char) * bufferSize);
 if (buffer == NULL) {
  return -2;
 }
 int i = 0;
 for (i = 0; i < bufferSize; i) {
  buffer[i] = 'a' (i % 26);
 }
 // write to the file
 tSize nrRemaining;
 for (nrRemaining = fileTotalSize; nrRemaining > 0; nrRemaining -=
   bufferSize) {
  int curSize =
    (bufferSize < nrRemaining) ? bufferSize : (int) nrRemaining;
  hdfsWrite(fs, writeFile, (void*) buffer, curSize);
 }

apache-ant-1.8.4-bin.tar.bz2

Cloudera的差不离全体版本不可用,独有CDH3 beta2(0.20.2 320)可用。需求重申的是:Cloudera的0.20.2 737和 0.20.2 320以内无法并行通讯(在那指HDFS不可相互通讯),Apache 0.20.2本子和Cloudera 0.20.第22中学间也不行互相仿信。具体错误参见参谋资料1。

 free(buffer);
 hdfsCloseFile(fs, writeFile);
 hdfsDisconnect (fs);

软件包下载:

内需小心的是,作者所用的机械是61个人的,操作系统是Ubuntu。

 return 0;
}

Ant下载地址

3、安装流程

6.日增遇到变量HADOOP_HOME,在cygwin目录下举办

Fuse下载地址sourceforge.net/projects/fuse/files/fuse-2.X/2.8.4/fuse-2.8.4.tar.gz/download

(1)安装Thrift注重软件

export HADOOP_HOME=/home/test/hadoop0.20.2

安装:(假诺设置进程报错提醒某某command no found 请小心PATH,何况用rpm-qa | grep CMD (那个工具)查看是不是缺少某个工具,作者在装置进度中少automake,果决yum装上,你领会!!)

必需须设置的是:g , boost,autoconf,libevent,Apache ant, JDK, PHP,python

或在/etc/profile文件中追加上述剧情。

1、ant安装

其他脚本语言依据须求设置

7.在cygwin里面奉行

Tar jxvf  apache-ant-1.8.4-bin.tar.bz2

本文由巴黎人游戏官网发布于网络资讯,转载请注明出处:本文比较全面的介绍了Scribe的安装方法,地址安

关键词: