整合Flume和Kafka完成实时数据采集

整合Flume和Kafka完成实时数据采集需要注意:参考的网站要与你的kafka的版本一致,因为里面的字段会不一致例如:http://flume.apache.org/releases/content/1.6.0/FlumeUserGuide.html#kafka-sink这是1.6版本的,如果需要查看1.9版本的直接就将1.6.0改为1.9.0即可#avro-memory-kafka.confavro-memory-kafka.sources=avro-sourceavro-memory-kafka.sinks=kafka-.

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述

需要注意:参考的网站要与你的kafka的版本一致,因为里面的字段会不一致
例如:http://flume.apache.org/releases/content/1.6.0/FlumeUserGuide.html#kafka-sink
这是1.6版本的,如果需要查看1.9版本的直接就将1.6.0改为1.9.0即可

# avro-memory-kafka.conf
avro-memory-kafka.sources = avro-source
avro-memory-kafka.sinks = kafka-sink
avro-memory-kafka.channels = memory-channel

# Describe/configure the source
avro-memory-kafka.sources.avro-source.type = avro
avro-memory-kafka.sources.avro-source.bind = hadoop000
avro-memory-kafka.sources.avro-source.port = 44444

# Describe the sink
avro-memory-kafka.sinks.kafka-sink.type = org.apache.flume.sink.kafka.KafkaSink
avro-memory-kafka.sinks.kafka-sink.brokerList = hadoop000:9092
avro-memory-kafka.sinks.kafka-sink.topic = hello_topic
# batchSize 当达到5个日志才会处理,所以消费者出现的消息会慢
avro-memory-kafka.sinks.kafka-sink.batchSize = 5
avro-memory-kafka.sinks.kafka-sink.requiredAcks = 1

# Use a channel which buffers events in memory
avro-memory-kafka.channels.memory-channel.type = memory

# Bind the source and sink to the channel
avro-memory-kafka.sources.avro-source.channels = memory-channel
avro-memory-kafka.sinks.kafka-sink.channel = memory-channel
flume-ng agent \
--name avro-memory-kafka \
--conf $FLUME_HOME/conf \
--conf-file $FLUME_HOME/conf/avro-memory-kafka.conf \
-Dflume.root.logger=INFO,console
flume-ng agent  \
--name exec-memory-avro \
--conf $FLUME_HOME/conf \
--conf-file $FLUME_HOME/conf/exec-memory-avro.conf \
-Dflume.root.logger=INFO,console

启动消费者:
kafka-console-consumer.sh –zookeeper hadoop000:2181 –topic hello_topic

向data.log写入数据,发现消费者出现消息,成功

[hadoop@hadoop000 data]$ echo hellospark1111 >> data.log
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152379.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python 获取文件后缀详解「建议收藏」

    Python 获取文件后缀详解「建议收藏」文章目录1概述2语法3扩展3.1os模块详解1概述#mermaid-svg-p01C6BlZHxzyBcdz.label{font-family:’trebuchetms’,verdana,arial;font-family:var(–mermaid-font-family);fill:#333;color:#333}#mermaid-svg-p01C6BlZHxzyBcdz.labeltext{fill:#333}#mermaid-svg-p01C6BlZHxzyBcdz.

    2022年9月22日
    2
  • QStringList中begin()、end()与first()、last()

    QStringList中begin()、end()与first()、last()QStringList的begin:返回的是迭代器指向第一项iteratorQStringList的end:返回的是迭代器指向最后一项iteratorQStringList的last:返回列表第一项的引用,前提该表不为空QStringList的last:返回列表最后一项的引用…

    2022年5月10日
    84
  • 代理服务器基本知识[通俗易懂]

    代理服务器基本知识[通俗易懂]代理服务器系列(一):基础知识2005年9月10日世界网络教研组编一、什么是代理服务器?代理服务器英文全称是ProxyServer,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,需送出Request信号来得到回答,然后对方再把信息以bit方

    2022年4月30日
    57
  • Hadoop面试题总结「建议收藏」

    Hadoop面试题总结「建议收藏」Hadoop面试题总结1.hadoop的TextInputFormat作用是什么?如何自定义实现?InputFormat会在map操作之前对数据进行两方面的预处理:gitSplits,返回的是InputSplit数组,对数据进行split切片,每一个切片都需要一个map任务去处理。getRecordReader,返回的是RecordReader对象,将每个切片中的数据转换为<k…

    2022年6月16日
    31
  • C# SortedList类概念和示例

    SortedList类[C#]命名空间:System.Collections表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。SortedList是Hashtable和A

    2021年12月21日
    39
  • 卸载Office 2007 Beta2后,Outlook 2003无法启动的解决方法

    卸载Office 2007 Beta2后,Outlook 2003无法启动的解决方法

    2021年7月22日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号