2013年2月4日月曜日

Cloudera Managerを利用してHadoopインストール試みたが最後にエラー

PCとネットワーク環境さえあれば開発環境を構築できる時代ですが、それでも敷居が高いのがビッグデータ系環境。並列分散処理を本格的に検証するならハードが複数必要だし、VM使って擬似分散環境を構築する場合は(VM載せるマシンに)ある程度のスペックが要求される。SSDとはいえメモリ4G、ブラウザでちょっとタブを多めに開いたり大容量ファイルコピーするだけでファンフル回転するMacbookAirでは厳しいな・・・というのを言い訳に後回しにしてきたけど、いい加減そろそろ手を出さないとなと思ってたところにCloudera Managerという環境構築ツールの存在を知り、ちょっと手を出してみました。

しかし結果は・・・当エントリのタイトルが物語っているとおり、最後の最後のサービス起動でエラー発生してインストール処理全ロールバックという結果となりました・・・。詳細は後述しますが、どうもサービス起動時のタイムアウトっぽい。Hadoopのインストール先が外付けハードディスクに置いたVMで、かつ先に述べたとおりマシンスペックが低いとは言え・・・レスポンス時間の要件厳しすぎやしませんかClouderaさん。

ということでHadoop動かすところまではいきませんでしたが、環境構築の流れは確認できたのでメモメモ。

試した環境

  • CentOS 6.3
  • Cloudera Manager 4.1.3
日本語サイトの紹介ページには
「インストール・ノード、コンポーネントの選択や、インストール後のセットアップを含めてたったの4分程度でクラスタを構築することができます。」
とありますが(上記ページ内の動画では5分)、僕の環境ではインストール処理開始までは確かに数分でしたが、実際のインストールには1時間以上待たされました。まあこれもマシンスペックの問題かもしれません。

Cloudera Manager インストールマシンでの事前準備

SELinuxを一旦無効に
無効にしないとCloudera Managerのインストーラに怒られて先へ進めません(Permissiveでもダメでした)。
# vim /etc/sysconfig/selinux
--
SELINUX=disabled
--
# reboot
scpコマンドインストール
Cloudera Managerは各ホストにHadoopインストールする際、インストール対象ホストへインストールファイルをコピーするのに内部でscpを使ってます。
# yum install openssh-clients

ちなみにJDKも必要なんですけど、無ければCloudera Managerと一緒にインストールしてくれます(本家Oracleの6系ですけど)。

Cloudera Manager インストール

ドキュメント
ダウンロード
以下ページから辿ります。
ユーザー情報登録を求められますが、日本語サイトの紹介ページの動画で「(ユーザー情報)登録してくれたらうれしいです」と述べてる通り、入力はしなくてもダウンロード可能。入力画面下部の"I'd rather not fill in the form..."といったメッセージ内のリンクからダウンロードページに飛べます。

それではコマンドを叩きます。
$ wget http://archive.cloudera.com/cm4/installer/latest/cloudera-manager-installer.bin
$ chmod u+x cloudera-manager-installer.bin
# ./cloudera-manager-installer.bin

GUIのウィザードが起動するので、Nextとか同意するとかしてください。インストール処理はそこそこ時間かかりました。
ファイアウォール穴開け
7180番ポートを開けます。
# vim /etc/sysconfig/iptables
--
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7180 -j ACCEPT
--
# service iptables restart

Cloudera Manager使ってHadoopクラスタ構築

ブラウザでインストールしたマシンの7180番ポートへアクセス。ログイン画面が表示されるので、ここに記載されている通りログインユーザー・パスワードに「admin」を入力してログインしてください。

後はもうウィザードに従えばいいだけなので割愛。Hadoopに手を出そうとする人なら説明なんていらんでしょ。ちなみに僕の環境の場合、前述の通りインストール処理は1時間以上かかりました。
そして、エラー発生
片手間に進捗バーを眺めること1時間弱、ようやく全てのソフトウェアのインストールが完了したと思いきや、エラーが発生してバーの色が赤色になって「ロールバックします」との非情な光景が。
ホスト一覧の「詳細」リンクを押下するとインストールログを参照できるので、確認してみたところ、以下エラーが発生していました。
BEGIN /sbin/service cloudera-scm-agent start 
cloudera-scm-agent を起動中:  [60G[ [0;31m失敗 [0;39m] 

サービスの起動でエラー発生しているので、サービスのインストールに失敗したのかと思い、いろいろと調べたところ、発見したのがHadoopのエキスパートと思われる方の以下記事。
Cloudera Manager のインストーラーである cloudera-manager-installer.bin は、速度の遅いネットワークではタイムアウトのせいで失敗してしまう (ように見える)
この方は結局Cloudera Manager使うのを諦めて手作業でインストールしたそうです。ってことで、僕も深追いするのは諦めました。
手作業でのインストール手順は、上記の方とか他をあたってください。

Cloudera Manager アンインストール手順

僕と同じくCloudera Managerでインストールできねぇってことで無用の長物と化したのでアンインストールしたい場合は、以下ページを参照してください。