HA

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/poppy_rain/article/details/86514626
  • HA(high available):高可用机制(即7*24h不间断工作)
  • 实现高可用的关键:消除单点故障
  • hdfs的HA:两个namenode。yarn的HA:两个resource manager

HDFS的HA:

  • 两个namenode:一个活跃nn,一个备份nn
  • 每个nn配有一个zkfc(zookeeper Failover controller),进行nn的状态管理,利用zookeeper集群进行交互
  • zkfc1检测到自己的nn1死了,告诉zkfs2,zkfc2不会立即激活自己的nn2(防止脑裂)

          zkfc2会利用kill进程杀掉nn1(补刀),等待响应

          响应成功,激活nn2。响应不成功,再利用用户提供的脚本kill掉nn1,再激活nn2

          脑裂:两台nn都处于活跃状态。

  • 内存中保留一份元数据,edit放在一个共享存储中管理。
  • 备份nn会从文件系统中读取edit信息,更新到自己的元数据中,定期合并元数据。代替了snn的检查点。
  • 使用:
Configuration conf = new Configuration();
//nns---两个namenode的组合的名字,在配置文件中设置
conf.set("fs.defaultFS", "hdfs://nns/");
FileSystem fs = FileSystem.get(new URI("hdfs://nns/"), conf,"root");
//还需要将core-site.xml和hdfs-site.xml两个配置文件放到项目的classpath(resource)中

          

猜你喜欢

转载自blog.csdn.net/poppy_rain/article/details/86514626
HA