我试图通过./stop-all.sh脚本停止hadoop中的守护程序进程但是它给出了以下消息:
没有职员跟踪停止 localhost:没有tasktracker停止 没有名字要停止 localhost:没有datanode停止 localhost:没有要停止的secondarynamenode
我试着看看hadoop在使用jps后是否正在运行,它显示:
27948 SecondaryNameNode 27714 NameNode 28136 TaskTracker 27816 DataNode 28022 JobTracker 8174 Jps
也就是说,它正在运行所有守护进程。我还检查了hadoop dfs -ls /,看看我能否连接到hdfs。它正在发挥作用。
我正在按超级用户的意思运行stop-all.sh脚本,没有权限问题。
答案 0 :(得分:4)
如果启动/停止脚本无法在$ HADOOP_PID_DIR文件夹中找到pid文件(默认为/ tmp),则会显示此消息。
如果:
然后hadoop将显示您看到的错误消息。
hadoop-daemon.sh文件的选定部分(适用于1.0.0):
# HADOOP_IDENT_STRING A string representing this instance of hadoop. $USER by default
if [ "$HADOOP_IDENT_STRING" = "" ]; then
export HADOOP_IDENT_STRING="$USER"
fi
# ....
if [ "$HADOOP_PID_DIR" = "" ]; then
HADOOP_PID_DIR=/tmp
fi
# ....
pid=$HADOOP_PID_DIR/hadoop-$HADOOP_IDENT_STRING-$command.pid
# ....
(stop)
if [ -f $pid ]; then
if kill -0 `cat $pid` > /dev/null 2>&1; then
echo stopping $command
kill `cat $pid`
else
echo no $command to stop
fi
else
echo no $command to stop
fi
;;