原创,转载请注明出处
前两天和朋友李天王吃饭的时候,聊到了一个hadoop的运维的很简单问题,感觉很有意思,以前也没有注意过,现在加以重现和整理。
感谢李天王的分享。。。。
翻看了yarn-deamon.sh stop部分的脚本:
(stop)
if [ -f $pid ]; then
TARGET_PID=`cat $pid`
if kill -0 $TARGET_PID > /dev/null 2>&1; then
echo stopping $command
kill $TARGET_PID
sleep $YARN_STOP_TIMEOUT
if kill -0 $TARGET_PID > /dev/null 2>&1; then
echo "$command did not stop gracefully after $YARN_STOP_TIMEOUT seconds: killing with kill -9"
kill -9 $TARGET_PID
fi
else
echo no $command to stop
fi
else
echo no $command to stop
fi
根据上面代码。在关闭hadoop的进程的时候,会首先TARGET_PID=`cat $pid`,后面的操作都
针对这个TARGET_PID。
首先发送kill -0 TARGET_PID来检测这个pid存在不存在,若存在那么就使用kill TARGET_PID 来关闭进程。
第二个 kill -0 $TARGET_PID,意思是第一次删除失败的时候,则执行kill -9 $TARGET_PID。
在默认情况下,hadoop会使用/tmp目录作为临时文件存放地点,包括pid的文件:
[hadoop@hadoop2 hadoop]$ cat /tmp/
.esd-0/ Jetty_0_0_0_0_50075_datanode____hwtdwq/ orbit-gdm/
.esd-500/ Jetty_0_0_0_0_8042_node____19tj0x/ pulse-oVhJlALLtsum/
[color=red]hadoop-hadoop-datanode.pid [/color] Jetty_0_0_0_0_8480_journal____.8g4awa/ pulse-rZOxQTGmpouA/
[color=red]hadoop-hadoop-journalnode.pid[/color] Jetty_hadoop2_50070_hdfs____.roo38u/ pulse-v2bO3KgmFqB6/
[color=red]hadoop-hadoop-namenode.pid [/color] Jetty_hadoop2_8088_cluster____2k46ah/ ssh-ZAuFHp2599/
hadoop-hadoop-zkfc.pid keyring-5PcL7q/ .X0-lock
hsperfdata_hadoop/ keyring-DGU27L/ .X11-unix/
.ICE-unix/ keyring-prSBtx/ [color=red][color=orange]yarn-hadoop-nodemanager.pid[/color][/color]
Jetty_0_0_0_0_50070_hdfs____w2cu08/ keyring-wrTBmk/ [color=darkred]yarn-hadoop-resourcemanager.pid[/color]
由于/tmp会定期清除(以前认为只有在重启的时候,tmp才会清除,后来李天王提到由于tmpwatch的作用,会定期每隔240小时删除tmp的内容),会将pid清除,pid不存在的时候,就会报no *** to stop
[hadoop@hadoop2 hadoop]$ cat /tmp/yarn-hadoop-resourcemanager.pid
5232
[hadoop@hadoop2 hadoop]$ rm /tmp/yarn-hadoop-resourcemanager.pid
[hadoop@hadoop2 hadoop]$ yarn-daemon.sh stop resourcemanager
no resourcemanager to stop
那么此时该怎么做呢,我之前的做法就是很粗暴的kill -9 pid关闭进程,幸亏由于hadoop的editlog日志机制,保证了数据不会丢失,若是其他。。。
学习一下脚本,可以看出hadoop在关闭进程的时候是采取了比较保险妥当的方式。首先使用kill 而不是使用kill -9 来关闭进程。
另外朋友们在平时运维的时候要首先使用kill TARGET_PID。kill -9的这种比较粗暴的方式,还是少用,之前使用在hadoop 升级实验的时候,在hdfs namenode -upgrade 之后,就直接使用kill -9 pid,居然java 虚拟机抛出了致命错误。
虚拟机日志我作为附件放上去,希望有虚拟机方面的大牛能给我分析。。。
总结:1.修改你的hadoop的hdfs以及yarn的tmp目录,都要修改哦。
2.关闭hadoop的时候请尽量使用kill 。
分享到:
相关推荐
Moving Hadoop to The Cloud 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
daemons.sh start namenode 单独启动NameNode守护进程 hadoop-daemons.sh stop namenode 单独停⽌NameNode守护进程 hadoop-daemons.sh start datanode 单独启动DataNode守护进程 hadoop-daemons.sh stop datanode ...
当启动hadoop或者使用ssh时出现: 输入ifconfig指令发现:自己之前配置的ip:192.168.79.103地址已经发生了变化 怎么解决办法呢? 如下步骤: 重新修改静态ip 输入vi /etc/udev/rules.d/70-persistent-net.rules...
格式化namenode时 报错 No Route to Host from node1/192.168.3.101 to hadoop05:8485 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host解决方案 一、报错信息概要: 在配置...
Non-Stop Hadoop,Active-Active架构保证hadoop 100%持续可用性,超越传统HA, 并且使得异地数据中心可以建立单cluster集群
This course teaches you how to use SAS programming methods to read, write, and manipulate Hadoop data. Base SAS methods that are covered include reading and writing raw data with the DATA step and ...
Field.Guide.to.Hadoop.2015.3.pdf
The professional's one-stop guide to this open-source, Java-based big data framework, Professional Hadoop is the complete reference and resource for experienced developers looking to employ Apache ...
在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....
ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Failed to set permissions of path: \tmp\hadoop-admin \mapred\local\ttprivate to 0700 at org.apache...
启动所有的守护进程,具有hadoop完整的功能,可以使用HDFS、MapReduce和Yarn,并且这些守护进程运行在集群中,可以真正的利用集群提供高性能,在生产环境下使用。 本文主要讲解Hadoop的完全分布式安装
【IT十八掌徐培成】Hadoop第02天-01.Hadoop基础回顾-进程初识-webui.zip
Ideal for enterprise architects, IT managers, application architects, and data engineers, this book shows you how to overcome the many challenges that emerge during Hadoop projects. You'll explore the...
Field Guide to Hadoop An Introduction to Hadoop, Its Ecosystem, and Aligned Technologies 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源...
stop-all.sh : 停止所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack jps : 查看进程 3216 NodeManager 2554 NameNode 9531 Jps 2669 DataNode 3101 ...
在windows上运行Hadoop相关程序时报错问题解决(比如Spark) 如果需要积分或者校验码,可以去百度网盘中下载,地址如下: 链接:https://pan.baidu.com/s/1RVpmbtjuQL3lbAEYfjr2EA 提取码:1234
This book is also meant for Hadoop professionals who want to find solutions to the different challenges they come across in their Hadoop projects. In Detail This book jumps into the world of Hadoop ...