Hadoop クラスターは DataNode なしでスレーブ ノードを起動します

目次

1. 問題の背景

2. 解決策のアイデア

3. 解決策:


1. 問題の背景

以前Hadoopクラスタを起動したときは問題なかったのですが、今日Hadoopクラスタを起動したところ、スレーブノードのDataNodeが起動しませんでした。

2. 解決策のアイデア

ノードが起動できない場合は、現在のノードのログ ファイルを確認できます。

現在のスレーブ ノードの Hadoop インストール ディレクトリのログ ファイルにアクセスしてログを確認したところ、ログでエラーが報告されていることがわかりました (ログを確認して大量の at が見つかった場合は、問題があることを意味します。 at) の長いリストについては心配する必要はありません。at の前の最初の文を見つけるだけで済みます。その文が問題の鍵です)

ログ ファイルを確認したところ、次のエラーが発生しました。

 警告 org.apache.hadoop.hdfs.server.common.Storage: ストレージ ディレクトリ [DISK]file:/home/hadoop/software/hadooptmp/dfs/data
org.apache.hadoop.hdfs.server.common.InconsistentFSStateExceptionの追加に失敗しました: ディレクトリ /home/hadoop/software/hadooptmp/dfs/data は矛盾した状態にあります: 現在のディレクトリが空ではないため、ストレージ ディレクトリをフォーマットできません。

 一般的な問題は、データを保存するディレクトリにファイルを追加できず、現在のディレクトリが空ではないと表示されることです。

3. 解決策:

1.クラスターのマスター ノードで、ルート ID を使用して tmp ディレクトリに入ります。

root ユーザーとしてログインした後

cd /tmp

次に、tmp ディレクトリの内容を表示します

 hadoop で始まるファイルがいくつか表示されます (ここには 3 つのファイルがあります。あなたのファイルは私のものとは異なるかもしれませんが、問題ありません)。hadoop で始まるファイルをすべて削除します。

削除の目的は、次に Hadoop クラスターを再フォーマットする必要があるためです。これらのファイルは、以前にファイルがフォーマットされたときに生成されました。これらのファイルを削除せずに Hadoop クラスターを直接再フォーマットすると、後で問題や競合が発生する可能性があります。したがって、これらのファイルを最初に削除する必要があります。

2.Hadoopログファイルを削除する

(1) Hadoop のデータが格納されているファイル配下の内容をすべて削除します (ホストごとに個別に削除する必要があります)。

Hadoop がデータを保存するディレクトリがどこにあるのかわからない場合は、Hadoop インストール ディレクトリの /etc/hadoop/core-site.xml ファイルで確認できます。

(2) クラスターの各ホストで、Hadoop インストール ディレクトリにログ ファイルを入力し、ログの下にあるすべてのファイルを削除します。

 注: ここで、Hadoop クラスター内の各ホストを削除する必要があります。

3.Hadoopのフォーマット

hadoop ネームノード -format

4. Hadoopクラスターを起動します。

start-all.sh

5.jpsに確認したところ問題は解決しました。


上記は私が問題を解決するために行った手順です。お役に立てれば幸いです。ご不明な点がございましたら、メッセージを残してください。

おすすめ

転載: blog.csdn.net/m0_61232019/article/details/129324464