IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> HDFS 常见的异常处理方式汇总 -> 正文阅读

[大数据]HDFS 常见的异常处理方式汇总

前言

本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见大数据技术体系


正文

Hadoop 由众多模块组成,哪一个出错,都会导致 Hadoop 整个系统出现异常。

下面介绍下常见的 Hadoop 异常处理(不定期更新)。


ERROR org.apache.hadoop.hdfs.server.datanode.DataNode:java.io.IOException:Incompatible namespaceIDs in /home/hadoop/tmp/dfs/data:namenode namespaceID 39895076;datanode namespaceID=1030326122

原因

NameNode 被重新格式化,DataNode 数据版本与 NameNode 不一致。

解决方案

  1. 删除 DataNode 所有文件。
  2. 修改 DataNode 的 dfs/data/current/VERSION 文件与 NameNode 相同。

ERROR org.apache.hadoop.hdfs.server.datanode.DataNode:org.apache.hadoop.util.DiskChecker$DiskError Exception:Invalid value for volsFailed:3,Volumes tolerated:0

原因

磁盘损坏。

解决方案

更换硬盘。


Hive 查询时的 FileNotFoundException

原因

文件确实不存在,或者是权限问题导致数据没有正确地写入Hiv的读取路径。

解决方案

设置 dfs.permissions=false 或设置 Hive 读取路径正确的可写权限。


INFO org.apache.hadoop.hdfs.server.datanode.DataNode:writeBlock blk_-8336485569098955809_2093928 received exception java.io.IOException:Permission denied

原因

之前用错误账户启动 Hadoop,导致 HDFS 存储所使用的本地目录被变更,导致目录不可写入,DataNode 无法启动。

解决方案

切换至高权限用户,变更为正确的权限,再重启 DataNode。


FAILED:RuntimeException org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException):Cannot create directory/tmp/hive-hadoop/hive 2022-02-1219-08-539243815707560010618162-1.Name node is in safe mode.

原因

NameNode 处于安全模式。

解决方案

当 Hadoop 的 NameNode 节点启动时,会进入安全模式阶段。

在此阶段,DataNode 会向 NameNode 上传它们数据块的列表,让 NameNode 得到块的位置信息,并对每个文件对应的数据块副本进行统计。

当最小副本条件满足时,即一定比例的数据块都达到最小副本数,系统就会退出安全模式,而这需要一定的延迟时间。

当最小副本条件未达到要求时,就会对副本数不足的数据块安排DataNode 进行复制,直至达到最小副本数。

而在安全模式下,系统会处于只读状态,NameNode 不会处理任何块的复制和删除命令。

当处于安全模式时,无论是 Hive 作业还是普通的 MapReduce 作业均不能正常启动,使用命令退出安全模式:

hadoop dfsadmin -safemode leave

java.lang.OutOfMemoryError:Java heap space

原因

内存溢出。

解决方案

可以通过增大内存和减少内存消耗两个方面进行调优。


ERROR:org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException:No lease on mp/hive-hadoop /hive2022-03-07_03-00-164306468012546084389462/_tmp.-ext-10001/tmp.000053_1 File does not exist.Holder DFSClient_attempt_202203051238_0516_r_000053_1 does not have any open files.

原因

dfs.datanode.max.xcievers 参数到达上限。

解决方案

增大hdfs-site.xmldfs.datanode.max.xcievers参数。


Error:JAVA HOME is not set.

原因

JAVA_HOME环境变量缺失。

解决方案

$HADOOP_HOME/conf/hadoop-env.sh文件中设置。


ERROR org.apache.hadoop.hdfs.server.datanode.DataNode:java.io.IOException:Call to…failed on local exception:java.net.NoRouteToHostException:No route to host

原因

有可能是防火墙导致 DataNode 连接不上 NameNode,导致 DataNode 无法启动。

解决方案

关闭防火墙,执行命令:

service iptables stop
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:11:43  更:2022-06-25 18:12:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:33:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码