マシン構成
本記事では3台のマシン構成でクラスターを作ります。ホスト名は以下のように設定されています。
| ホスト | HDFS | MapReduce |
| name.yone.com | NameNode/Secondary NameNode | JobTracker |
| node1.yone.com | DataNode | TaskTracker |
| node2.yone.com | DataNode | TaskTracker |
Hadoopの基礎知識がある方には不要かもしれませんが、一応、各ロール(役割)の意味を参考として掲載しておきます。どのマシンにどの役割を与えるかはHadoopの計画によって違うと思いますが、ここでは台数が少ないため、すべてのマシンをデータノード・TaskTrackerにしています。
| NameNode | HDFSのファイルの管理をするプロセス |
| Secondary NameNode | 同上 |
| DataNode | HDFSのファイルを保存するプロセス |
| JobTracker | MapReduceジョブの全体を管理する |
| TaskTracker | MapReduceジョブの個別管理を行う |
nameをネームノード、node1、node2がデータノード、タスクノードとなります。これ以降は、データノードが何台増えても同じ作業なので、省略します。また、大量のサーバーを登録する場合にWeb画面の手作業では面倒な場合は、XMLファイル(/tmp/hdm/install.xml)を生成することで大量のサーバーを登録することもできます。

生のApache Hadoopでは、3台のマシンがある場合には3台のマシンでそれぞれインストール作業をする必要があります。しかし、IDAHOの場合はSSHの設定、Hadoop管理ユーザーの作成、JavaランタイムやHadoopランタイムの送り込みなどをリモートで、自動で行います。つまり、IDAHOのインストーラーとはHadoopクラスターのプロビジョニング・ソリューションです。これは、ノード数が多いときの作業効率を考えればすばらしい機能です。
この記事ではネームノードで作業していますが、まったく別の第三のマシンで作業してプロビジョンすることもできます。
事前準備
1. Linuxのインストール
3台のマシンすべてにRHEL 5.4をインストールします。面倒がないように、ファイアウォールとSELinuxはオフにします。NTPなどを使ってクラスター内のサーバーの時計を同期させます。
2. IDAHOのダウンロード
ネームノードとなるマシンに、IBM alphaWorksからインストーラーをダウンロードします。
ダウンロードするにあたって、IBM-IDが必要です。IBM-IDをお持ちでない方は、IBMのトップページ右上にある[登録]リンクをクリックしてメンバー登録してから、再度ダウンロードサイトに訪れてください。「IDAHO-1.0.tar.gz」ファイルが入手できたら、すべてのLinuxの任意のフォルダーに置き、展開します。
tar xvzf IDAHO-1.0.tar.gz
本稿執筆時点のインストーラーに一部不具合があるようで、リモートからのユーザー作成が失敗するケースがあります。このため、すべてのノードで、ユーザー「hdpadmin」(グループ、パスワードもhdpadmin)をあらかじめ作成しておくことをお勧めします。
クラウドなどの仮想化環境では、1つのLinux環境を準備し、クローンすればより効率的です。
