HDFS结构与升级

一、hdfs的namenode结构

  1. Version是hdfs的版本信息
  2. edits开头的是操作日志文件
  3. fsimage开头的是数据镜像文件
  4. .lock结尾的是锁文件,防止两个namenode共同操作数据文件

二、主namenode和辅助namenode的工作流程

三、hdfs的datanode结构

  1. blk开头的是一个hdfs数据块的原始字节数
  2. blk开头,.meta结尾的是该块的元数据信息
  3. 注意,当数据块存储一定数量时,会在该目录创建一个新的文件夹再次存放数据块,可以有效管理各个目录的数据文件

四、安全模式

相关的操作命令
Hadoop提供脚本用于对安全模式进行操作,主要命令为:
hdfs dfsadmin -safemode

command的可用取值如下:
command 功能 备注
get 查看当前状态
enter 进入安全模式
leave 强制离开安全模式
wait 一直等待直到安全模式结束

五、数据块检查

hdfs fsck <文件或者目录>

六、委任新datanode节点

  1. 将新节点的网络地址添加到include文件中(dfs.hosts和yarn.resourcemanager.nodes.include-path)
  2. 更新hdfs节点信息
  • hdfs dfsadmin -refreshNodes
  1. 更新yarn节点信息
  • yarn rmadmin -refreshNodes
  1. 更新slaves文件和hosts文件
  2. 启动新的datanode和节点管理器
  3. 运行./start-balancer.sh,使各节点数据均衡

七、解除旧节点

  1. 将需要解除的节点添加到exclude文件中(dfs.hosts.exclude和yarn.resourcemanager.nodes.exclude-path)
  2. 更新hdfs节点信息
  • hdfs dfsadmin -refreshNodes
  1. 更新yarn节点信息
  • yarn rmadmin -refreshNodes
  1. 到网页界面查看datanode是否是Decommissioned状态(已解除)
  2. 从include文件中(dfs.hosts和yarn.resourcemanager.nodes.include-path)删除
  3. 从slaves和hosts文件中删除节点

八、升级hdfs版本

  1. 升级之前,确保上一版本已经升级完成
  2. 备份namenode元数据信息并手动备份比较重要的数据文件
  • ./hdfs dfsadmin -fetchImage fsimage
  1. 关闭yarn和hdfs守护进程
  • ./stop-dfs.sh 和 ./stop-yarn.sh
  1. 在新版本的命令中使用-upgrade启动hdfs
    • $NEW_HADOOP/start-dfs.sh -upgrade 升级
  • $NEW_HADOOP/hdfs dfsadmin -upgradeProgress status 查看升级状态
  1. 回滚/定妥升级
  • (1)如果无法使用,则回滚到上一版本
    • $NEW_HADOOP/stop-dfs.sh 停止新的守护进程
  •   $OLD_HADOOP/start-dfs.sh	 -rollback	回滚
    
  • (2)如果满意升级并可能往下一步升级,则选择定妥升级
  •   $NEW_HADOOP/hdfs dfsadmin -finalizeUpgrade	定妥升级
    

猜你喜欢

转载自blog.csdn.net/yancychas/article/details/84035228
今日推荐