gpt4 book ai didi

java - 如何设置用于测试 Flume 设置的 HTTP 源?

转载 作者:搜寻专家 更新时间:2023-10-30 21:06:57 25 4
gpt4 key购买 nike

我是 Flume 和 Hadoop 的新手。我们正在开发一个 BI 模块,我们可以将来自不同服务器的所有日志存储在 HDFS 中。

为此,我使用 Flume。我刚开始尝试。已成功创建一个节点,但现在我愿意设置一个 HTTP 源和一个将通过 HTTP 将传入请求写入本地文件的接收器。

有什么建议吗?

提前致谢/

最佳答案

希望这可以帮助您入门。我在我的机器上测试时遇到了一些问题,现在没有时间对其进行全面的故障排除,但我会解决的...

假设你现在已经启动并运行了 Flume,这应该是你的 flume.conf 文件需要看起来像使用 HTTP POST 源和本地文件接收器(注意:这会转到本地文件,而不是 HDFS)

########## NEW AGENT ########## 
# flume-ng agent -f /etc/flume/conf/flume.httptest.conf -n httpagent
#

# slagent = SysLogAgent
###############################
httpagent.sources = http-source
httpagent.sinks = local-file-sink
httpagent.channels = ch3

# Define / Configure Source (multiport seems to support newer "stuff")
###############################
httpagent.sources.http-source.type = org.apache.flume.source.http.HTTPSource
httpagent.sources.http-source.channels = ch3
httpagent.sources.http-source.port = 81


# Local File Sink
###############################
httpagent.sinks.local-file-sink.type = file_roll
httpagent.sinks.local-file-sink.channel = ch3
httpagent.sinks.local-file-sink.sink.directory = /root/Desktop/http_test
httpagent.sinks.local-file-sink.rollInterval = 5

# Channels
###############################
httpagent.channels.ch3.type = memory
httpagent.channels.ch3.capacity = 1000

用第二行的命令启动Flume。根据您的需要调整它(尤其是端口、sink.directory 和 rollInterval)。这是一个非常简单的最小配置文件,还有更多可用选项,请查看 Flume 用户指南。现在,就目前而言,代理启动并为我运行良好....

以下是我没有时间测试的内容。默认情况下,HTTP 代理接受 JSON 格式的数据。您 - 应该 - 能够通过发送带有如下形式的 cURL 请求来测试此代理:

curl -X POST -H 'Content-Type: application/json; charset=UTF-8' -d '{"username":"xyz","password":"123"}' http://yourdomain.com:81/

-X 将请求设置为 POST,-H 发送 header ,-d 发送数据(有效的 json),然后是主机:端口。我遇到的问题是出现错误:

WARN http.HTTPSource: Received bad request from client. org.apache.flume.source.http.HTTPBadRequestException: Request has invalid JSON Syntax.

在我的 Flume 客户端中,JSON 无效?所以有些东西被发送了错误。弹出错误的事实表明 Flume 源正在接收数据。无论您拥有什么,只要格式有效,POSTing 就应该可以正常工作。

关于java - 如何设置用于测试 Flume 设置的 HTTP 源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18657548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com