我正在使用OpenPBS在群集上提交Hadoop作业。当Hadoop作业成功完成时,一切正常。我在配置中使用一个主节点和一个从节点。
当我使用qdel删除Hadoop作业时,在master上运行的Java进程正常退出,但是slave上的作业不会退出。任务跟踪器进程继续在从属服务器上运行并轮询主节点,并给出以下错误消息:
INFO org.apache.hadoop.ipc.Client: Retrying connect to server: <masternode>/192.168.1.17:54311. Already tried 6 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
ERROR org.apache.hadoop.mapred.TaskTracker: Caught exception: java.net.ConnectException: Call to <masternode>/192.168.1.17:54311 failed on connection exception: java.net.ConnectException: Connection refused
奇怪的问题是,由于孤儿作业,我甚至无法通过SSH连接到该特定节点来手动终止进程。我不得不要求root用户清除作业。
如何在使用qdel结束主进程之前确保从进程结束以避免将来出现此问题?