大数据笔记(四):HDFS-HA模式概念

网友投稿 310 2022-11-19

大数据笔记(四):HDFS-HA模式概念

HDFS集群搭建-HA模式概念,伪分布式到完全分布式,HDFS- Federation解决方案等知识点的讲解。

前言

博主语录:一文精讲一个知识点,多了你记不住,一句废话都没有

经典语录:你要灭一个人,一是骂杀,一是捧杀

一、伪分布式到完全分布式

回顾:

伪分布式: 在一个节点启动所有的角色: NN,DN,SNN

基础环境

部署配置

1)角色在哪里启动

NN: core-site.xml:  fs.defaultFS  hdfs://node01:9000

DN:  slaves:  node01

SNN: hdfs-site.xml:  dfs.namenode.secondary.node01:50090

2) 角色启动时的细节配置:

dfs.namenode.name.dir

dfs.datanode.data.dir

初始化&启动格式化FsimageVERSIONstart-dfs.sh加载我们的配置文件通过ssh 免密的方式去启动相应的角色

伪分布式到完全分布式:角色重新规划

首先把node01停止,运行stop-dfs.sh

ssh 免密是为了什么?

为了免密启动start-dfs.sh

注意:在哪里启动,那台就要对别人公开自己的公钥

这一台有什么特殊要求吗?

没有

免密配置:node02~node04:

rpm -i jdk-8u181-linux-x64.rpm

node01:

scp /root/.ssh/id_dsa.pub node02:/root/.ssh/node01.pubscp /root/.ssh/id_dsa.pub node03:/root/.ssh/node01.pubscp /root/.ssh/id_dsa.pub node04:/root/.ssh/node01.pub

node02:

cd ~/.sshcat node01.pub >> authorized_keys

node03:

cd ~/.sshcat node01.pub >> authorized_keys

node04:

cd ~/.sshcat node01.pub >> authorized_keys

完全分布式配置部署

node01:

cd $HADOOP/etc/hadoop

vi core-site.xml

不需要改

vi hdfs-site.xml

dfs.replication 2 dfs.namenode.name.dir /var/bigdata/hadoop/full/dfs/name dfs.datanode.data.dir /var/bigdata/hadoop/full/dfs/data dfs.namenode.secondary.http-address node02:50090 dfs.namenode.checkpoint.dir /var/bigdata/hadoop/full/dfs/secondary

vi slaves

node02 node03 node04

分发:

cd /optscp -r ./bigdata/ node02:`pwd`scp -r ./bigdata/ node03:`pwd`scp -r ./bigdata/ node04:`pwd`

格式化启动

hdfs namenode -formatstart-dfs.sh

二、思路

主从集群:结构相对简单,主与从协作 主:单点,数据一致好掌握 问题:

单点故障,集群整体不可用

压力过大,内存受限

三、HDFS解决方案

单点故障:

高可用方案:HA(High Available)

多个NN,主备切换,主

压力过大,内存受限:

联帮机制: Federation(元数据分片)

多个NN,管理不同的元数据

HADOOP 2.x 只支持HA的一主一备

四、HDFS-HA解决方案

Namenode元数据:

1、cli交互操作mkdir /a

2、dn提交的block

HA:数据同步(cli的操作)

分布式:强一致性破坏可用性

ZK:

1、目录树结构:x节点B抢锁

2、事件机制-》call back watch监控

3、临时节点

注意:在HA模式中没有SNN,Standby角色滚动Fsimage,通过SNN滚动是非HA模式

CAP原则:

Consistency:一致性Availability:可用性Partition  tolerance:分区容忍性

Paxos 算法

Paxos算法是莱斯利·兰伯特于1990年提出的一种基于消息传递的一致性算法。这个算法被认为是类似算法中最有效的。该算法覆盖全部场景的一致性。每种技术会根据自己技术的特征选择简化算法实现。传递:NN之间通过一个可靠的传输技术,最终数据能同步就可以我们一般假设网络等因素是稳定的类似一种带存储能力的消息队列

简化思路:

分布式节点是否明确节点权重是否明确强一致性破坏可用性过半通过可以中和一致性和可用性

最简单的自我协调实现:主从

主的选举:明确节点数量和权重

主从的职能:

主:增删改查从:查询,增删改传递给主主与从:过半数同步数据

HA方案:

多台NN主备模式,Active和Standby状态

Active对外提供服务

增加journalnode角色(>3台),负责同步NN的editlog

最终一致性

增加zkfc角色(与NN同台),通过zookeeper集群协调NN的主从选举和切换

事件回调机制

DN同时向NNs汇报block清单

五、HDFS- Federation解决方案

NN的压力过大,内存受限问题:元数据分治,复用DN存储元数据访问隔离性DN目录隔离block

5.1、基础环境

增加NNs的ssh免密

5.2、应用搭建

zookeeper格式化NN格式化ZK

5.3、启动集群

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python教程:函数名的本质
下一篇:新iPhone量产时间待定 数据线接口或改变
相关文章

 发表评论

暂时没有评论,来抢沙发吧~