0


使用flume将消息导入Kafka

版本使用:flume190,kafka200,hadoop260

在flume文件目录创建ngcf目录,创建flume配置文件text.conf

mkdir /opt/soft/flume190/ngcf

vim text,conf

users.sources=usersSource
users.channels=usersChannel
users.sinks=usersSink

//:指定source的类型为spooldir,即监控指定目录中新出现的文件,并将这些文件的内容作为事件(events)来处理。
users.sources.usersSource.type=spooldir
//source监控的目录
users.sources.usersSource.spoolDir=/opt/tmp/flume/users
//反序列化器为LINE,即按行读取文件内容
users.sources.usersSource.deserializer=LINE
//每行的最大长度为320000个字符
users.sources.usersSource.deserializer.maxLineLength=320000
//指定只处理文件名匹配该正则表达式的文件
users.sources.usersSource.includePattern=users_[0-9]{4}-[0-9]{2}-[0-9]{2}.csv
//配置了一个拦截器
users.sources.usersSource.interceptors=head_filter
users.sources.usersSource.interceptors.head_filter.type=regex_filter
//拦截器配置
users.sources.usersSource.interceptors.head_filter.regex=^user_id*
users.sources.usersSource.interceptors.head_filter.excludeEvents=true

users.channels.usersChannel.type=file
//checkpoint目录,用于存储channel的元数据。
users.channels.usersChannel.checkpointDir=/opt/tmp/checkpoint/users
//数据存储目录
users.channels.usersChannel.dataDirs=/opt/tmp/checkpoint/data/users

//sink的类型为KafkaSink,即将事件发送到Kafka。
users.sinks.usersSink.type=org.apache.flume.sink.kafka.KafkaSink
//每批次发送的事件数量为640
users.sinks.usersSink.batchSize=640
//Kafka broker的地址和端口
users.sinks.usersSink.brokerList=192.168.52.146:9092
users.sinks.usersSink.topic=users       //要传输的位置,kafka的主题名

users.sources.usersSource.channels=usersChannel
users.sinks.usersSink.channel=usersChannel

创建checkpointDir和dataDirs目录,里面不需要写东西

mkdir /opt/tmp/checkpoint/users

mkdir /opt/tmp/checkpoint/data/users

创建文件数据存放目录,当目录的文件符合配置文件的格式时,flume开始传输

mkdir /opt/tmp/flume/users

//将要传输的文件放到这个目录

开始传输数据

启动Kafka

首先启动zookeeper
[root@centos143 soft]# zkServer.sh start
[root@centos143 soft]# zkServer.sh status
其次启动kafka服务
[root@centos143 soft]# kafka-server-start.sh -daemon /opt/soft/kafka200/config/server.properties

启动consumer消费者

kafka-console-consumer.sh --bootstrap-server 192.168.52.146:9092 --topic users

启动flume

到flume目录

./bin/flume-ng agent --name userfriends --conf ./ngcf/ --conf-file ./ngcf/userfriends.conf -Dflume.root.logger=INFO,consol

数据就导入成功啦

标签: flume kafka 大数据

本文转载自: https://blog.csdn.net/evilfft/article/details/140665509
版权归原作者 miss思云 所有, 如有侵权,请联系我们删除。

“使用flume将消息导入Kafka”的评论:

还没有评论