Flume演示

**************环境搭建简单的例子
bin/flume-ng agent --conf conf --conf-file conf/example.conf --name a1 -Dflume.root.logger=INFO,console

使用telnet发送数据
telnet localhost 44444

配置文件:example.conf

a1.sources = r1
a1.channels = c1
a1.sinks = k1
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
a1.sources.r1.channels = c1
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sinks.k1.type = logger
a1.sinks.k1.channel = c1

 

需要将相应的配置文件放入到/home/hadoop/apps/apache-flume-1.8.0-bin/conf目录下
**************exec和avro source演示
启动一个avrosource的agent
bin/flume-ng agent --conf conf --conf-file conf/avrosource.conf --name avroagent -Dflume.root.logger=INFO,console

启动一个execsource的agent,向avroagent以rpc的方式发送收集的数据
bin/flume-ng agent --conf conf --conf-file conf/execsource.conf --name execagent

监听/home/hadoop/apps/flume/execsource/exectest.log文件

**************spooldir source演示
bin/flume-ng agent --conf conf --conf-file conf/spooldirsource.conf --name a1 -Dflume.root.logger=INFO,console

监听/home/hadoop/apps/flume/spoolDir目录
创建一些文件,查看状态

在创建一个子文件夹,文件夹里添加新文件,验证spooldir不能够对嵌套文件夹递归监听

**************kafka source演示
在kafka中创建主题
bin/kafka-topics.sh --create --zookeeper 192.168.183.100:2181 --replication-factor 1 --partitions 3 --topic flumetopictest1
查看主题
bin/kafka-topics.sh --list --zookeeper 192.168.183.100:2181

bin/kafka-console-producer.sh --broker-list 192.168.183.102:9092,192.168.183.103:9092 --topic flumetopictest1

bin/flume-ng agent --conf conf --conf-file conf/kafkasource.conf --name kafkasourceagent -Dflume.root.logger=INFO,console

**************taildir source演示

bin/flume-ng agent --conf conf --conf-file conf/taildirsource.conf --name taildiragent -Dflume.root.logger=INFO,console


**************file channel演示
在/home/hadoop/apps/flume/filechannel目录手动创建backup、checkpoint、data文件夹

bin/flume-ng agent --conf conf --conf-file conf/filechannel.conf --name a1 -Dflume.root.logger=INFO,console

使用telnet发送数据
telnet localhost 44444


**************kafka channel演示

bin/kafka-topics.sh --create --zookeeper 192.168.183.100:2181 --replication-factor 1 --partitions 3 --topic flumechannel2
查看主题
bin/kafka-topics.sh --list --zookeeper 192.168.183.100:2181

bin/flume-ng agent --conf conf --conf-file conf/kafkachannel.conf --name a1 -Dflume.root.logger=INFO,console

使用telnet发送数据
telnet localhost 44444

**************hdfs sink演示

bin/flume-ng agent --conf conf --conf-file conf/hdfssink.conf --name a1 -Dflume.root.logger=INFO,console

使用telnet发送数据
telnet localhost 44444

**************kafka sink演示

在192.168.137.102机器上启动kafka:
bin/kafka-server-start.sh -daemon config/server.properties

创建主题FlumeKafkaSinkTopic1
bin/kafka-topics.sh --create --zookeeper 192.168.137.100:2181 --replication-factor 1 --partitions 3 --topic FlumeKafkaSinkTopic1
查看主题
bin/kafka-topics.sh --list --zookeeper 192.168.137.100:2181

使用kafka自带的消费者客户端脚本
bin/kafka-console-consumer.sh --zookeeper 192.168.137.100:2181 --from-beginning --topic FlumeKafkaSinkTopic1可以查看写入kafka信息

(控制台启动方式)
bin/flume-ng agent --conf conf --conf-file conf/kafkasink.conf --name a1 -Dflume.root.logger=INFO,console

(后台启动方式)
bin/flume-ng agent --conf conf --conf-file conf/kafkasink.conf --name a1 >/dev/null 2>&1 &

lsof -i:44444可以查看后台flume状态

telnet localhost 44444监听44444端口,向kafka中输入

**************replicating selector演示

一个source将一个event拷贝到多个channel,通过不同的sink消费不同的channel,将相同的event输出到不同的地方
配置文件:replicating_selector.conf
分别写入到kafka和文件中

创建主题FlumeKafkaSinkTopic1
bin/kafka-topics.sh --create --zookeeper 192.168.183.100:2181 --replication-factor 1 --partitions 3 --topic FlumeSelectorTopic1

启动flume agent
bin/flume-ng agent --conf conf --conf-file conf/replicating_selector.conf --name a1

使用telnet发送数据
telnet localhost 44444

查看/home/hadoop/apps/flume/selector路径下的数据

查看kafka FlumeSelectorTopic1主题数据
bin/kafka-console-consumer.sh --zookeeper 192.168.183.100:2181 --from-beginning --topic FlumeSelectorTopic1

**************multiplexing selector演示

配置文件multiplexing_selector.conf、avro_sink1.conf、avro_sink2.conf、avro_sink3.conf
向不同的avro_sink对应的配置文件的agent发送数据,不同的avro_sink配置文件通过static interceptor在event头信息中写入不同的静态数据
multiplexing_selector根据event头信息中不同的静态数据类型分别发送到不同的目的地

在/home/hadoop/apps/flume/multiplexing目录下分别创建看k1 k2 k3目录

bin/flume-ng agent --conf conf --conf-file conf/multiplexing_selector.conf --name a3 -Dflume.root.logger=INFO,console

bin/flume-ng agent --conf conf --conf-file conf/avro_sink1.conf --name agent1 >/dev/null 2>&1 &
bin/flume-ng agent --conf conf --conf-file conf/avro_sink2.conf --name agent2 >/dev/null 2>&1 &
bin/flume-ng agent --conf conf --conf-file conf/avro_sink3.conf --name agent3 >/dev/null 2>&1 &

使用telnet发送数据
telnet localhost 44444

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值