大数据菜鸟实战一:使用flume收集数据到KafKa
原创
©著作权归作者所有:来自51CTO博客作者霍先生的虚拟宇宙网络的原创作品,请联系作者获取转载授权,否则将追究法律责任
最近在学习大数据相关的知识,实在记性不好了。都说好记性不如烂笔头这是真的啊!!!!
1. 安装flume ,kafka这里不多说,主要演示下怎么实现使用flume收集文件到KafKa.
2.进入到flume 下的Conf下编写配置文件:hcytest1.properties 文件内容如下:
LogAgent.sources = mysource
LogAgent.channels = mychannel
LogAgent.sinks = mysink
LogAgent.sources.mysource.type = spooldir
LogAgent.sources.mysource.channels = mychannel
LogAgent.sources.mysource.spoolDir =/tmp/logs
LogAgent.sinks.mysink.channel = mychannel
#这里是直接收集到Hdfs的配置
#LogAgent.sinks.mysink.type = hdfs
#LogAgent.sinks.mysink.hdfs.path = hdfs://hadoopnode:9000/data/logs/%Y/%m/%d/%H/
#LogAgent.sinks.mysink.hdfs.batchSize = 1000
#LogAgent.sinks.mysink.hdfs.rollSize = 0
#LogAgent.sinks.mysink.hdfs.rollCount = 10000
#LogAgent.sinks.mysink.hdfs.useLocalTimeStamp = true
#这里是直接收集到kafka的配置
LogAgent.sinks.mysink.type = org.apache.flume.sink.kafka.KafkaSink
LogAgent.sinks.mysink.brokerList = hadoopnode:9092
LogAgent.sinks.mysink.topic = flume-data
LogAgent.sinks.mysink.batchSize = 5
LogAgent.sinks.mysink.requiredAcks = 1
LogAgent.channels.mychannel.type = memory
LogAgent.channels.mychannel.capacity = 10000
LogAgent.channels.mychannel.transactionCapacity = 100
启动它:(这里可以在另一个窗口启动)
bin/flume-ng agent --conf conf --conf-file conf/hcytest1.properties --name LogAgent -Dflume.root.logger=DEBUG,console
这里各个参数的意思不再做过多介绍
2. 启动一个KafaKa的Consumer 去消费上边配置的TopC
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic flume-data --from-beginning
3. 这个时候就到了测试,我们写的配置到底对不对呀?是不是?
桌面上创建一个文件(test.txt)进去随便写几句话
这时候cp test.txt /tmp/logs
进入 cd /tmp/logs 下查看是否出现 .COMPLETED 的test.txt 文件
test.txt.COMPLETED
至此 flume 收集文件到kafka 完毕。
菜鸟起飞。。。。。。