flume学习与总结记录

1.什么是flume

  Cloudera 开发的框架,实时收集数据

  Flume学习的核心: agent的设计

  官方文档,http://flume.apache.org/FlumeUserGuide.html

2.flume环境的搭建

下载地址: http://archive.cloudera.com/cdh5/    --- 选择对应版本

常规的解压安装操作

1)配置环境变量

export FLUME_HOME=/usr/cdh5/flume-1.5.0-cdh5.3.6-bin

export PATH=$PATH:$FLUME_HOME/bin

2)配置flume-env.sh文件

export JAVA_HOME=/usr/java/jdk1.7.0_79

(不需要配置hadoop,只需依赖jdk就行了)

3.flume入门程序

   flume与其它框架对接的话,通过配置flume-env.sh文件,以及在lib中添加对应的jar包!

    bin/flume-ng help:  借组help来查看命令参数

1)my.conf文件的编写:

a1.sources  =  r1

a1.sinks  =  k1

a1.channels  =  c1

#描述/配置源

a1.sources.r1.type  =  netcat

a1.sources.r1.bind  =  s0

a1.sources.r1.port  =  44444

#使用缓冲内存中事件的通道

a1.channels.c1.type  =  memory

a1.channels.c1.capacity  =  1000

a1.channels.c1.transactionCapacity  =  100

#描述sink

a1.sinks.k1.type  =  logger

#将信源和信宿绑定到信道

a1.sources.r1.channels  =  c1

a1.sinks.k1.channel  =  c1

2)flume目录启动命令:               

                bin/flume-ng agent  -c conf -f conf/my.conf -n a1 -Dflume.root.logger=INFO,console

3)安装telnet,  另个终端进行telnet s0 44444,输入数据

4.主要知识点与操作点

Event:Flume数据传输的基本单元

Source 、Channel   、Sink 、Flow、Agent

1)hdfs sinks

a1.sinks.k1.type  =  hdfs

   a1.sinks.k1.hdfs.path = hdfs://s0/flume/webdata/ 

   复制hadoop的四个jar包到flume的lib中、以及复制hadoop中的core-site.xml、hdfs-site.xml到flume的conf中

 运行:bin/flume-ng agent  -c /usr/cdh5/flume-1.5.0-cdh5.3.6/conf  -n a1 -f /usr/cdh5/flume-1.5.0-               cdh5.3.6/conf/my.conf  -Dflume.root.logger=DEBUG,console 

2)flume文件监控

a)监控一个文件 (exec source)

a1.sources.r1.type  =  exec

a1.sources.r1.command  =  tail -F /var/log/secure

b)监控一个目录(Spooling Directory Source),相对于监控文件即使重启也不会丢失数据

a1.sources.r1.type  =  spooldir

a1.sources.r1.channels  =  c1

a1.sources.r1.spoolDir  =  /var/log/apache/flumeSpool

a1.sources.r1.fileHeader  =  true

3).flume集群搭建  (每台机器都搭建flume,利用avro sink)

参见如下连接:

   https://www.cnblogs.com/haozhengfei/p/2192231596ceb2ac4c22294dbd25a1ca.html

5.问题点

 1)错误: 找不到或无法加载主类 org.apache.flume.tools.GetJavaProperty?  

      -----》  /etc/profile中flume的路径配错了!(害我搞了好久,原来是我把flume的名称改了导致的)

2)startx 报 xf86OpenConsole: Cannot open /dev/tty0 (No such file or directory)  ----  普通用户启动不了桌面程序

   -------》 chmod u+s /usr/bin/Xorg,以程序所有者的身份运行

3)Exception in thread "main" java.lang.UnsatisfiedLinkError:

   org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V

---》 归根结底是hadoop的运行问题,这个问题不解决导致所有与hadoop运行有关的程序都报这个错!(解决!导入的hadoop源码编译包不对

   如若解决不了,得花点时间去重新搭建集群环境咯?

-----------------------------------------------------------------

由于NativeCrc32.nativeComputeChunkedSumsByteArray问题,flume的my.conf文件、监控操作、集群搭建都没能

好好操作练习!!!!有待加强深入练习。。。。。

你可能感兴趣的:(flume学习与总结记录)