java.io.IOException: Previous writer likely failed to write hdfs报错解决方案

本文已收录在Github,关注我,紧跟本系列专栏文章,咱们下篇再续!

  • 🚀 魔都架构师 | 全网30W技术追随者
  • 🔧 大厂分布式系统/数据中台实战专家
  • 🏆 主导交易系统百万级流量调优 & 车联网平台架构
  • 🧠 AIGC应用开发先行者 | 区块链落地实践者
  • 🌍 以技术驱动创新,我们的征途是改变世界!
  • 👉 实战干货:编程严选网

1 报错

$ hive Logging initialized using configurationinfile:/opt/apps/emr/service/hive/package/hive-2.3.9/conf/hive-log4j2.properties Async:trueExceptioninthread"main"java.lang.RuntimeException: java.io.IOException: Previous writer likely failed towritehdfs://xxx:9000/tmp/hivescratchdir/hive-root/root/_tez_session_dir/268b9c6d-0215-417d-889b-b7bd2a06edfa/hadoop-shim-0.9.2.jar. Failing because I am unlikely towritetoo. at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:636)at org.apache.hadoop.hive.ql.session.SessionState.beginStart(SessionState.java:553)at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:750)at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:686)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.hadoop.util.RunJar.run(RunJar.java:328)at org.apache.hadoop.util.RunJar.main(RunJar.java:241)Caused by: java.io.IOException: Previous writer likely failed towritehdfs://xxx:9000/tmp/hivescratchdir/hive-root/root/_tez_session_dir/268b9c6d-0215-417d-889b-b7bd2a06edfa/hadoop-shim-0.9.2.jar. Failing because I am unlikely towritetoo.

2 分析

这错误表明 Hive 无法在 HDFS 上写入临时文件,通常权限或 HDFS 存储空间问题,与 Hive 的临时目录权限和 Tez 会话相关。

3 排查

3.1 先检查 HDFS 临时目录权限

Hive 启动时会创建许多临时会话目录,尤其 Tez 引擎下,需确保当前用户对这些目录具有写入权限:

① 确认当前用户是否具有操作 HDFS 临时目录的权限
# 检查 Hive 启动时的用户whoami# 确认用户后执行以下命令来验证权限$ hadoop fs -ls /tmp/hivescratchdir/hive-root/root/_tez_session_dir drwx------ - root supergroup02023-03-2213:52 /tmp/hivescratchdir/hive-root/root/_tez_session_dir/098a8702-e67a-4a77-b073-eb49e290c3cd drwx------ - root supergroup02023-03-2213:39 /tmp/hivescratchdir/hive-root/root/_tez_session_dir/0c4996c3-e8bc-4d09-a198-4f97051d3017...

若当前用户对该目录没有写入权限,可切换为hadoophdfs用户,再尝试执行 Hive。

② 配置 Hive 的启动用户权限

若系统中 Hive 服务不是使用默认的hadoop用户,建议在hive-site.xml中增加 Hive 的 HDFS 操作权限配置:

<property><name>hadoop.proxyuser.hive.groups</name><value>*</value></property><property><name>hadoop.proxyuser.hive.hosts</name><value>*</value></property>
# 检查并修复临时目录权限$ hadoop fs -ls /tmp/hivescratchdir Found1items drwx-wx-wx - root supergroup02022-12-1914:45 /tmp/hivescratchdir/hive-root hadoop fs -chmod -R777/tmp/hivescratchdir# 若目录不存在,创建并设置权限hadoop fs -mkdir -p /tmp/hivescratchdir hadoop fs -chmod -R777/tmp/hivescratchdir

3.2 确保 Tez 守护进程和 Yarn 正常运行

Hive 通过 Tez 提交到 Yarn 进行执行,因此 Yarn 状态不正常也可能导致 Hive 失败。尝试查看 Yarn 资源管理器和 Tez 应用程序的状态:

yarnapplication -list# 查看正在运行的应用yarnlogs -applicationId<Application_ID># 获取特定 Tez 应用的日志

若看到大量失败或异常日志,可能需重启 Yarn 或 Tez 守护进程。

① 清理 Tez 的临时会话目录
# 删除现有的 tez 会话目录hadoop fs -rm -r /tmp/hivescratchdir/hive-root/root/_tez_session_dir

3.3 检查 Hive 临时目录

# 检查并修复 Hive 临时目录权限hadoop fs -chmod -R777/tmp/hive

若至此还不能解决,尝试:

a. 在 hive-site.xml 中添加或修改以下配置:

<property><name>hive.exec.scratchdir</name><value>/tmp/hive/scratchdir</value></property><property><name>hive.downloaded.resources.dir</name><value>/tmp/hive/resources</value></property>

b. 创建并设置这些目录的权限:

hadoop fs -mkdir -p /tmp/hive/scratchdir hadoop fs -mkdir -p /tmp/hive/resources hadoop fs -chmod -R777/tmp/hive

3.4 确保 HDFS 服务正常运行

如验证 HDFS 剩余空间,确保 HDFS 上有足够的空间供 Hive 进行临时文件操作。若 HDFS 空间不足,Hive 会在写入临时目录时遇到错误。

# 检查 HDFS 状态$ hdfs dfsadmin -report Configured Capacity:105553760256(98.30GB)Present Capacity:62747512181(58.44GB)DFS Remaining:53281357173(49.62GB)DFS Used:9466155008(8.82GB)DFS Used%:15.09% Replicated Blocks: Under replicated blocks:61Blocks with corrupt replicas:0Missing blocks:0Missing blocks(with replication factor1):0Low redundancy blocks with highest priority to recover:61Pending deletion blocks:0Erasure Coded Block Groups: Low redundancy block groups:0Blockgroupswith corrupt internal blocks:0Missing block groups:0Low redundancy blocks with highest priority to recover:0Pending deletion blocks:0------------------------------------------------- Live datanodes(1): Name:192.168.0.126:50010(icv-etl-gateway)Hostname: xxx Decommission Status:Normal Configured Capacity:105553760256(98.30GB)DFS Used:9466155008(8.82GB)Non DFS Used:38279925760(35.65GB)DFS Remaining:53281357173(49.62GB)DFS Used%:8.97% DFS Remaining%:50.48% Configured Cache Capacity:0(0B)Cache Used:0(0B)Cache Remaining:0(0B)Cache Used%:100.00% Cache Remaining%:0.00% Xceivers:0Last contact: Wed Nov 0614:25:48 CST2024Last Block Report: Wed Nov 06 09:50:12 CST2024Num of Blocks:3421

查看到有空间。

若仍有问题,可尝试重启 HDFS:

# 重启 HDFS(如你有权限)stop-dfs.sh start-dfs.sh

若问题仍然存在,可查看详细日志:

# 检查 Hive 日志cat/opt/apps/emr/service/hive/package/hive-2.3.9/logs/hive.log

还要确认你的 Hadoop 用户有适当的权限操作这些目录。通常使用hdfshadoop用户运行相关服务会更好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1165184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CameraLink 一个连接器的26个信号线

方向核心功能描述配置说明1GND电源-接地引脚PoCL 模式可复用为 12V 供电2CC4-LVDS 差分采集卡→相机相机控制信号 4&#xff08;负极&#xff09;用于相机参数配置、触发控制3CC4LVDS 差分采集卡→相机相机控制信号 4&#xff08;正极&#xff09;与 Pin2 组成 CC4 差分对4CC3…

连锁火锅智慧餐饮管理系统python后台-计算机毕业设计源码+LW文档

一、选题意义 随着信息技术的快速发展和餐饮行业竞争的加剧&#xff0c;传统的餐饮管理方式已难以满足连锁火锅企业的需求。智慧餐饮管理系统能够利用现代互联网、物联网等技术手段对火锅企业的各个运营环节进行高效管理。这有助于提高连锁火锅企业的运营效率&#xff0c;减少人…

鸟类保护管理系统小程序-计算机毕业设计源码+LW文档

摘 要 当今社会正处于科技进步与经济社会迅猛发展的全新阶段&#xff0c;国际间的信息交流与学术互动日益频繁。计算机技术对经济社会的发展和民众生活质量的提升产生了深远影响&#xff0c;同时也悄然改变着人类的生存方式与思维模式。传统鸟博士依赖于人工管理方式&#x…

师大校友惠超市管理系统微信小程序-计算机毕业设计源码+LW文档

摘 要 随着时代的迅猛发展&#xff0c;各行各业都在积极采纳先进技术以提升自身实力和竞争优势&#xff0c;师大校友惠超市管理系统自然也不例外。这款师大校友惠超市管理的开发&#xff0c;是基于实际应用需求与软件工程原理&#xff0c;运用了微信开发者工具、Java编程语言以…

校园食堂点餐小程序-计算机毕业设计源码+LW文档

摘要 当前社会&#xff0c;随着人们生活质量的提高和思想观念的演进&#xff0c;加之经济全球化的推动&#xff0c;互联网技术正以前所未有的速度提高社会综合发展的效能。这一技术正广泛渗透到各行各业中&#xff0c;而传统管理方式已经不能对时间和地点的严格限制而显得力不从…

【车间调度】基于粒子群算法求解置换流水车间调度问题PFSP附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1…

【数据库】【MySQL】事务隔离深度解析:MVCC 实现与幻读解决机制

MySQL 事务隔离深度解析&#xff1a;MVCC 实现与幻读解决机制 MySQL InnoDB 引擎通过 MVCC&#xff08;多版本并发控制&#xff09; 与 Next-Key Lock 的精密组合&#xff0c;在保障事务隔离性的同时实现了高性能并发。本文将深入剖析其实现原理与演进机制。一、事务隔离级别与…

Jina Embeddings v4: 多模态多语言检索的通用向量

作者&#xff1a;Elastic JINA.ai Jina Embeddings v4 是一个 38 亿参数的通用向量模型&#xff0c;用于多模态多语言检索&#xff0c;支持单向量和多向量输出。 今天&#xff08;2025年6月25日&#xff09;我们发布了 jina-embeddings-v4&#xff0c;这是我们新的 38 亿参数通…

RocketMQ延迟消息实现原理解析

一、核心原理概述RocketMQ的延迟消息实现采用 "预置延迟等级 定时扫描转发" 的机制&#xff0c;并非真正的实时延迟&#xff0c;就是通过预定延迟等级将消息暂存到特定队列&#xff0c;等待时间到达后再投递给消费者。1. 实现方式RocketMQ 将延时消息转换为普通消息…

django-flask基于python的高校在线考试系统设计与实现

目录高校在线考试系统设计与实现摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;高校在线考试系统设计与实现摘要 随着信息技术的快速发展&#xff0c;传统纸质考试方式在效率、…

架构 CPU SOC 核心板

1. 架构 & CPU & SOC 先有架构&#xff0c;再有内核&#xff0c;一个架构可以衍生出多种内核 内核之所以称之为内核&#xff0c;是因为他是在SOC、MCU内部中最核心的逻辑处理部分&#xff0c;就是SOC、MCU的CPU。所以内核也可以叫做处理器。 别的公司可以向ARM公司购买…

【计算机毕业设计案例】基于JavaSpribgBoot的水果生鲜团购平台基于SpribgBoot的生鲜团购平台(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

【电动机】液压伺服电动机的状态空间设计与Matlab仿真

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1…

解决word分栏问题

“Word分为左右两版”通常有两种情况&#xff1a;一种是你故意设置了分栏排版&#xff08;像报纸那样&#xff09;&#xff0c;想要恢复或调整&#xff1b;另一种是你无意中触碰了设置&#xff0c;导致视图显示变成了两页并排。为了帮你彻底解决这个问题&#xff0c;我将针对这…

Java计算机毕设之基于SpribgBoot的每日生鲜电商平台生鲜团购平台基于SpribgBoot的生鲜团购平台(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

「数据获取」全国民用运输机场吞吐量排名(2006-2024)

01、数据简介数据概况以2024年中国民用运输机场吞吐量排名为例&#xff0c;指标为&#xff1a;机场名、旅客吞吐量&#xff08;人&#xff09;&#xff08;名次、本期完成、上年同期、比上年同期增减%&#xff09;、货邮吞吐量&#xff08;吨&#xff09;&#xff08;名次、本期…

「数据获取」内蒙古地理基础数据(道路、水系、四级行政边界、地级城市、DEM等)

01、数据简介数据概况内蒙古地理基础数据&#xff08;道路、水系、四级行政边界、地级城市、DEM等&#xff09;&#xff0c;数据为SHP格式。请自行斟酌使用。内蒙古简介内蒙古自治区位于中国北部边疆&#xff0c;森林、牧场广阔&#xff0c;地下资源丰富&#xff0c;降雨量从东…

Java毕设项目:基于vue的社区生鲜团购在线管理平台基于SpribgBoot的生鲜团购平台(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

智界·无界:高德开发者生态大会深度观察与技术巡礼

在地理信息系统&#xff08;GIS&#xff09;与移动互联网深度融合的当下&#xff0c;高德地图作为行业内的基础设施提供者&#xff0c;其开发者生态的动向往往预示着位置服务&#xff08;LBS&#xff09;技术的下一个风口。本次参与高德开发者大会&#xff0c;不仅仅是一次简单…

【PID优化】基于粒子群算法的自动发电控制AGC系统 PID参数智能整定,两区域负荷频率控制附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1…