2

我有 25-20 个代理将数据发送到几个收集器代理,然后这些收集器代理必须将其写入 HDFS。

在哪里运行这些收集器代理?在 Hadoop 集群的 Data 节点上还是在集群外?每种方法的优点/缺点是什么,人们目前如何运行它们?

4

2 回答 2

1

我假设您使用 Flume 之类的东西。如果是这种情况,Flume 代理(至少是第一层)会在数据来源的任何地方运行。IE:用于 Web 日志的 Web 服务器。

Flume 确实支持其他协议,例如 JMS,因此在这些场景中位置会有所不同。

对于生产集群,你不想在 Datanodes 上运行像 Flume 这样的“代理”。最好为集群平衡该硬件的资源。

如果您有很多代理,您将希望使用分层架构将众多来源整合并汇集到一组较小的代理中,这些代理将写入 HDFS。这有助于控制集群对外部服务器的可见性和暴露。

于 2014-03-27T00:23:03.567 回答
1

第 2 层水槽代理使用 hdfsSink 直接写入 HDFS。更重要的是,Tier1 可以使用故障转移接收器组。如果第 2 层水槽代理之一关闭。

于 2014-03-27T03:17:56.650 回答