Hadoopで疑似分散モード動かしたところまでのまとめ
Hadoop入れて動かしてみたところ、意外と簡単にstandaloneモードで動くところまで持って行けて驚いたのもつかの間、疑似分散モードで動かそうとしたらしたたかにハマってしまった。ハマりから抜け出す途中でHadoopがまだまだ0.20という正式版の出ていないバージョンであるということを強く認識したので、その軌跡をちょっと残しておくよ。
インストール
基本的には、
スタンドアロン実行
conf/hadoop-env.sh以外のconfファイルをいじらない状態で、おもむろに
> cd ${HADOOP_HOME} > bin/hadoop jar hadoop-0.20.2-examples.jar pi 10 100000
などとやる。動いて結果が3.1415520000000とか出てきたら、成功。あなたは既にHadoopを動かしている。
擬似分散モード
三つの設定ファイルを設定すればOK。
conf/core-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>fs.default.name</name> <value>hdfs://XXX.XXX.XXX.XXX:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/datanode/${user.name}</value> </property> </configuration>
conf/hdfs-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
conf/mapred-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>XXX.XXX.XXX.XXX:9001</value> </property> </configuration>
hadoop.tmp.dir要素は書かなくてもいい。ただし、その場合は/tmp/hadoop-${user.name}/以下にテンポラリのデータが置かれるので、/tmpを細かく切っている場合にはわりと危ない。私の場合、切り方失敗してて1GByteしかなかったので、200GBくらいある/usr以下に移しておいた。
fs.default.name要素とmapred.job.tracker要素は外向きIPアドレスを入れてる。QuickStartではlocalhostとしていたものの、不思議と失敗するので試しにIPv4アドレス直打ちに変えてみたら何故か成功した。127.0.0.1などでも良いかも知れない。
悲しいことに、v6アドレスには非対応なので、その点は注意。そういえばブラウザのアドレスバーへの入力みたく[]でくくってなかったけど、くくったら対応したのかな。要チェック。
以上の編集を行ったのち、実行する。
> bin/hadoop namenode -format > bin/start-all.sh
http://localhost:50070 に接続してみて、dfshealth.jspへリダイレクトされるか確認。Cluster SummaryにてLive Nodesが1となっていたら状況良好。アクセス失敗しているようなら何かダメ。
http://localhost:50030 に接続してみて、jobtracker.jspへリダイレクトされるか確認。Cluster SummaryにてNodesが1となっていたら状況良好。ここが全てゼロになってたら何かダメ。
そんな感じでなんか擬似分散モードが動いて幸せな気持ちに浸っている。次は完全分散モードなので、各種設定ファイルの設定項目を理解するところから始める。インストール用のコンピュータは既に準備してあるもんね。