大数据03-整合 Flume 和 Kafka 收集日志

作者: breezedancer | 来源:发表于2018-09-16 10:49 被阅读1次

    有了之前的介绍,我们可以使用 Flume 和 Kafka 一起来完成项目日志输出到 kafka,然后编程消费者进行日志处理。

    1、示例图

    示例图

    下面蓝色的是我们需要修改的

    2、配置 flume

    在 A 机器上,(也可以在 C 机器上,这里为了方便) flume 中新增一个配置文件 avro-mem-kafka.conf
    注意 bootstrap.servers 的写法,需要和版本对应

    # Base
    avro-mem-kafka.sources = avro-source
    avro-mem-kafka.sinks = kafka-sink
    avro-mem-kafka.channels = mem-channel
    # Source
    avro-mem-kafka.sources.avro-source.type = avro
    avro-mem-kafka.sources.avro-source.bind = localhost
    avro-mem-kafka.sources.avro-source.port = 44444
    # Sink  https://flume.apache.org/FlumeUserGuide.html#kafka-sink
    avro-mem-kafka.sinks.kafka-sink.type = org.apache.flume.sink.kafka.KafkaSink
    avro-mem-kafka.sinks.kafka-sink.kafka.bootstrap.servers=PLAINTEXT://192.168.31.122:9092,PLAINTEXT://192.168.31.122:9093,PLAINTEXT://192.168.31.122:9094
    avro-mem-kafka.sinks.kafka-sink.kafka.topic=my-replicated-topic
    # Channel
    avro-mem-kafka.channels.mem-channel.type = memory
    # Link
    avro-mem-kafka.sources.avro-source.channels = mem-channel
    avro-mem-kafka.sinks.kafka-sink.channel = mem-channel
    

    启动 Kafka

    在 C 机器上先启动 ZK,再启动 Kafka 集群

    zkServer.sh start
    
    kafka-server-start.sh $KAFKA_HOME/config/server.properties &
    kafka-server-start.sh $KAFKA_HOME/config/server-1.properties &
    kafka-server-start.sh $KAFKA_HOME/config/server-2.properties &
    

    启动 flume

    这两个脚本都在 A 机器上运行,也可以分开

    
    $ bin/flume-ng agent \
    --conf $FLUME_HOME/conf \
    --conf-file $FLUME_HOME/conf/avro-mem-kafka.conf \
    --name avro-mem-kafka \
    -Dflume.root.logger=DEBUG,console 
    -Dorg.apache.flume.log.printconfig=true 
    -Dorg.apache.flume.log.rawdata=true
    
    
    $ bin/flume-ng agent \
    --conf $FLUME_HOME/conf \
    --conf-file $FLUME_HOME/conf/exec-mem-avro.conf \
    --name exec-mem-avro \
    -Dflume.root.logger=DEBUG,console 
    -Dorg.apache.flume.log.printconfig=true 
    -Dorg.apache.flume.log.rawdata=true
    

    开启消费者

    kafka-console-consumer.sh --bootstrap-server PLAINTEXT://192.168.31.122:9092,PLAINTEXT://192.168.31.122:9093,PLAINTEXT://192.168.31.122:9094 --from-beginning --topic my-replicated-topic
    

    在 A 机器上输入日志,将会看到消费者打印出

    相关文章

      网友评论

        本文标题:大数据03-整合 Flume 和 Kafka 收集日志

        本文链接:https://www.haomeiwen.com/subject/aubxnftx.html