私はHadoopにかなり慣れていないので、ローカルマシンをセットアップし、プロセスがどのように機能するかを理解するためにいくつかの例を実行しようとしています。MACにhadoop1.0.3をセットアップしました。一連の質問があり、これまでに行ったことを説明するときに質問します。ここの指示に従いました。
スタンドアロン操作を設定していましたが、疑似配布になりました。Q1。)違いは何ですか?
.bash_profileを編集しました
export HADOOP_HOME=/Library/hadoop-1.0.3
export JAVA_HOME=$(/usr/libexec/java_home)
OSXでローカルホストにパスフレーズなしのsshを作成しました。次に$ ssh localhost
。
次に$ $HADOOP_HOME/bin/hadoop namenode -format
。Q2。)新しいジョブを開始するたびにnamenodeをフォーマットする必要があり、何がフォーマットされますか?
次に$HADOOP_HOME/bin/start-all.sh
。
単語数の例を実行したかった。そのため、入力をHDFSに入れる必要がありました。そうするために私はしましたhadoop fs -mkdir WordCount_input
。
Q3。)ここのドキュメントでは、使用するように求められますが、これにより、hdfs:コマンドが見つからないというエラーが発生しますか?bin/hdfs dfs
$HADOOP_HOME/bin/hdfs dfs -mkdir WordCount_input
putを使用してファイルをHDFSに配置しました。
hadoop dfs -put
/Users/yv/Documents/Hadoop-Workspace/file01
/Users/yv/Documents/Hadoop-Workspace/file02
/user/yv/WordCount_input
Q4)putの代わりにcopyFromLocalを使用する方が良いですか?
Q5。)私が作成したこれらのファイルは/ user /yv/にあります。/ user / yv /は正確にはどこにありますか?それらは、core-site.xmlで指定したhadoop.tmp.dirの場所内にありますか?
次に、例を実行しました
hadoop jar Documents / Hadoop-Workspace / wordcount.jar org.myorg.WordCount / user / yv / WordCount_input / output
したがって、同じ例を再度実行する必要がある場合は、出力ファイルを削除して新しいファイルを作成する必要があります。
いくつかの例を実行した後、データノードに十分なスペースがありませんでしたか?クラスタサマリーの下のNameNodeのWebインターフェイスでは、すべてが0になりました(例:DFS Remaining:0GB、Live Node:0)。理由はわかりません。
だから私はしました$HADOOP_HOME/bin/stop-all.sh
。そして、ネームノードを再編成しました。したがって、namenodeとdatanodeのnamespaceIDが異なります。これは問題だ。
そのため、hadoop.tmp.dirを削除して、scrathからすべてを実行する必要がありました。
Q.6)データノードに十分なスペースがない場合、誰かが簡単な解決策を提供できますか?スペースを解放する方法は?