1、概述:hdfs是一种分布式文件系统,将大的数据量,存储到更多的操作系统管理的磁盘中。适合一次写入,多次读出的场景,且不支持文件的修改。
2、组成架构
NameNode、DataNode、Client、Secondary NameNode
3、hdfs文件块
2.x版本中默认大小是128M,块太小hui会增加寻址时间,块太大导致传输时间过长,处理这块会非常慢。
还需要了解hdfs的shell操作
4、hdfs的客户端操作
注意这里的参数优先级关系:(1)客户端代码中设置的值 >(2)ClassPath下的用户自定义配置文件 >(3)然后是服务器的默认配置
5、hdfs读写数据流程
分别使用FSDataInputStream和FSDataOutputStream
6、NameNode和SecondaryNameNode
1)、工作机制
新的节点SecondaryNamenode,专门用于FsImage和Edits的合并。
首先启动NameNode,如果不是第一次启动,直接加载编辑日志和镜像文件到内存。Secondary NameNode询问NameNode是否需要CheckPoint,如果需要,则将滚动前的编辑日志和镜像文件拷贝到Secondary NameNode,进行合并,生成新的镜像文件,拷贝fsimage.chkpoint到NameNode,并重新命名fsimage。
触发CheckPoint需要满足两个条件中的任意一个,定时时间到和Edits中数据写满了。
当NameNode故障故障时,可以利用SecondaryNamenode中的数据进行恢复。
7、DataNode
数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。集群运行中可以安全加入和退出一些机器
8、服役新节点
可以直接克隆一台机器,修改ip和主机名称,直接启动,即可关联到集群。
9、退役旧数据节点
1)、添加白名单
添加到白名单的主机节点,都允许访问NameNode,不在白名单的主机节点,都会被退出。
2)、黑名单退役
在黑名单上面的主机都会被强制退出。
注意:不允许白名单和黑名单中同时出现同一个主机名称。
10、HDFS HA 高可用
即是不中断服务,关键是消除单点故障,使用ZooKeeper对两个NameNode节点进行调节。
11、YARN HA 高可用
上面的高可用是配置两个namenode ,这里的高可用是配置两个resourcemanager