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事件

一,属性

【003】- Flume Source之HTTP

二,配置

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

【003】- Flume Source之HTTP

我们看到Flume的控制台输出了我们发送的内容

以上就是Flume HTTP Source 介绍,下一篇我们将介绍 Kafka Source。



长按二维码,关注BearData

以上是关于003- Flume Source之HTTP的主要内容,如果未能解决你的问题,请参考以下文章

Flume高级组件之Source Interceptors及项目实践

002- Flume Source之TailDir

004- Flume Source之Kafka

Flume之核心架构深入解析

Flume之核心架构深入解析

Hadoop实战-Flume之Source replicating(十四)