Flume-应用案例(三)

JsonHandler

用于处理标准json数据。

  • 编写JSONHandler source配置文件
>echo >> json.conf
>vim json.conf
a1.sources=r1
a1.channels=c1
a1.sinks=k1

a1.sources.r1.type=org.apache.flume.source.http.HTTPSource
a1.sources.r1.port=8888

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

a1.sinks.k1.type=logger

a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1                  
  • 启动agent
>./flume-ng agent  -f ../conf/json.conf -n a1 -Dflume.root.logger=INFO,console
  • 发送json数据
>curl -X POST -d '[{ "headers" :{"a" : "a1","b" : "b1"},"body" : "idoall.org_body"}]' http://hbase:8888
  • 查看控制台
16/11/07 01:16:09 INFO sink.LoggerSink: Event: { headers:{b=b1, a=a1} body: 69 64 6F 61 6C 6C 2E 6F 72 67 5F 62 6F 64 79    idoall.org_body }

Hadoop sink

将收集到的数据存入hadoop hdfs中。

  • 编写配置文件
a1.sources=r1
a1.channels=c1
a1.sinks=k1

a1.sources.r1.type=avro
a1.sources.host=hbase
a1.sources.port=4141

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

a1.sinks.k1.type=hdfs
a1.sinks.k1.hdfs.path=hdfs://hbase:9000/flume
a1.sinks.k1.hdfs.filePrefix=test
a1.sinks.k1.hdfs.round=true
a1.sinks.k1.hdfs.roundValue=10
a1.sinks.k1.hdfs.roundUnit=minute

a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
  • 启动hadoop
>./start-all.sh
  • 启动Flume
./flume-ng agent  -f ../conf/hdfs.conf -n a1 -Dflume.root.logger=INFO,console
  • 利用avro客户端发送数据
  • 查看hdfs目录中的文件
>hadoop fs -ls /flume
Found 10 items
-rw-r--r--   1 root supergroup        465 2016-11-07 01:38 /flume/test.1478511493321
-rw-r--r--   1 root supergroup        475 2016-11-07 01:38 /flume/test.1478511493322
-rw-r--r--   1 root supergroup        475 2016-11-07 01:38 /flume/test.1478511493323
-rw-r--r--   1 root supergroup        475 2016-11-07 01:38 /flume/test.1478511493324
-rw-r--r--   1 root supergroup        475 2016-11-07 01:38 /flume/test.1478511493325
-rw-r--r--   1 root supergroup        475 2016-11-07 01:38 /flume/test.1478511493326
-rw-r--r--   1 root supergroup        475 2016-11-07 01:38 /flume/test.1478511493327
-rw-r--r--   1 root supergroup        475 2016-11-07 01:38 /flume/test.1478511493328
-rw-r--r--   1 root supergroup        475 2016-11-07 01:38 /flume/test.1478511493329
-rw-r--r--   1 root supergroup        475 2016-11-07 01:38 /flume/test.1478511493330

File Roll Sink

以滚动文件夹的方式将Event存储在本地磁盘。

  • 编写配置文件
>echo >> fileroll.conf
>vim fileroll.conf
a1.sources=r1
a1.channels=c1
a1.sinks=k1

a1.sources.r1.type=avro
a1.sources.r1.bind=hbase
a1.sources.r1.port=4141

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

a1.sinks.k1.type=file_roll
a1.sinks.k1.sink.directory=/usr/develop-fm/flume1.7.0/temp

a1.sources.r1.channels=c1
a1.sinks.r1.channel=c1
  • 启动agent
>./flume-ng agent -f ../conf/fileroll.conf -n a1 -Dflume.root.logger=INFO,console
  • 查看目录, 默认每30s产生一个新的文件
  • 利用avro客户端发送数据到flume
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值