Hadoop で DFS を消去するにはどうすればよいですか?
7 に答える
次の 2 つのことを行う必要があります。
すべてのノードからメインの Hadoop ストレージ ディレクトリを削除します。このディレクトリは、hdfs-site.xml の hadoop.tmp.dir プロパティによって定義されます。
namenode を再フォーマットします。
hadoop namenode -format
(2) のみを実行すると、namenode によって保存されたメタデータのみが削除されますが、すべての一時ストレージおよび datanode ブロックは削除されません。
hdfs dfs -rm -r "/*"
(古い回答は廃止されました)
bin/hadoop namenode -format
あなたは発行することができます
hadoop fs -rmr /
これにより、DFS の下のすべてのディレクトリとサブディレクトリが削除されます。
別のオプションは、クラスターを停止してから発行することです。
hadoop namenode -format
これにより、DFS のすべてのコンテンツが消去され、クラスターが再び開始されます。
ですから、これは私が過去にしなければならなかったことです。
1. NameNode の Hadoop ディレクトリに移動し、すべての Hadoop プロセスを停止します。デフォルトのすべて停止スクリプトを実行する。これにより、DFS も停止します。例えば
cd myhadoopdirectory
bin/stop-all.sh
2. クラスター内のすべてのマシン (Namenodes、JobTrackers、datanodes など) で、ルート フォルダーの一時フォルダーに設定されているメインの Hadoop ストレージのすべてのファイルを削除します。あなたのものは、hadoop.tmp.dirプロパティの下のconf hdfs-site.xmlファイルにあります。
cd /temp/
rm -r *
3. 最後に名前ノードに戻り、hadoop ディレクトリに移動して「bin/hadoop namenode -format」を実行してフォーマットします。
cd myhadoopdirectory
bin/hadoop namenode -format
4. 次のコマンドを実行して、クラスターを再起動します。また、DFS を再起動します。
bin/start-all.sh
5. そして、うまくいくはずです。
クラスターを停止します
${HADOOP_HOME}/bin/stop-mapred.sh
${HADOOP_HOME}/bin/stop-dfs.sh
または、その疑似分散の場合は、単に次を発行します。
${HADOOP_HOME}/bin/stop-all.sh
hdfsをフォーマットする
hadoop namenode -format
bin/stop-all.sh
dfs と mapreduce を停止するために呼び出す必要があります。- conf/hdfs-site.xmlとconf/mapred- site.xmlに設定されている data dir を削除します。
- /tmp ディレクトリに存在するいくつかの一時ファイルを削除したことを確認してください。
bin/hadoop namenode -format
上記のすべての手順の後、呼び出して dfs を再生成できます。