[Hadoop2.x] Hadoop运行一段时间后,stop-dfs等操作失效原因及解决方法

本文主要是介绍[Hadoop2.x] Hadoop运行一段时间后,stop-dfs等操作失效原因及解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为什么80%的码农都做不了架构师?>>>   hot3.png

长时间运行Hadoop之后,如果运行 stop-dfs.sh(或stop-all.sh),会发现有以下类似错误:

Stopping namenodes on [localhost]
localhost: no namenode to stop
localhost: no datanode to stop
Stopping secondary namenodes [localhost]
localhost: no secondarynamenode to stop

这个时候访问hadoop依然有效,查看文件系统,通过50070端口依然能访问,start-all后再stop-all也没有任何效果,等于这个时候完全无法控制hadoop了。

出现这个问题的最常见原因是:hadoop在stop的时候依据的是datanode上的mapred和dfs进程号。默认的进程号保存在/tmp下Linux默认会每隔一段时间(一般是一个月或者7天左右)去删除这个目录下的文件。因此删掉 hadoop-root-namenode.pid, hadoop-root-namenode.pid, hadoop-root-secondarynamenode.pid等pid文件后,namenode自然就找不到datanode上的这两个进程了。

另外还有两个原因可能引起这个问题:

  1. 环境变量 $HADOOP_PID_DIR 在你启动hadoop后改变了
  2. 用另外的用户身份执行 stop-dfs.sh 等命令

解决方法:

永久解决方法:修改 $HADOOP_HOME/etc/hadoop/hadoop-env.sh 文件,将 export HADOOP_PID_DIR=${HADOOP_PID_DIR}  的 ${HADOOP_PID_DIR} 路径修改为你自己指定目录,这样Hadoop会把相关pid进程文件保存在指定目录,避免被Linux自动删除。例如:

export HADOOP_PID_DIR=/usr/local/hadoop/pids/

发现问题后的解决方法:

这个时候通过脚本已经无法停止进程了,不过我们可以手工停止,通过 ps -ef | grep Java | grep hadoop找到hadoop的所有进程号强制杀掉(kill -9 进程号),然后再执行 start-dfs.sh, start-yarn.sh 等命令启动hadoop,以后 stop-dfs.sh 等命令就不会生效了。

转载于:https://my.oschina.net/jsan/blog/776089

这篇关于[Hadoop2.x] Hadoop运行一段时间后,stop-dfs等操作失效原因及解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/239528

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W