2012-05-09 2 views
3

중지하지하지만 다음과 같은 메시지가 제공합니다하둡 데몬 내가 ./stop-all.sh 스크립트에 의해 하둡 데몬 프로세스를 중지하려고

없음은 JobTracker가 로컬 호스트를 중지하지 : 없음 tasktracker를 더 네임 노드를 중지를 로컬 호스트를 중지하지 : 없음 데이터 노드를 로컬 호스트를 중지 : 더 secondarynamenode이

을 중단하지 않으려면 내가 하둡이 사용하는 표준 새 번역 후 실행되고 있는지 확인하기 위해 시도하고 보여 주었다 :

27,948 secondaryNameNode 2771을 4 네임 노드 28,136 TaskTracker 27816 데이터 노드 28,022 JobTracker에 8174 JPS는

는, 제대로 모든 데몬을 실행합니다. 또한 hadoop dfs -ls /를 점검하여 hdfs에 연결할 수 있는지 확인합니다. 효과가 있습니다.

나는 supergroup 사용자 의미에 의해 stop-all.sh 스크립트를 실행하고 있는데, 권한에는 문제가 없다.

답변

4

이 메시지는 시작/중지 스크립트가 $ HADOOP_PID_DIR 폴더 (기본값은/tmp)에서 데몬이있는 pid 파일을 찾을 수없는 경우에 표시됩니다. 경우

:

  • 이러한 파일, 또는
  • (누군가 또는 무언가에 의해) 삭제 된 당신이 deamons을 시작한 이후 ENV 변수 $ HADOOP_PID_DIR이 변경되었습니다, 또는
  • 사용자가 중지 데몬은 그들을 시작한 사용자가 아닙니다.

그런 다음 hadoop에서 표시되는 오류 메시지가 표시됩니다. (1.0.0 용) hadoop-daemon.sh 파일에서

선택된 부분 :

# 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 
    ;; 
+0

어떻게 그 경우에 내 클러스터를 중지합니까? –

+0

마지막으로 클러스터를 중지 할 수 있습니다. 나는했다 : ps -ef | grep java 그것은 프로세스 ID를 표시하고 그들을 죽였다. 다시 클러스터를 시작했고 모두 정상이었습니다. –

+0

"ps -ef | grep java"대신 "jps"를 사용하여 데몬의 PID를 찾을 수도 있습니다. – lizzie