hdfs是一款非常优秀的分布式文件系统。hdfs为主从架构,主节点为NameNode,主节点负责配合journalNode等完成fsimge完整性。从节点为DataNode,从节点负责存储数据。节点之间通信。。。好吧跑题了!
hdfs文件是分布式存储,每个文件根据配置被切分成block(hadoop2.x默认128M)。为了达到容错的目的,根据配置每个block块存放N个副本,官方推荐正常情况下保留3个副本就可以(同一个机架存两份,另一个机架再存一份)。当然,如果你的集群节点不太稳定,可以适当增加副本个数。
多副本机制除了能达到容错目的,也为计算本地行提供了便捷。当指定数据副本所在节点计算资源不充足时,多副本机制可以不用迁移数据,直接在另一个副本所在几点计算即可。小A同学提问:如果所有副本所在节点,计算资源都紧张怎么办?好吧,老师承认你这个问题很好。如果所有副本所在节点的计算资源都紧张,yarn的 任务分发机制根据配置等待一会。当等待时长超过配置时长,则会考虑将数据复制到其他计算资源空闲的节点上,优先本地节点(同一个机架上),如果本地无法找到合适的计算节点,再等待默认3s如何资源还没有空余出来,就会启动数据迁移(这个代价有点大)。当然如果当前使用yarn的公平调度抢占式资源模式,会强制干掉不属于当前用户队列的进程以空出资源。好吧,又一次跑题了。。。如果同学们想了解yarn资源调度,请查看下下篇关于hadoop yarn资源调度的博客。小A同学又要提问了:老师什么时候会写关于hadoop yarn的资源调度?。。。。呃。。。。老师也不知道什么时候会写,看心情!!!!
那么spark中的RDD又是什么呢?RDD全名是弹性分布式数据集,弹性并不是动态扩展而是血统容错机制(这个机制在sparkStream某些情况会导致栈溢出),分布式顾名思义一个RDD会在多个节点上存储。一个RDD可以切分多个块(partition),不同的块可能在集群的不同节点上。当然spark RDD也支持多副本机制,


4342

被折叠的 条评论
为什么被折叠?



