今回は、3台のデスクトップPCに入れたCentoOS上でいろいろとやってみることにしました。
試した Hadoop のバージョンは 0.20.2 です。
後々、バージョンアップするときはまた書こうと思います。
Hadoop構築にあたっては、クラスタを構成するマシン間でsshのパスワードなしログインができる必要があるみたいなのですが、/etc/sysconfig/network に書かれたホスト名と異なる名前を /etc/hosts につけて構築したため、ちょっと怪しい感じがしたのは内緒です。
/etc/hostsの内容(masterノード)
172.29.11.111 myhdfs1 xxx 172.29.11.112 myhdfs2 yyy 172.29.11.113 myhdfs3 zzz zzz.domain.co.jp
xxx、yyy、zzzが hostname に対応。
HDFSクラスタとしては、myhdfs? を使用(masters, slavesファイルには myhdfs? を記述)。
ちなみに、112/113のマシンはCentOS release 5.3 (Final)で、113だけCentOS release 4.5 (Final)となってます。
Hadoopを起動すると、Webからファイルを参照することができるのですが、そこでは hostname のほうが表示されるんですよねー。
NameNodeへのアクセス↓
http://NameNodeホスト:50070/dfshealth.jsp
※本家、Quick Startにちらっと書かれています
今回使ったマシンは、別のプロジェクトで実際に使用しているものを間借りしているのでしょうがないというところです。
また、レプリケーション(ファイルのコピーをいくつ用意するのか?)については、3台構成ですし、2つにしてみました。
myhdfs1> cat hdfs-site.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. -->dfs.replication 2
※都合上、全角文字にしたものがあります。まだ「はてな」に慣れていないもので・・・