Flume框架的示例分析

40次阅读
没有评论

共计 1460 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章给大家分享的是有关 Flume 框架的示例分析的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

 Flume 是一个分布式的海量数据收集框架.

 Flume 框架流程图

 

 Channel 是缓存的数据,如果 Sink 传送给了 HDFS,Channel 中缓存的数据就会删除,如果没有传送成功,Channel 相当于做了备份,Sink 重复从 Channel 中取数据.

  在 hadoop0 上部署一个 Flume agent

 1、把 apache-flume-1.4.0-bin.tar.gz 和 apache-flume-1.4.0-src.tar.gz 在 hadoop0 上解压缩.

 2、把解压缩后的 apache-flume-1.4.0-src 文件夹中的内容全部复制到 apache-flume-1.4.0.-bin 文件夹中.

 3、修改 conf 目录下的两个文件的名称,一个是 flume-env.sh,一个是 flume-conf.properties.

  其中在 flume-env.sh 中设置了 JAVA_HOME 值.

 4、实例: 把磁盘文件夹中文件通过 flume 上传到 HDFS 中.

 4.1  在 conf 目录下创建一个文件,叫做 test.conf,文件内容如下:

 # 配置代理
  #a1 是一个代理名称,s1 是 source 的名称,sink1 是 sink 的名称,c1 是 channel 的名称
  a1.sources = s1
  a1.sinks = sink1
  a1.channels = c1
   # 配置一个专用于从文件夹中读取数据的 source
   a1.sources.s1.type = spooldir
   a1.sources.s1.spoolDir = /apache_logs # 值 apache_logs 表示数据文件的目录
  a1.sources.s1.fileSuffix=.abc # 值.abc 表示数据文件被处理完后,被重命名的文件名后缀
  a1.sources.s1.channels = c1 # 值 c1 表示 source 接收数据后送到的 channel 的名称
   # 配置一个专用于把输入写入到 hdfs 的 sink
  a1.sinks.sink1.type = hdfs
  a1.sinks.sink1.hdfs.path=hdfs://hadoop0:9000/apache_logs # 值表示目的地
   a1.sinks.sink1.hdfs.fileType=DataStream # 值 DataStream 表示文件类型,是不经过压缩的
  a1.sinks.sink1.hdfs.writeFormat=Text # 值表示写出文件原内容
  a1.sinks.sink1.channel = c1 # 值 c1 表示 sink 处理数据的来源
   # 配置一个内存中处理的 channel
   a1.channels.c1.type = memory
   a1.channels.c1.capacity = 1000
  a1.channels.c1.transactionCapacity = 100

  运行:[root@hadoop conf]# ../bin/flume-ng agent –conf conf –conf-file test.conf –name a1 -Dflume.root.looger=DEBUG,console

感谢各位的阅读!关于“Flume 框架的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1460字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)