今回から数回にわたって、Hadoopをインストールして動作させてみます。

 今回は、以下の理由より、米クラウデラのディストリビューション、CDHバージョン4を選択したいと思います。

* アップストリームファーストである
* インストールが容易である
* Apache Hadoopバージョン2である
* 筆者が使い慣れている

 Apacheのコミュニティー版や、他のベンダー製品とはインストール手順やデーモンの起動方法が異なりますが、MapReduceやHDFS(Hadoop分散ファイルシステム)の動作、運用と監視のポイントなどは共通です。CDH4のマニュアルは必要に応じて参照してください。

 最近は、ベンダー独自の管理製品を用いてApache Hadoopのインストール、クラスター構築とOA&M(Operations, Administration and Management)の簡素化、自動化をする流れがあります。これらツールの導入は自由ですがベンダー独自のものや、無償版の機能が限定されているものもありますので、利用者は賢く選択して利用しましょう。

インストール環境の確認

 Apache HadoopはJavaで実装されていますので基本的にはプラットフォーム非依存ですが、インストールベースとして最も多いプラットフォームはLinuxです。実際に、CDHでサポートしているプラットフォームは、現時点(2012年7月)では、Red Hat Enterprise LinuxやUbuntu、CentOS、Oracle Linuxなど、Linuxのみです。なお、CDH4のサポート対象OSの詳細はここに記載されています。コミュニティー版ではその他のOS、FedoraやDebianでも動作させることは可能です。

 主にLinuxが選択される理由は幾つかあるでしょう。価格的にリーズナブルなコモディティーサーバーを並列に数台から数百台並べてクラスターを構築し、コストパフォーマンスに優れたシステムを実現するうえでLinuxは妥当な選択です。高価なUNIXマシンを並べてHadoopを稼働させているという話は耳にしません。

 Windows環境でHadoopクラスターを構築しているという事例も、現時点では聞きません。ただし、コミュニティーではWindow対応のブランチも作成していますので近い将来、ベンダーがWindowsプラットフォームをサポートし始める可能性もあるでしょう。また、現在はWindows Azure上でApache Hadoopを動作させられるようになっているようです。

 今回は、以下バージョンのソフトウエアを用いてHadoopの環境を構築してみたいと思います(表1)。

表1●利用するソフトウエアとバージョン
ソフトウエア バージョン
Apache Hadoopディストリビューション CDH 4.0.1
オペレーティングシステム CentOS 6.2 (64bit)
Java開発キット Oracle JDK 6 Update 31

 Hadoopを動作させるに当たり、必ず必要になるものがJDK(Java開発キット)です。Apache HadoopはJavaのランタイムであるJRE(Java Runtime Environment)では動作しません。

 また、Red Hat Enterprise Linux(CentOSも含む)では完全オープンソースのJDK、OpenJDKが標準で同梱されるようになりましたが、CDHはOpenJDKをサポートしていませんので注意してください。CDHではOracle JDK(旧Sun JDK)が必要になります。ここにCDHでのサポートJDKについての詳細が記載されています。コミュニティー版でも同様に基本的にはOracle JDKでのサポートです。詳細はこちらを参照してください。

 OpenJDKはRed Hat Enterprise Linuxのサブスクリプションサポートの範囲なのですが、残念ながら利用することはできず、Oracle JDKが必須となっています。Oracle JDKのサポートが必要な場合は、オペレーティングシステムとは別で、サポートの購入が必要になります。