flume不适用于hdfs

xxslljrj  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(395)

我设置了两个节点的flume。我想从slave01加载数据到hdfs。slave01:example-conf.properties

  1. agent.sources = baksrc
  2. agent.channels = memoryChannel
  3. agent.sinks =avro-forward-sink
  4. agent.sources.baksrc.type = exec
  5. agent.sources.baksrc.command = tail -F /root/hadoo/test/data.txt
  6. agent.sources.baksrc.checkperiodic = 1000
  7. agent.sources.baksrc.channels =memoryChannel
  8. agent.channels.memoryChannel.type = memory
  9. agent.channels.memoryChannel.keep-alive = 30
  10. agent.channels.memoryChannel.capacity = 10000
  11. agent.channels.memoryChannel.transactionCapacity = 10000
  12. agent.sinks.avro-forward-sink.type = avro
  13. agent.sinks.avro-forward-sink.hostname = master
  14. agent.sinks.avro-forward-sink.port = 23004
  15. agent.sinks.avro-forward-sink.channel = memoryChannel

母版:example-conf.properties

  1. agent.sources = avrosrc
  2. agent.sinks =hdfs-write
  3. agent.channels = memoryChannel
  4. agent.sources.avrosrc.type =avro
  5. agent.sources.avrosrc.bind =master
  6. agent.sources.avrosrc.port =23004
  7. agent.sources.avrosrc.channels=memoryChannel
  8. agent.channels.memoryChannel.type = memory
  9. agent.channels.memoryChannel.keep-alive = 30
  10. agent.channels.memoryChannel.capacity = 10000
  11. agent.channels.memoryChannel.transactionCapacity =10000
  12. agent.sinks.hdfs-write.type = hdfs
  13. agent.sinks.hdfs-write.hdfs.path =hdfs://172.16.86.38:9000/flume/webdata
  14. agent.sinks.hdfs-write.hdfs.rollInterval = 0
  15. agent.sinks.hdfs-write.hdfs.rollSize = 4000000
  16. agent.sinks.hdfs-write.hdfs.rollCount = 0
  17. agent.sinks.hdfs-write.hdfs.writeFormat = Text
  18. agent.sinks.hdfs-write.hdfs.fileType = DataStream
  19. agent.sinks.hdfs-write.hdfs.batchSize = 10
  20. agent.sinks.hdfs-write.channel=memoryChannel

然后我跑了一个空壳script:like this:

  1. # !/bin/sh
  2. for i in {1..1000000}; do
  3. echo "test flume to Hbase $i" >>/root/hadoop/test/data.txt;
  4. sleep 0.1;
  5. done

启动flume:flume ng agent--conf conf--conf file example-conf.properties--name agent-dflume.root.logger=debug,console控制台上没有错误。

  1. 14/05/06 16:38:44 INFO source.AvroSource: Avro source avrosrc stopping: Avro source avrosrc: { bindAddress: master, port: 23004 }
  2. 14/05/06 16:38:44 INFO ipc.NettyServer: [id: 0x49f2de1b, /172.16.86.39:9359 :> /172.16.86.38:23004] DISCONNECTED
  3. 14/05/06 16:38:44 INFO ipc.NettyServer: [id: 0x49f2de1b, /172.16.86.39:9359 :> /172.16.86.38:23004] UNBOUND
  4. 14/05/06 16:38:44 INFO ipc.NettyServer: [id: 0x49f2de1b, /172.16.86.39:9359 :> /172.16.86.38:23004] CLOSED

但是我在hdfs中看不到这个文件,我的配置有问题吗??我在师父身上测试过,效果不错。

sz81bmfz

sz81bmfz1#

你用哪种型号的Flume?
你把hadoop\u放在家里了吗?
flume是否从hadoop\u home输出带有hadoop jar的类路径
如果您正在使用apacheflume,那么一步一步:1。设置hadoop\u主页
2编辑hadoop core site.xml,确保namenode ip是正确的。
三。使用hdfs路径: agent.sinks.hdfs-write.hdfs.path =/flume/webdata 4启动Flume

相关问题