我希望将水槽代理放在hadoop群集之外,并想知道是否可以使用flume使用WebHDFS将消息发送到hadoop群集。
如果没有,是否有使用WebHDFS的替代方案?使用多层水槽仍然需要我在hadoop群内运行水槽剂。
答案 0 :(得分:1)
flume代理就可以在自己的计算机上运行,而不必在hadoop集群中运行。
我有一个水槽代理将avro事件写入hdfs接收器,而不是在hadoop集群上或使用WebHDFS。
以下是其设置:
agent.sinks.sink1.channel = channel1
agent.sinks.sink1.type = hdfs
agent.sinks.sink1.hdfs.path = hdfs://hadoopd1.x.y.z/day/id/
agent.sinks.sink1.hdfs.rollInterval = 300
agent.sinks.sink1.hdfs.fileType = DataStream
agent.sinks.sink1.hdfs.writeFormat=Text
agent.sinks.sink1.hdfs.fileSuffix=.avro
agent.sinks.sink1.serializer=avro_event
agent.sinks.sink1.serializer = org.apache.flume.sink.hdfs.AvroEventSerializer$Builder