NameNode在启动的时候,需要将Mettadata加载到内存中去,随着集群扩大,元数据的量也随之增加,内存压力过大。
Hadoop1.x的缺点和解决办法:
- 单点故障------à HA 一主多备
- 内存受限 -----àNN Federation
- Hadoop节点之间的通信都是采用心跳机制。
- 元数据放在一片共享区(主NN和备NN共享)称为Journal Node 集群
- 所有DN节点都要实时向主NN或备NN通信,告知NN自己有哪么些block等信息。
- 至于DN具体要向NN(主)还是NN(备),它会向zookeeper请示,zookeer知道那个节点是主,并知道它的状态。
- 当主NN的状态由FailoverControllerActive进行心跳检测,通知zookeeper,并在它发生故障时,做切换,同样备NN也有相应的FailoverControllerStandby 。
- 通过命令可手动停止主NN启动备NN,甚至调换角色,用于HDFS升级等场合
NN Fderation:将HDFS分成多个完全独立的NN的运行,彼此互不干扰,但是集群共享DN
- 多个NN共用一个集群里DN上的存储资源,每个NN都可以单独对外提供服务
- 每个NN都会定义一个存储池,有单独的id,每个DN都为所有存储池提供存储
- DN会按照存储池id向其对应的NN汇报块信息,同时,DN会向所有NN汇报本地存储可用资源情况
- 如果需要在客户端方便的访问若干个NN上的资源,可以使用客户端挂载表,把不同的目录映射到不同的NN,但NN上必须存在相应的目录
Yarn主要功能:
- 负责资源管理,任务调度
- 支持多种第三方计算框架
时间: 2024-10-11 16:44:03