在集群中使用多个http源配置flume on

bbmckpt7  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(307)

如何配置 Apache Flume 多听 HTTP sources 在有多个Flume代理的集群中?
我的flume代理配置如下:

agent1.sources.httpSource_1.type   = http
...
agent1.sources.httpSource_1.port   = 8081

agent1.sources.httpSource_2.type   = http
...
agent1.sources.httpSource_2.port   = 8082

agent1.sources.httpSource_3.type   = http
...
agent1.sources.httpSource_3.port   = 8083

假设集群中有5台服务器。我应该把rest或post-http消息发送到哪个地址才能到达我的5台服务器?
例如,如果我将向 <server_dns_1>:8081 只有这样 agent1 如果我理解正确的话,我会处理的。如何使用所有群集服务器?我应该将http请求发送到哪个地址?

jgwigjjp

jgwigjjp1#

坎特罗伊德,你配置flume的方式只有一个代理( agent1 )将运行。此代理将在内部运行5个侦听线程。
也就是说,一个httppost不可能将消息发送到所有5个侦听线程(或者5个代理,如果您最终将惟一代理拆分为5个)。除非你使用一些负载平衡软件或者你在网络层面使用一些“广播”魔法(我不是这方面的Maven)。
不过,如果拥有5个侦听端口的原因是您希望执行5种不同的数据处理,那么您可以创建一个在单个http端口中侦听的代理,然后创建5个不同的通道,其中5个不同的接收器将侦听。此体系结构的关键点是默认的通道选择器是复制的,即同一事件的副本将由唯一的侦听源放入5个通道。

相关问题