hadoop进程pid文件问题
来源:互联网 发布:广数控g72编程实例有图 编辑:程序博客网 时间:2024/06/05 11:37
Hadoop启动后的PID文件默认配置是保存在 /tmp
目录下的,而linux下 /tmp 目录会定时清理,所以在集群运行一段时间后如果在停Hadoop相关服务是会出现类似:no datanode to stop
的错误提示,一般生产环境中我们需要重新修改PID的保存路径。
由于机器服务器维护需要,要求hadoop集群的一台服务器停止服务,于是我就到那台服务器去停止hadoop的datanode和tasktracker,运行以下命令:
bin/hadoop-daemon.sh stop datanode竟然输出:
no datanode to stop
但是查看进程,却发现datanode和tasktracker都还在运行,尝试了好几次都是同样结果,最后我试图使用namenode的命令停止:
bin/stop_dfs.sh
还是输出:
no datanode to stop
不得已,只好使用暴力手段,直接kill -9 进程了。
在杀死hadoop进程之后,bin/hadoop-daemon.sh又可以正常使用了。不知道其他的hadoop使用者是否遇到过此问题??
但是问题不能就这么算了,在网上查了下资料,没找到满意的结果。没办法,自己看代码吧!
在看了hadoop-daemon.sh代码后,我发现脚本是通过pid文件来停止hadoop服务的,而我的集群配置是使用的默认配置,pid文件位于/tmp目录下,于是我对比了/tmp目录下hadoop pid文件中的进程id和ps ax查出来的进程id,发现两个进程id不一致,终于找到了问题的根源。
呵呵,赶紧去更新hadoop的配置吧!
修改hadoop-env.sh中的:HADOOP_PID_DIR = hadoop安装路径
然后根据集群hadoop进程的pid在hadoop安装路径下建立相应的pid文件:
hadoop-hadoop运行用户名-datanode.pid
hadoop-hadoop运行用户名-tasktracker.pid
hadoop-hadoop运行用户名-namenode.pid
hadoop-hadoop运行用户名-jobtracker.pid
hadoop-hadoop运行用户名-secondarynamenode.pid
1 0
- hadoop进程pid文件问题
- hadoop进程pid文件问题
- hadoop误删PID文件
- Hadoop 的PID路径问题
- hadoop的PID路径问题
- 查看进程PID与文件后缀名
- 通过进程pid查看文件安装路径
- hadoop pid
- 检查服务器的pid文件,如果文件不存在或pid对应的进程已死重启服务器
- ls -l |grep "^-"|wc -l 程序问题的定位—strace -p pid(跟踪系统调用)gdb -p pid(调试)lsof -p pid(查看当前进程打开的文件描述符) ps -e
- hadoop 集群及hbase集群的pid文件存放位置
- 设置Hadoop+Hbase集群pid文件存储位置
- 设置Hadoop+Hbase集群pid文件存储位置
- 设置Hadoop+Hbase集群pid文件存储位置
- 设置Hadoop+Hbase集群pid文件存储位置
- hadoop 问题| no datano to stop | kill -9 pid
- Visual Basic 通过PID获取进程文件路径
- Linux根据进程号找到PID文件所在的目录
- 错误log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
- 前端的上传下载
- Selenium - The architecture differences between Selenium RC and Selenium WebDriver
- C++ Primer 学习笔记——顺序容器(1)
- NSLayoutConstraint
- hadoop进程pid文件问题
- aop实例
- 序列化java
- 学习
- 过年GO HOME
- STM32 DMA->内存到内存
- C++语法 面试题 带答案
- AJAX 跨域请求 - JSONP获取JSON数据
- CodeBlock速配wxWidgets[U版]