了解hdfs文件结构

1. NameNode的文件结构:初始化dfs的时候会产生以下目录文件

  • ${dfs.name.dir}/current/VERSION
    -包含java属性文件,hdfs版本信息
    -重点说一下namespaceID,第一次格式化的时候便会创建。各个DataNode节点和此处的必须一样,否者不可用。如果NameNode进行二次格式化,会导致DataNode与NameNode不一致,所以要手动改成一致的。
    以下三个都是二进制文件可进行序列化后查看
  • ${dfs.name.dir}/current/edits
    -是编辑日志,会在写文件时记录该操作
  • ${dfs.name.dir}/current/fsimage
    -存储文件系统目录和文件inodes(表示文件或目录的元数据信息,文件副本数,修改和访问时间)
  • ${dfs.name.dir}/current/fstime

2. Secondary NameNode

  • 任务就是辅助NameNode处理fsimage和编辑日志的节点,从NameNode中复制fsimage和编辑日志(执行里面的操作)并定期合并生成一个新的fsimage,后传给NameNode。
  • 目录结构和NameNode一样

3. DataNode的文件结构

  • ${dfs.data.dir}/current/VERSION
  • ${dfs.data.dir}/current/blk…
  • 当目录中存储的块数达到一定数量时(由dfs.DataNode.numblocks属性设置),DataNode会创建一个新的目录来保存新的块数据

hadoop管理命令

  • hadoop dfsadmin(需超级用户权限),有以下命令选项
    -report :报告文件系统的基本信息
    -safemode enter|leave|get|wait :进入安全模式
    -refreshNodes :NameNode重新识别新的节点和退出集群的节点
    -hadoop fsck / :文件系统验证,是否存在丢失的块,副本数是否达到要求
    -等等….
    -hadoop fsck /output/hello.txt -files -blocks -racks :找到某个文件的所有块
    -start-balancer.sh命令均衡文件系统

hadoop节点的管理

  • 一般来说新增一个节点修改一下配置文件就可以了,但是还是最好配置一个授权节点列表来管理
  • 例如节点的新增,删除,升级操作请百度
文章目录
  1. 1. 了解hdfs文件结构
    1. 1.0.1. 1. NameNode的文件结构:初始化dfs的时候会产生以下目录文件
    2. 1.0.2. 2. Secondary NameNode
    3. 1.0.3. 3. DataNode的文件结构
  • 2. hadoop管理命令
  • 3. hadoop节点的管理
  • Sides

    IT技术分享博客