如果:主从节点全部都挂掉了,怎么保证数据的可用性呢
服务器分布在不同的机架(双电源),为了防止某条线路断电导致服务器失效(也解决了部分网络机架网络出问题的情况)
备份的过程(默认3份) 首先,如果client是集群内的节点则将第一份存储在client上否则随机存储到其他节点,第二份节点存储到其他机架节点,第三份存储到本机架节点。(注此处需开启hadoop的机架感知属性,默认是关闭的,如果未开启机架感知 则认为 随机放到了三个节点上,防止某些节点出问题造成数据丢失)
通过zookeeper实现的namenode主备切换,防止因为namenode失效造成的数据无法访问
正常业务集群肯定要部署集群相关的状态监控,出现问题可以及时发现
如果 这个时候,你的集群还是全部挂掉了。 此乃天灾。。。你需要考虑的不是数据的可用性了,而是千万不要丢失数据!