2012-05-09 4 views
3

を停止しません ローカルホストを停止するには無いデータノード:Hadoopのデーモンは、私が./stop-all.shスクリプトでのHadoopでデーモンプロセスを停止しようとしていますが、それはメッセージを次与え

を停止していないsecondarynamenode私はHadoopのはJPSを使用して、この後に実行されているかどうかを確認しようとしましたが、それが示した: localhostを停止する

27948をsecondaryNameNode 2771それが適切にすべてのデーモンを実行している、ある4名前ノード 28136 TaskTracker 27816データノード 28022 JobTracker 8174 JPS

。私はhadoop dfs -ls /を調べて、hdfsに接続できるかどうかを確認しました。それは働いている。

スーパーグループユーザの意味でstop-all.shスクリプトを実行していますが、アクセス権に問題はありません。スタート/ pidファイルを見つけることができませんスクリプトは$ HADOOP_PID_DIRフォルダ内のデーモン(TMP /デフォルト)を得た停止した場合

答えて

4

このメッセージが表示されます。場合

  • これらのファイルは、または
  • (誰か何かで)削除されているあなたはのデーモンを開始してからのenv変数$ HADOOP_PID_DIRが変更されている、または
  • ユーザーが停止しますデーモンは、それらを始めたユーザーではありません

あなたが見ているエラーメッセージが表示されます。 (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

あなたの代わりに「グレップのJavaのps -ef」の「JPS」を使用することができます/ tmpディレクトリ内の10日間は、デフォルトのスクリプト.....のように見えます。/ tmpはこれらの事柄の非常に悪いデフォルトですが、hadoopはそのすべてを超えています。 – lizzie

関連する問題