flume连接hdfs和kafka

flume连接hdfs和kafka练习

一、flume连接hdfs情况

选型是source端使用taildir
channel端使用file channel
sink端使用hdfs

脚本文件如图:
在这里插入图片描述

运行flume-ng,如下:
在这里插入图片描述
往flume 监控的文件taildir_test.data写入数据:
在这里插入图片描述
等待控制台的输出命令:
在这里插入图片描述
登录HDFS查看,发现已经写入:
在这里插入图片描述
肯定有人要问了:memory channel这么好用 为什么不用啊,我的回答是:我就是练习使用file channel

二、flume连接kafka

类型选择:flume source端使用 taildir
channel端使用file channel
sink端使用kafka

脚本文件如下:
+
我的集群是三台机器,node02,node03,node04都已经部署好了zookeeper,接着三个节点启动kafka服务:
./kafka-server-start.sh …/config/server.properties
接着在node03上启动消费者:
./kafka-console-consumer.sh --bootstrap-server node02:9091 node03:9092 \ node04:9092 --topic flume_topic --from-beginning
启动flume-ng :
./flume-ng agent --name a1 --conf …/conf --conf-file …/conf/taildir_fileM_kafka.conf \ -Dflume.root.logger=INFO,console

接下来就是往flume监控的文件下写入数据:
在这里插入图片描述
在这里插入图片描述
接着就能到node03的控制台看到输出的数据了:
在这里插入图片描述

思考

我在create topic的时候,遇到这样的一个错误:
Error while executing topic command : replication factor: 1 larger than available brokers: 0
网上查了很多,众说纷纭,看得我眼花缭乱,好多粘贴复制的都说是kafka服务没起来,可是我的早就起来的。这就很神奇了,解决过程如下:
我创建topic的指令是:
./kafka-topics.sh --create --zookeeper node02:2181/kafka,node03:2181/kafka, node04:2181/kafka --partitions 3 --replication-factor 3 --topic kafka_topic

我跑去官网看了看。它是这样的:
在这里插入图片描述
这我就郁闷了,后来我试着这样改:
/kafka-topics.sh --create --zookeeper node02:2181/kafka node03:2181/kafka node04:2181/kafka --partitions 3 --replication-factor 3 --topic kafka_topic
发现不同了没有?把逗号去掉,这样就成功创建了topic

写在后面的话:还是要多练习才能完全掌握知识

猜你喜欢

转载自blog.csdn.net/weixin_37761111/article/details/93197294