1、NAME NODE HA
2、NAME NODE Federation
3、HDFS 快照(目录快照)
4、HDFS 缓存
5、HDFS ACL
6、异构层级存储结构
-------------------------------------------------------------------------------------------------------
1、NameNode HA:
NameNode分为主备节点,一个为ActiveNameNode,一个为StandbyNameNode。
ActiveNameNode作用:
1、Master主节点,只有一个;
2、管理HDFS 命名空间;
3、存储数据块与数据节点的映射关系,文件与数据块的映射关系;
4、配置副本策略;
5、处理客户端请求;
StandbyNameNode作用:
1、NameNode热备;
2、定期合并元数据信息,包括(FSImage和FSEdits)。并且推送给ActiveNameNode;
3、当ActiveNameNode故障的时候,快速切换称为新的ActiveNameNode;
2、NameNode Federation:
多个NameNode配合工作,每个NameNode分管不同的HDFS目录,共享所有的DataNode数据节点。
3、HDFS 快照:
主要为防止用户误删数据,和数据备份的作用
快照的对象为HDFS目录,前提是该目录是可以允许设置快照的(SnapShotable)
启用快照:bin/hdfs dfsadmin allowsnapshot <path>
创建快照:bin/hdfs dfs -CreateSnapshot <path> [snapshotName]
删除快照:bin/hdfs dfs -DeleteSnapshot <path> [snapshotName]
快照特性:只读,不可修改
4、HDFS 缓存:
目的:让高频访问的数据进行长期缓存。
特性:1、仅支持目录或文件缓存,不支持Block级别
2、不支持自动缓存
3、不会递归缓存目录下子目录的所有文件
4、可以设置缓存时间
5、独立管理内存,还没有与YARN的资源管理进行集成,可能会有资源分配的冲突·
5、HDFS ACL:
目标:提高HDFS目录权限管理的安全灵活性,原权限管理类似Linux操作系统模式的用户、用户组、其他组的目录权限管理。
配置:在namenode节点上配置,dfs.namenode.acls.enabled:true
例子:
hdfs dfs -setfacl -m user:tom:rw - /lab/user
hdfs dfs -setfacl -m user:lucy:rw - /lab/user
hdfs dfs -setfacl -m group:team2:r - /lab/user
hdfs dfs -setfacl -m group:team3:r - /lab/user
6、HDFS 异构层级存储结构
可为不同的数据目录,配置不同的存储介质类别,如磁盘、SSD 、RAM,以满足Hadoop集群中不同计算框架,不同计算任务,不同性能要求的数据存储需求。
配置:
<property>
<name>dfs.datanode.data.dir</name>
<value>[disk]/dir1,[disk]/dir2,[ssd]/dir3,[ssd]/dir4</value>
</property>
HDFS 提供APi控制目录文件,写到什么介质,且能限制每个用户对每种介质的可使用份额。