HDFS的概念
2019-08-05 19:31:19 0 举报
AI智能生成
HDFS的概念
作者其他创作
大纲/内容
namenode和datanode
管理节点-namenode
永久保存命名空间镜像文件和编辑日志文件
暂时保存块的位置信息,会在系统重新启动时重建
工作节点-datanode
根据需要存储并检索数据块(受客户端或namenode调用)
定期向namenode发送他们所储存的块的列表
namenode 单点失效问题
如果namenode失效了,那么所有的客户端,包括MapReduce作业均无法读写或列举文件,因为namenode时唯一存储元数据与文件到数据块映射的地方。这种情况下,Hadoop系统无法提供服务直到有新的namenode上线
提高namenode容错
备份组成文件系统元数据持久状态的文件
添加辅助namenode合并编辑日志和空间镜像文件防止编辑日志过大
联邦HDFS
每个namenode维护一个命名空间卷,由命名空间的元数据和一个数据块池组成
数据块池包含该命名空间下文件的所有数据块
命名空间卷之间相互独立,两两不相互通信
一个namenode失效也不会影响其他namenod维护的命名空间的可用性
联邦HDFS的配置
HDFS的高可用性
解决namenode宕机时集群无法正常工作的问题
活动-备用namenode
namenode之间需要通过高可用共享存储实现编辑日志的共享
datanode需要同时向两个namenode发送数据块处理报告因为映射信息存储在内存而非磁盘
客户端需要使用特定的机制来处理namenode的失效问题,这一机制对用户是透明的
备用namenode包含辅助namenode的功能,会对namenode命名空间设置周期性检查点
故障切换与规避
每一个namenode运行着一个轻量级的故障管理器,其工作是监视宿主namenode是否失效(通过一个简单的心跳机制)并在node失效时进行故障切换
除了故障,较差的网络环境也会激发故障转移,为了避免这种情况带来的危害,提出了一个名为“规避”的解决方法:在故障转移被激发的时候,不管该namenode是否真正故障,都会终止它的工作。具体方式有:QJM,撤销namenode访问共享目录的权限,STONITH
数据块
块的概念
HDFS中块的大小
HDFS中的块为什么会这么大
块缓存
是堆外块缓存
用小的查询表
增加一个cache directive来控制缓存时间
0 条评论
下一页