栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hadoop 优化之hdfs的故障排除

hadoop 优化之hdfs的故障排除

本篇博客主要是对hadoop hdfs的故障排除,主要包括:NameNode故障的处理,集群安全模式和磁盘修复。有不好的地方欢迎各位大佬斧正!感谢!

目录
  • nn故障处理
  • 集群安全模式&磁盘修复
    • 简介
    • 哪些场景会进入到安全模式
    • 退出安全模式的条件
    • 基本语法
    • 实操01,启动集群进入安全模式
    • 实操02,磁盘修复
    • 实操03

nn故障处理 1、情景
NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode
2、故障模拟
(1)kill -9 NameNode进程
[lqs@bdc112 current]$ kill -9 19886
(2)删除NameNode存储的数据(/home/lqs/module/hadoop-3.1.3/data/tmp/dfs/name)
[lqs@bdc112 hadoop-3.1.3]$ rm -rf /home/lqs/module/hadoop-3.1.3/data/dfs/name/*
3、解决办法
(1)拷贝SecondaryNameNode中数据到原NameNode存储数据目录
[lqs@bdc112 dfs]$ scp -rlqs@bdc114: /home/lqs/module/hadoop-3.1.3/data/dfs/namesecondary/* ./name/
(2)重新启动NameNode
[lqs@bdc112 hadoop-3.1.3]$ hdfs --daemon start namenode
(3)向集群上传一个文件 集群安全模式&磁盘修复 简介 所谓的安全模式就是文件系统只接受读数据请求,而不接受删除、修改等变更请求 哪些场景会进入到安全模式 1、nn在加载镜像文件和编辑日志的时间段里会进入安全模式
2、nn在接收dn的注册时也会处于安全模式
退出安全模式的条件 1、当dfs.namenode.safemode.min.datanodes:最小可用datanode数量,默认0
2、dfs.namenode.safemode.threshold-pct:副本数达到最小要求的block占系统总block数的百分比,默认0.999f。(只允许丢一个块)
3、dfs.namenode.safemode.extension:稳定时间,默认值30000毫秒,即30秒
基本语法 集群处于安全模式,不能执行重要操作(写操作)。集群启动完成后,自动退出安全模式。
bin/hdfs dfsadmin -safemode get	
	作用:查看安全模式状态
bin/hdfs dfsadmin -safemode enter 
	作用:进入安全模式状态
bin/hdfs dfsadmin -safemode leave	
	作用:离开安全模式状态
bin/hdfs dfsadmin -safemode wait	
	作用:等待安全模式状态
实操01,启动集群进入安全模式 1、重新启动集群
[lqs@bdc112 subdir0]$ myhadoop.sh stop
[lqs@bdc112 subdir0]$ myhadoop.sh start
2、集群启动后,立即来到集群上删除数据,提示集群处于安全模式 实操02,磁盘修复 情景需求:
数据块损坏,进入安全模式,怎么解决
1、分别进入bdc112、bdc113、bdc114的/home/lqs/module/hadoop-3.1.3/data/dfs/data/current/BP-1015489500-192.168.10.102-1611909480872/current/finalized/subdir0/subdir0目录,统一删除某2个块信息.
[lqs@bdc112 subdir0]$ pwd/home/lqs/module/hadoop-3.1.3/data/dfs/data/current/BP-1015489500-192.168.10.102-1611909480872/current/finalized/subdir0/subdir0
[lqs@bdc112 subdir0]$ rm -rf blk_1073741847 blk_1073741847_1023.meta
[lqs@bdc112 subdir0]$ rm -rf blk_1073741865 blk_1073741865_1042.meta
#说明:bdc113、bdc114重复执行以上命令
2、重新启动集群
[lqs@bdc112 subdir0]$ myhadoop.sh stop
[lqs@bdc112 subdir0]$ myhadoop.sh start
3、观察http://bdc112:9870/dfshealth.html#tab-overview


如果出现上图的内容,说明安全模式已经打开,且块的数量没有达到要求。

4、离开安全模式

[lqs@bdc112 subdir0]$ hdfs dfsadmin -safemode get
Safe mode is ON
[lqs@bdc112 subdir0]$ hdfs dfsadmin -safemode leave
Safe mode is OFF
5、观察http://bdc112:9870/dfshealth.html#tab-overview



6、在web端将将元数据删除

7、观察http://bdc112:9870/dfshealth.html#tab-overview,集群已经正常

实操03 情景需求:
模拟等待安全模式



1、查看当前模式

[lqs@bdc112 hadoop-3.1.3]$ hdfs dfsadmin -safemode get
Safe mode is OFF
2、先进入安全模式
[lqs@bdc112 hadoop-3.1.3]$ bin/hdfs dfsadmin -safemode enter
3、创建并执行下面的脚本
在/home/lqs/module/hadoop-3.1.3路径上,编辑一个脚本safemode.sh
[lqs@bdc112 hadoop-3.1.3]$ vim safemode.sh
#!/bin/bash

hdfs dfsadmin -safemode wait
hdfs dfs -put /home/lqs/module/hadoop-3.1.3/README.txt /
[lqs@bdc112 hadoop-3.1.3]$ chmod 777 safemode.sh

[lqs@bdc112 hadoop-3.1.3]$ ./safemode.sh 
4、另外再打开一个窗口,执行
[lqs@bdc112 hadoop-3.1.3]$ bin/hdfs dfsadmin -safemode leave
5、再观察上一个窗口
Safe mode is OFF
6、HDFS集群上已经有上传的数据了
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/671712.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号