flume整合kafka

flume整合kafka整合流程Flume发送数据到Kafka上主要是通过KafkaSink来实现的,主要步骤如下:1.启动Zookeeper和Kafka这里启动一个单节点的Kafka作为测试:#启动ZookeeperzkServer.shstart#启动kafkabin/kafka-server-start.shconfig/server.properties2.创建主题创建一个主题flume-kafka,之后Flume收集到的数据都会发到这个主题上:#…

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

整合流程

Flume 发送数据到 Kafka 上主要是通过 KafkaSink 来实现的,主要步骤如下:

1. 启动Zookeeper和Kafka

这里启动一个单节点的 Kafka 作为测试:

# 启动Zookeeper
zkServer.sh start

# 启动kafka
bin/kafka-server-start.sh config/server.properties

2. 创建主题

创建一个主题 flume-kafka,之后 Flume 收集到的数据都会发到这个主题上:

# 创建主题
bin/kafka-topics.sh --create \
--zookeeper hadoop001:2181 \
--replication-factor 1   \
--partitions 1 --topic flume-kafka

# 查看创建的主题
bin/kafka-topics.sh --zookeeper hadoop001:2181 --list

3. 启动kafka消费者

启动一个消费者,监听我们刚才创建的 flume-kafka 主题:

# bin/kafka-console-consumer.sh --bootstrap-server hadoop001:9092 --topic flume-kafka

4. 配置Flume

新建配置文件 exec-memory-kafka.properties,文件内容如下。这里我们监听一个名为 kafka.log 的文件,当文件内容有变化时,将新增加的内容发送到 Kafka 的 flume-kafka 主题上。

a1.sources = s1
a1.channels = c1
a1.sinks = k1                                                                                         

a1.sources.s1.type=exec
a1.sources.s1.command=tail -F /tmp/kafka.log
a1.sources.s1.channels=c1 

#设置Kafka接收器
a1.sinks.k1.type= org.apache.flume.sink.kafka.KafkaSink
#设置Kafka地址
a1.sinks.k1.brokerList=hadoop001:9092
#设置发送到Kafka上的主题
a1.sinks.k1.topic=flume-kafka
#设置序列化方式
a1.sinks.k1.serializer.class=kafka.serializer.StringEncoder
a1.sinks.k1.channel=c1     

a1.channels.c1.type=memory
a1.channels.c1.capacity=10000
a1.channels.c1.transactionCapacity=100   

5. 启动Flume

flume-ng agent \
--conf conf \
--conf-file /usr/app/apache-flume-1.6.0-cdh5.15.2-bin/examples/exec-memory-kafka.properties \
--name a1 -Dflume.root.logger=INFO,console

6. 测试

向监听的 /tmp/kafka.log 文件中追加内容,查看 Kafka 消费者的输出:

flume整合kafka

可以看到 flume-kafka 主题的消费端已经收到了对应的消息:

flume整合kafka

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

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

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


相关推荐

  • PHP实现微信申请退款流程实例源码

    PHP实现微信申请退款流程实例源码

    2021年10月30日
    33
  • 高中688个高频单词_高频英语单词800

    高中688个高频单词_高频英语单词800给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2输出: [“i”, “love”]解析: “i” 和 “love” 为出现次数最多的两个单词,均为2次。 注意,按字母顺序 “i” 在 “love” 之前。 示例 2:输入: [“the”, “day”, “is

    2022年8月9日
    3
  • 怎样打开.jar格式文件,怎样运行.jar格式文件

    怎样打开.jar格式文件,怎样运行.jar格式文件

    2021年10月23日
    42
  • 黑客常用命令大全

    黑客常用命令大全刚接触电脑的时候是从DOS系统开始,DOS时代根本就没有Windows这样的视窗操作界面,只有一个黑漆漆的窗口,让你输入命令。所以学DOS系统操作,cmd命令提示符是不可或缺的。可以告诉大家,大多数的程序员牛人或计算机专家在DOS系统下的操作是非常了得的,所以菜鸟要想成为计算机高手,DOS命令是非学不可。  直到今天的Windows系统,还是离不开DOS命令的操作。学习DOS系统操作,首先了解

    2022年7月15日
    13
  • java 阶乘算法_Java 实现阶乘算法

    java 阶乘算法_Java 实现阶乘算法Java实现阶乘算法阶乘算法如下:以下列出0至20的阶乘:0!=1,(0的阶乘是存在的)1!=1,2!=2,3!=6,4!=24,5!=120,6!=720,7!=5040,8!=403209!=36288010!=362880011!=3991680012!=47900160013!=622702080014!=8717829120015!=130767436800016!=2092…

    2022年7月24日
    7
  • 更换好用conda源「建议收藏」

    更换好用conda源「建议收藏」window是更换conda源windows在用户目录中的.condarc文件中替换以下源(如果没有这文件则需要自己创建)channels:-https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/-https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/-https://mirrors.tuna.tsinghua.edu.cn/anaconda/

    2022年10月1日
    0

发表回复

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

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