flume与hdfs集成

1 flume配置文件 flume_hdfs.conf

#配置通道,其实就是临时存放位置

agent1.channels.ch1.type = memory

#配置来源

agent1.sources.tail.type = exec
agent1.sources.tail.channels = ch1
agent1.sources.tail.command = tail -f /usr/local/service/resin8082/log/jvm-default.log
agent1.sources.tail.fileHeader = false

#配置发送目的的

agent1.sinks.k1.type = hdfs
agent1.sinks.k1.channel = ch1
agent1.sinks.k1.hdfs.path = hdfs://ip:9000/testlog
agent1.sinks.k1.hdfs.filePrefix = events-
agent1.sinks.k1.hdfs.fileType = DataStream
agent1.sinks.k1.hdfs.writeFormat = Text
agent1.sinks.k1.hdfs.rollSize = 0
agent1.sinks.k1.hdfs.rollInterval= 0
agent1.sinks.k1.hdfs.rollCount = 600000
agent1.sinks.k1.hdfs.rollInterval = 600

agent1.sources = tail
agent1.channels = ch1
agent1.sinks=k1

启动

/opt/apache-flume-1.6.0-bin/bin/flume-ng agent -c conf -f  /opt/apache-flume-1.6.0-bin/conf/flume_hdfs.conf -n agent1 -Dflume.root.logger=INFO,console


注意:如果flume就是下下来的使用,启动会没有反应,ahdoop都正常,通过命令也能够上次文件,肯定就是flume有问题

解决问题的方法:

 1 修改log4j.properties,将info级别改为debug,然后启动,将会出现问题

    2016-06-08 15:33:12,015 (conf-file-poller-0) [ERROR - org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:145)] Failed to start agent because dependencies were not found in classpath. Error follows.
java.lang.NoClassDefFoundError: org/apache/hadoop/io/SequenceFile$CompressionType
at org.apache.flume.sink.hdfs.HDFSEventSink.configure(HDFSEventSink.java:239)

 表示hadoop一些jar包没有放进来

 从hadoop安装包中hadoop-2.6.4\share\hadoop\common 下面的hadoop-common-2.6.4.jar 以及依赖lib下面的jar都放到flume的lib中,启动看看日志

2 启动后,如果出现

  2016-06-08 16:01:10,477 (SinkRunner-PollingRunner-DefaultSinkProcessor) [WARN - org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:455)] HDFS IO error
java.io.IOException: No FileSystem for scheme: hdfs
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2584)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)

有可能就是没有放依赖包,根据报错的路径,org.apache.hadoop.fs.

,将hadoop-2.6.4\share\hadoop\hdfs下的hadoop-hdfs-2.6.4.jar 以及依赖 都放到flume的lib下 重启flume看看

最后没有报错,到hadoop里面去看文件,OK,表明以及配置完成


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值