我有25-20个代理将数据发送给几个收集器代理,然后这些收集器代理必须将其写入HDFS。
在哪里运行这些收集器代理?在Hadoop集群的数据节点上还是在集群外部?每个人的利弊是什么以及当前人们如何运作它们?
答案 0 :(得分:1)
我假设您使用了Flume这样的东西。如果是这种情况,Flume代理(至少第一层)将运行数据来源。 IE:用于Web日志的Web服务器..
Flume确实支持其他协议,例如JMS,因此这些场景的位置会有所不同。
对于生产群集,您不希望在Datanodes上运行像flume这样的“代理”。最好为集群的硬件资源调整级别。
如果您有很多代理,那么您将需要使用分层体系结构来合并并将众多来源汇集到一组较小的代理中,这些代理将写入HDFS。这有助于控制群集对外部服务器的可见性和暴露。
答案 1 :(得分:1)
第2层flume代理使用hdfsSink直接写入HDFS。更重要的是,Tier1可以使用故障转移sinkgroup。如果第二级水槽剂中的一个下降。