003- Flume Source之HTTP
Posted BearData
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了003- Flume Source之HTTP相关的知识,希望对你有一定的参考价值。
通过HTTP POST和GET方式接收Flume事件,GET不能用于生产环境,HTTP请求通过插件"handler"转换为Flume事件,该Handler需要实现HTTPSourceHandler接口,这个hadler参数为HttpServletRequest,返回Flume事件列表。来自一个被提交到channel中的http请求的所有事件都会当做一个事务来处理。
flume自带的Http Source可以通过Http Post接收事件。
使用场景:对于有些应用程序环境,它可能不能部署Flume SDK及其依赖项,或客户端代码倾向于通过HTTP而不是Flume的PRC发送数据的情况,此时HTTP SOURCE可以用来将数据接收到Flume中。
从客户端的角度看,HTTP SOURCE表现的像web服务器一样能接收flume事件
一,属性
二,配置
a1.sources = r1
a1.channels = c1
a1.sinks = k1
a1.sources.r1.type = http
a1.sources.r1.bind=localhost
a1.sources.r1.port = 5140
a1.sources.r1.channels = c1
#a1.sources.r1.handler = org.example.rest.RestHandler
#a1.sources.r1.handler.nickname = random props
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.sinks.k1.type = logger
#./bin/flume-ng agent -c ./conf -f ./conf/http.conf -n a1 -Dflume.root.logger=INFO,console
三,测试
我们模拟给端口5140发送请求
curl -X POST -d'[{"headers":{"h1":"v1","h2":"v2"},"body":"hello beardata"}]' http://localhost:5140
我们看到Flume的控制台输出了我们发送的内容
以上就是Flume HTTP Source 介绍,下一篇我们将介绍 Kafka Source。
长按二维码,关注BearData
以上是关于003- Flume Source之HTTP的主要内容,如果未能解决你的问题,请参考以下文章