Hadoop客户能否利用机架感知的优势?

问题描述

我有10台使用akka流进行数据提取提取机。 我有一个由50个节点组成的Hadoop集群,并使用Spark Streaming运行管道。 Hadoop集群使用10台计算机生成的数据来生成报告。 我可以利用这10台计算机的机架感知能力,而无需将它们添加到Hadoop集群中吗?

当我说机架感知时,我的意思是说如果这些机器与Hadoop数据节点位于同一机架中,那么使用机架感知,我希望每个摄取机器将数据上传到它最近的数据节点,而不是随机方式,以便我将会减少网络流量。

请告诉我是否可能。

解决方法

如果我正确理解了您的设置,这应该会自动发生。根据{{​​3}}:

在通常情况下,当复制因子为3时, HDFS 放置策略是在以下情况下将一个副本放置在本地计算机上: writer位于数据节点上,否则位于同一节点中的随机datanode上 像作者一样,另一个节点上的另一个副本 (远程)机架,最后一个机架位于同一远程服务器的不同节点上 机架。

(突出显示的是与您的情况有关的情况,如果您的摄取节点不是集群数据节点。)