3月15日(flume收集数据到kafka,包含大坑)
1. 配置flume .conf文件收集数据到kafka
f1.sources = r1
f1.channels = c1
f1.sinks = k1
#define sources
f1.sources.r1.type = spooldir
f1.sources.r1.spoolDir = /opt/module/flume-1.7.0/jddata
#define channels
f1.channels.c1.type = file
f1.channels.c1.checkpointDir = /opt/module/flume-1.7.0/checkpoint
f1.channels.c1.dataDirs = /opt/module/flume-1.7.0/data
#define sink
f1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
f1.sinks.k1.kafka.bootstrap.servers = hadoop102:9092
f1.sinks.k1.kafka.topic = jd
f1.sinks.k1.kafka.flumeBatchSize = 20
f1.sinks.k1.kafka.producer.acks = 1
f1.sinks.k1.kafka.producer.linger.ms = 1
#bind sources and sink to channel
f1.sources.r1.channels = c1
f1.sinks.k1.channel = c1
2. 然后启动kafka,并创建对应的topic
bin/kafka-server-start.sh -daemon config/server.properties
bin/kafka-topics.sh --zookeeper hadoop102:2181 --list
bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 1 --partitions 1 --topic jd
3. 启动flume
bin/flume-ng agent --name f1 --conf conf --conf-file conf/file-kafka-jd.conf -Dflume.root.logg=INFO,LOGFILE
当flume最新的log文件中有xx.COMPLETED 代表数据传递成功
4. Kafka获取消费数据
bin/kafka-console-consumer.sh --topic 'jd' --zookeeper 'hadoop102:2181' --from-beginning --skip-message-on-error
最需要注意的是conf文件的编写,因为有很多属性值,参数各不相同,我的坑是在选择了sources.r1.type = spooldir 那么对应的地址应该是一个文件夹,但是尤其注意该文件夹里面不在包含其他文件夹,我就是地址写错,里面还有文件夹,数据传了三个小时传不过去。
浙公网安备 33010602011771号