我正在通过Hadoop。我有关于Rack意识的问题:
发布于 2016-11-07 13:44:05
在Hadoop感知中,机架是合乎逻辑的。
关于复制安置政策:
机架感知副本放置策略的目的是提高数据的可靠性、可用性和网络带宽利用率。 不同机架上的两个节点之间的通信必须通过交换机。在大多数情况下,同一机架中机器之间的网络带宽大于不同机架中机器之间的网络带宽。
当复制因子为3时,HDFS的放置策略是在本地机架的一个节点上放置一个副本,在不同(远程)机架中的一个节点上放置另一个副本,在同一个远程机架中的另一个节点上放置最后一个副本。
这种策略减少了机架间的写通信量,这通常会提高写性能.
机架失效的概率远小于节点故障的概率,这种策略不影响数据的可靠性和可用性保证。但是,它确实减少了读取数据时使用的聚合网络带宽,因为一个块只放在两个唯一的机架中,而不是三个。
三分之一的副本位于一个节点上,三分之二的副本位于一个机架上,另三分之一的副本均匀地分布在其余的机架上。此策略在不影响数据可靠性或读取性能的情况下提高写入性能。
请参阅文档Hadoop数据复制
发布于 2016-11-07 13:30:33
发布于 2016-11-07 21:06:21
这是逻辑的还是物理的?
逻辑
为什么每一组数据,两个副本将存在于一个机架,另一个副本在一个不同的机架? 例如,如果我有三个机架,并且复制因子= 3,为什么它不将每个块副本放在每个机架上?
这提供了在集群内发生网络交换机故障或分区时的数据可用性。
至少一个副本存储在不同的RAC上。如果一个RAC无法访问,Hadoop仍然可以从其他RAC中获取数据块。
由于在两个不同的RAC中在三个不同的节点上复制数据块,Hadoop操作提供了数据块的高可用性。
有关详细信息,请参阅HdfsUserGuide的Apache文档。
https://stackoverflow.com/questions/40463245
复制相似问题