今回から数回にわたって、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)。
ソフトウエア | バージョン |
---|---|
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のサポートが必要な場合は、オペレーティングシステムとは別で、サポートの購入が必要になります。