上一篇我们已经可以通过编程的方式操作 HDFS 了,但这一切背后在Hadoop集群里发生了什么呢,本篇文章简单介绍一下 HDFS 的读写流程。
我们为了数据安全,尽量会分散开数据,所以会跨机架甚至跨可用区进行部署,防止某个机架故障导致全部集群故障,而距离的远近会影响性能,所以 Hadoop 还有机架感知的功能,这里我主要是看官网的文档:https://hadoop.apache.org/docs/r2.10.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#Data_Replication。
其实计算距离只需要看网络数据包跳了几跳就行,如果在同一个机架上,都在同一个交换机上,几乎是直达无需跳转,如果要出去就需要好几个路由跳转,从而就可以判断距离远近了。
官方文档是这样说的,我摘抄一部分:
当复制因子为3时,HDFS的放置策略是:如果写入器在数据节点上,则将一个副本放置在本地计;否则,在随机数据节点上,将HDFS放置在不同(远程)机架中的节点上的另一个副本。 最后一个位于同一远程机架中的其他节点上。该策略减少了机架间的写流量,通常可以提高写性能。机架故障的机会远小于节点故障的机会。此策略不会影响数据的可靠性和可用性保证。
商业用途请联系作者获得授权。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.renfei.net/posts/1003466
本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!
本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!