首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hadoop的机架意识

hadoop的机架意识
EN

Stack Overflow用户
提问于 2016-11-07 10:44:26
回答 3查看 747关注 0票数 1

我正在通过Hadoop。我有关于Rack意识的问题:

  1. 这是逻辑的还是物理的?
  2. 为什么每一组数据,两个副本将存在于一个机架,另一个副本在一个不同的机架?
  3. 例如,如果我有三个机架,并且复制因子= 3,为什么它不将每个块副本放在每个机架上?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-07 13:44:05

在Hadoop感知中,机架是合乎逻辑的。

关于复制安置政策:

机架感知副本放置策略的目的是提高数据的可靠性、可用性和网络带宽利用率。 不同机架上的两个节点之间的通信必须通过交换机。在大多数情况下,同一机架中机器之间的网络带宽大于不同机架中机器之间的网络带宽。

当复制因子为3时,HDFS的放置策略是在本地机架的一个节点上放置一个副本,在不同(远程)机架中的一个节点上放置另一个副本,在同一个远程机架中的另一个节点上放置最后一个副本。

这种策略减少了机架间的写通信量,这通常会提高写性能.

机架失效的概率远小于节点故障的概率,这种策略不影响数据的可靠性和可用性保证。但是,它确实减少了读取数据时使用的聚合网络带宽,因为一个块只放在两个唯一的机架中,而不是三个。

三分之一的副本位于一个节点上,三分之二的副本位于一个机架上,另三分之一的副本均匀地分布在其余的机架上。此策略在不影响数据可靠性或读取性能的情况下提高写入性能。

请参阅文档Hadoop数据复制

票数 2
EN

Stack Overflow用户

发布于 2016-11-07 13:30:33

  • 合乎逻辑。您将为Hadoop提供一个外部脚本,该脚本将datanodes的主机名转换为齿条名。
  • 机架间带宽是一种昂贵的资源(比同一机架内的带宽更昂贵)。因此,这是在可靠性和资源使用之间的权衡。
票数 1
EN

Stack Overflow用户

发布于 2016-11-07 21:06:21

这是逻辑的还是物理的?

逻辑

为什么每一组数据,两个副本将存在于一个机架,另一个副本在一个不同的机架? 例如,如果我有三个机架,并且复制因子= 3,为什么它不将每个块副本放在每个机架上?

这提供了在集群内发生网络交换机故障或分区时的数据可用性。

至少一个副本存储在不同的RAC上。如果一个RAC无法访问,Hadoop仍然可以从其他RAC中获取数据块。

由于在两个不同的RAC中在三个不同的节点上复制数据块,Hadoop操作提供了数据块的高可用性。

有关详细信息,请参阅HdfsUserGuide的Apache文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40463245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档