问题描述

我的hadoop版本是hadoop-cdh4.2.0,由于误删了/tmp目录(不是hadoop.tmp.dir设定的那个目录),在Namenode,SecondaryNamenode和Datanode上使用jps无法查看到如下结果:

[root@desktop1 ~]# jps
5389 NameNode
5980 Jps
5710 ResourceManager
7032 JobHistoryServer
[root@desktop2 ~]# jps
3187 Jps
3124 SecondaryNameNode
[root@desktop3 ~]# jps
3187 Jps
3124 DataNode
5711 NodeManager

同时,在namenode上, 启停dfs和yarn都无效,显示 no namenode to stop, no datanode to stop 等等。而整个 hadoop集群是正常运转的。

排查原因

jps查看起的进程需要读取/tmp目录下的一些内容。另一方面,在启停hadoop的脚本里,比如

sbin/stop-yarn.sh

实际使用的是

sbin/yarn-deamon.sh

该脚本描述里写道:

# Runs a yarn command as a daemon.
#
# Environment Variables
#
# YARN_CONF_DIR Alternate conf dir. Default is ${YARN_HOME}/conf.
# YARN_LOG_DIR Where log files are stored. PWD by default.
# YARN_MASTER host:path where hadoop code should be rsync'd from
# YARN_PID_DIR The pid files are stored. /tmp by default.
# YARN_IDENT_STRING A string representing this instance of hadoop. $USER by default
# YARN_NICENESS The scheduling priority for daemons. Defaults to 0.

根据 Y ARN_PID_DIR   The pid files are stored. /tmp by default. /tmp目录保存的是pid的进程号,集群无法启停,jps无法查看进程都是因为丢失了pid,或者与/tmp下当前的pid进程号对不上,我的解决方法就是查看各节点上的进程然后替换pid文件里的内容,实施后证明是可行的

解决方案

使用netstat查看pid进程号,

ps -ef | grep datanode | grep -v grep

namenode查看namenode和resourcemanager,/tmp下文件为hadoop-root-namenode.pid和 yarn-root-resourcemanager.pid

secondarynamenode查看secondarynamenode,/tmp下文件为hadoop-root-secondarynamenode.pid

datanode查看datanode和nodemanager,/tmp下文件为hadoop-root-datanode.pid和yarn-root-nodemanager.pid

(以上root为user名字)

下面是我使用的替换datanode机器上的pid的一个脚本,可以参考使用

> /tmp/hadoop-root-datanode.pid && echo `ps -ef | grep datanode | grep -v grep | awk '{print $2}'` > /tmp/hadoop-root-datanode.pid
> /tmp/yarn-root-nodemanager.pid && echo `ps -ef | grep nodemanager | grep -v grep | awk '{print $2}'` > /tmp/yarn-root-nodemanager.pid

所有机器上都更新好pid文件后,就可以去namenode上启停集群了,jsp命令也生效了。

(全文完)

误删/tmp导致hadoop无法启停, jsp无法查看的解决方法的更多相关文章

  1. Myeclipse下JSP打开报空指针异常解决方法。

    Myeclipse下JSP打开报空指针异常解决方法 一.运行JSP文件就出错 静态的JSP页面访问时候正常,只要是牵涉到数据库的页面就出错,出错见下图. 出现这种情况让我调试了一天,各种断点,各种改代 ...

  2. Hadoop组件启停命令和服务链接汇总

    1.启停命令 Zookeeper zkServer.sh start zkServer.sh stop/status/restart zkCli.sh -server IP:Port Hadoop(h ...

  3. jsp中文乱码终极解决方法(转)

    一, 找出问题的根源乱码可能出现的地方: jsp页面中 jsp页面之间相互传参的参数 与数据库中数据的存取 基本归纳为以上几种. 二, 寻找解决方案 出现在jsp页面中,是由于没有设置jsp页面的中文 ...

  4. SQLSERVER误删Windows登录用户验证方式使用Windows身份验证的解决方法

    今天看到这篇文章:没有了SA密码,无法Windows集成身份登录,DBA怎么办? 想起来之前着急哥问我的一个问题,一个DBA删除了Windows登录用户,而且SQLSERVER服务器的验证方式是Win ...

  5. jsp中文乱码终极解决方法

    转载http://blog.csdn.net/csh624366188/article/details/6657350 一 找出问题的根源    乱码可能出现的地方:1 jsp页面中          ...

  6. hadoop中DataNode消失挂掉的原因及解决方法

    昨天在进行Hadoop实验时遇到一个问题,在sbin目录下输入jps命令,查看当前节点的状态时,意外发现DataNode节点不见了!!于是回忆了一下自己之前的操作过程,大概是因为将自己进入文件夹,将某 ...

  7. 新建Maven项目Index.jsp文件报错解决方法

    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path    in ...

  8. JSP HTML 各种 乱码 解决方法|jsp include html乱码|include 乱码|MyEclipse 中文乱码

    笔者花了一整天研究这个问题 .最终解决了所有的中文乱码问题. 不用 写 过滤器,不用改 tomcat 的配置文件 笔者使用的 软件是  MyEclipse2013 professional 版 JSP ...

  9. java jsp文件报错解决方法

    初次使用java开发 下载好代码之后,用maven编译都是ok的,第二天,打开项目一看,好的web项目的jsp文件提示错误,后面,查了下问题,是tomcat没有配置路径导致的问题,现在大致记录一下解决 ...

随机推荐

  1. HDU 5044 TREE

    题意:一棵树上两种操作,操作1,改变u到v的每一点的值增加k,操作2,改变u到v每一条边值增加k.最后结束时问,每一点和每一条边的值. 初始时,点和边的值都为0. 分析: 很显然要用树链剖分,将点和边 ...

  2. C# Eval在asp.net中的用法及作用

    Eval( " ")和Bind( " ") 这两种一个单向绑定,一个双向绑定,bind是双向绑定,但需数据源支持 ASP.NET 2.0改善了模板中的数据绑定操 ...

  3. Java集合类之Hashtable

    package com.test; import java.util.*; public class Demo7_3 { public static void main(String[] args) ...

  4. SQLite入门与分析(七)---浅谈SQLite的虚拟机

    写在前面:虚拟机技术在现在是一个非常热的技术,它的历史也很悠久.最早的虚拟机可追溯到IBM的VM/370,到上个世纪90年代,在计算机程序设计语言领域又出现一件革命性的事情——Java语言的出现,它与 ...

  5. 140. Word Break II

    题目: Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where e ...

  6. Android WebView 开发详解(一)

    转载请注明出处  http://blog.csdn.net/typename/article/details/39030091 powered by meichal zhao 概览: Android ...

  7. c++模板注意事项

    c++模板类 分类: C++2012-08-20 21:28 7108人阅读 评论(2) 收藏 举报 c++编译器instantiationiostreamlinker编程 c++模板类 分类: 数据 ...

  8. POJ2104 区间第k小

    题意就是区间第k大…… 题解: 前段时间用主席树搞掉了…… 如今看到划分树,是在想来写一遍,结果18号对着学长的代码调了一上午连样例都没过,好桑心…… 今天在做NOI2010超级钢琴,忽然发现用划分树 ...

  9. HtmlParser应用,使用Filter从爬取到的网页中获取需要的内容

    htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html.它能超高速解析html,而且不会出错.现在htmlparser最新版本为2.0. ...

  10. HDU-3706 Second My Problem First

    http://acm.hdu.edu.cn/showproblem.php?pid=3706 Second My Problem First Time Limit: 12000/4000 MS (Ja ...