0


使用flume将消息导入Kafka

版本使用:flume190,kafka200,hadoop260

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

mkdir /opt/soft/flume190/ngcf

vim text,conf

  1. users.sources=usersSource
  2. users.channels=usersChannel
  3. users.sinks=usersSink
  4. //:指定source的类型为spooldir,即监控指定目录中新出现的文件,并将这些文件的内容作为事件(events)来处理。
  5. users.sources.usersSource.type=spooldir
  6. //source监控的目录
  7. users.sources.usersSource.spoolDir=/opt/tmp/flume/users
  8. //反序列化器为LINE,即按行读取文件内容
  9. users.sources.usersSource.deserializer=LINE
  10. //每行的最大长度为320000个字符
  11. users.sources.usersSource.deserializer.maxLineLength=320000
  12. //指定只处理文件名匹配该正则表达式的文件
  13. users.sources.usersSource.includePattern=users_[0-9]{4}-[0-9]{2}-[0-9]{2}.csv
  14. //配置了一个拦截器
  15. users.sources.usersSource.interceptors=head_filter
  16. users.sources.usersSource.interceptors.head_filter.type=regex_filter
  17. //拦截器配置
  18. users.sources.usersSource.interceptors.head_filter.regex=^user_id*
  19. users.sources.usersSource.interceptors.head_filter.excludeEvents=true
  20. users.channels.usersChannel.type=file
  21. //checkpoint目录,用于存储channel的元数据。
  22. users.channels.usersChannel.checkpointDir=/opt/tmp/checkpoint/users
  23. //数据存储目录
  24. users.channels.usersChannel.dataDirs=/opt/tmp/checkpoint/data/users
  25. //sink的类型为KafkaSink,即将事件发送到Kafka。
  26. users.sinks.usersSink.type=org.apache.flume.sink.kafka.KafkaSink
  27. //每批次发送的事件数量为640
  28. users.sinks.usersSink.batchSize=640
  29. //Kafka broker的地址和端口
  30. users.sinks.usersSink.brokerList=192.168.52.146:9092
  31. users.sinks.usersSink.topic=users //要传输的位置,kafka的主题名
  32. users.sources.usersSource.channels=usersChannel
  33. 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”的评论:

还没有评论