管理Hadoop(一) HDFS

持久数据结构

dfs.namenode.name.dir目录结构


VERSION


    > nameSpaceID:文件系统命名空间的唯一标识符,首次格式化namenode时创建

    > clusterID:给集群赋予唯一标识符

    > cTime属性标记了存储系统的创建时间,系统升级后会更新

    > storageType:存储目录包含的是namenode的数据结构

    > layoutVersion:负整数,持久数据结构的版本

in_use.lock

    > 锁文件,使用in_use.lock给存储目录加锁,避免同时使用同一个目录

fsimage和edit log

    > 客户端执行写操作时,首先记录到编辑日志中,当编辑日志被修改时,内存中元数据信息也更新。向客户端发送成功代码之前,要将所有写操作更新并同步到每个副本,确保事务不会丢失

    > 辅助namenode设置检查点合并编辑日志

        1) 辅助namenode请求主namenode停止使用当前edits,写入其他新的edits

        2) 辅助namenode获取主namenode的fsimage和edits文件

        3) 辅助namenode将fsimage加载进内存,逐一执行edits中的事务,创建合并后的fsimage

        4) 辅助namenode将合并后的fsimage返回给主namenode,替换主namenode的旧文件系统映像

    > 设置检查点 1) 时间间隔 dfs.namenode.checkpoint.period 2) 编辑日志事务数量 dfs.namenode.checkpoint.txns


安全模式

    > namenode启动时,将fsimage加载入内存,执行编辑日志,在内存中创建新元数据的映像后,创建一个新的fsimage和一个空的编辑日志,这个过程namenode运行在安全模式,文件系统对客户端是只读的

    > 在安全模式下,各个datanode向namenode发送最新的块列表信息,了解到足够多的块位置信息后,高效运行文件系统

    > 如果满足最小副本条件,则30S就退出安全模式

hdfs dfsadmin -safemode get

hdfs dfsadmin -safemode wait

hdfs dfsadmin - safemode enter

hdfs dfsadmin -safemode leave

日志审计

使用log4j的INFO级别


工具

dfsadmin:查找状态信息,执行管理操作

文件系统检查fsck:检查文件健康状态

datanode block scanner:定期检测节点块,查看是否由checksum错误

均衡器:将块从忙碌的datanode转移到空闲的datanode,重新分配块

start-balancer.sh



猜你喜欢

转载自blog.csdn.net/weixin_42129080/article/details/80923555