flume-kafka采集文件
-
启动zookeeper集群
#在每一个节点上启动zookeeper /opt/apps/zookeeper/bin/zkServer.sh
-
启动kafka集群2
#在每一个节点上启动kafka -daemon后台启动 /opt/apps/kafka/bin/kafka-server-start.sh -daemon /opt/apps/kafka/config/server.properties
-
创建主题
#--zookeeper 集群地址 -replication-factor 副本数 --partitions 分区数 --topic 追名称 /opt/apps/kafka/bin/kafka-topics.sh --create --zookeeper mini1:2181 --replication-factor 2 --partitions 2 --topic test
-
采集文件
a1.sources=r1 a1.sinks=k1 a1.channels=c1 ##############sources############# #数据源类型为exec,监控文件 a1.sources.r1.type=exec #channel a1.sources.r1.channels=c1 #命令通常为tail a1.sources.r1.command=tail -F /root/test.txt #是否重启命令 a1.sources.r1.restart=true #重启时间间隔 a1.sources.r1.restartThrottle=1000 #最大存入channel数 a1.sources.r1.batchSize=1000 #存入最大等待时间 a1.sources.r1.batchTimeout=1000 #是否记录错误日志 a1.sources.r1.logStdErr=true ##############channels############# #channel类型 a1.channels.c1.type=memory #内存最大存储事件数 a1.channels.c1.capacity=10000 #sources每个事务存入的最大数,sink每次取到的最大数 a1.channels.c1.transactionCapacity=1000 #允许存储的最大字节数 128MB a1.channels.c1.byteCapacity=134217728 #指定 Event header 所占空间大小与 channel 中所有 Event 的总大小之间的百分比 a1.channels.c1.byteCapacityBufferPercentage=20 #添加或删除一个event的超时时间 a1.channels.c1.keep-alive=3 ###############sinks############## #固定写法 a1.sinks.k1.type=org.apache.flume.sink.kafka.KafkaSink #channle a1.sinks.k1.channel=c1 #主题 a1.sinks.k1.kafka.topic=test #kafka集群地址 a1.sinks.k1.kafka.bootstrap.servers=mini1:9092 #每次取的最大数 a1.sinks.k1.kafka.flumeBatchSize=1000 #1 leader应答就可以了,副本不需要 a1.sinks.k1.kafka.producer.acks=1 #大于0,批量存储。 a1.sinks.k1.kafka.producer.linger.ms=1
-
测试
#创建消费者--bootstrap-server 集群地址 --topic主题名称 /opt/apps/kafka/bin/kafka-console-consumer.sh --bootstrap-server mini1:9092 --topic test #启动flume采集 flume-ng agent -n a1 -f /root/netcat-kafka.conf -Dflume.root.logger=INFO.console