garbagetown

個人の日記です

Hadoop を 10 分で試そうとしたら 2 時間 49 分かかった話

みなさんビッグデータしてますか?本日は懺悔のブログです。

経緯

世間から遅れること五年、そろそろぼくもビッグデータしたいなと思って Hadoop 周りを調べてみたところ、エコシステムがもりもり成長中で Web 上の情報は新旧入り乱れているわ、書籍の情報はあっという間に古くなるわで、ビッグデータ界の Hello World 的な WordCount を試すのもひと苦労という有様でした。

そんな折、"2014年版 Hadoopを10分で試す(1) | Tech Blog" というブログを発見してキタコレ!と試してみたところ、いろいろあって 結果的に 10 分では試せなかったので、冗談半分で

などとツイートしたところ、なんとご本人様に補足され、

という窒息するほど土下座したい案件となりましたので、本日ここに「ビッグデータ素人がノーガードで突撃した場合、どこにどれくらい時間が掛かるのか」などを紹介することで、懺悔の言葉と代えさせて頂ければと思います。

試した手順と掛かった時間

以下の環境で試しました。

  • Windows7 64bit
  • メモリ 8GB
  • プロキシサーバ有り社内 LAN
  • 7-ZipVirtualBox はインストール済み

ダウンロード

Google Chrome で以下のサイトにアクセスして VirtualBox 版の VM をダウンロードしました。

"Download for VirtualBox" ボタンをクリックすると E メールアドレスやらを求められるので、素直に入力して Submit ボタンを押したところ、いきなり JavaScript エラーが発生。

f:id:garbagetown:20150211000553p:plain

"geoplugin_city が定義されていない" というエラーのようですが、自宅の Chrome で試してみると再現しないので、なんらかの拡張機能とプロキシサーバの組み合わせがまずいのかもしれません。

そもそも Chrome なんて気取ったブラウザを使っているのが良くないので、安定の Internet Explorer でアクセスしたら無事に VM をダウンロードすることができました。

f:id:garbagetown:20150211001613p:plain

スクリーンショットを撮り直してみたところ、残り時間 2 時間 52 分でした。他の仕事をしながら気長に待ちましょう。

展開

ダウンロードした VM7-Zip で圧縮されているので、展開して中身を取り出します。

f:id:garbagetown:20150211002416p:plain

7-Zip で開いたらデスクトップなどの適当な場所にコピーしましょう。マシンスペックにもよると思いますが、自分の環境では 15 分くらい掛かりました。

f:id:garbagetown:20150211002553p:plain

インポートと起動

仮想マシンイメージが取り出せたら、VirtualBox にインポートします。ここでは残り時間 1 分などと表示されますが、実際は 3 分くらい掛かります。

f:id:garbagetown:20150211012304p:plain

インポートが完了したら、いよいよ VM を起動します。5 分くらい掛かります。

f:id:garbagetown:20150211012512p:plain

プロキシの設定とサンプルアプリケーションの準備

VM が起動すると Firefox が立ち上がるのですが、なんだか画面が変です。

f:id:garbagetown:20150211012839p:plain

プロキシサーバが設定されていないので画像などが取得できていません。機能的な影響はありませんが、モチベーションに影響するのでプロキシサーバを設定しましょう。

なお、quickstart.cloudera は localhost を見るのでプロキシ対象外に指定する必要があります。

f:id:garbagetown:20150211013213p:plain

プロキシの設定が完了したら、ブックマークバーから Hue を選んで cloudera/cloudera でログインします。

f:id:garbagetown:20150211013939p:plain

Hue にログインしたら、"2014年版 Hadoopを10分で試す(1) | Tech Blog" を参考に Hue のインストールウィザードを進めてサンプルアプリケーションをインストールします。10 分くらいあればインストールできると思います。

f:id:garbagetown:20150211014247p:plain

サンプルアプリケーションの実行

いよいよ Hadoop を試します。Hive クエリを実行してみましょう。

f:id:garbagetown:20150211014800p:plain

Hive クエリが MapReduce ジョブに変換される様子がログに出力され、処理が完了すると自動的に結果画面が表示されます。

f:id:garbagetown:20150211015009p:plain

エンジニア的にはおおおスゲーと素直に喜べますが、ふだん見慣れている SQL に似た Hive クエリだけに、えらいひとには Hadoop の威力よりも MapReduce の遅さの方が目立ってしまうんじゃないかなあと余計なことも思いました。

Hive と比べると Impala はすごく速いです。他にも Sqoop や Pig などのサンプルもあって遊ぶには持ってこいですが、お仕事で使う場合はこれらツールの特色をきちんと理解して、冗長化などにも気を付けながら採用を検討する必要があり、それなりに敷居は高いと感じました。

その頃タスクマネージャは

いっぱいいっぱいでした。

f:id:garbagetown:20150211023038p:plain

まとめ

  • Hadoop 周辺は進化の速度が速く、Web や書籍の情報をもとに検証環境を構築することがむずかしい
    • 最初は Apache Hadoop, Cloudera, Hortonworks, MapR の違いも分からない
    • スタンドアロン、疑似分散、完全分散とか言われても困る
    • MRv1 と YARN は何が違うのか分からない
  • CDH QuickStart VM を使えば、仮想マシン起動開始から 10 分で CDH に含まれるいろいろなツールを試すことができる
    • ただし仮想マシンを起動するまでに 3 時間以上かかる
    • あとメモリめっちゃ食う

あれこれ悩みながらの手作業だと 3 時間どころか 3 日掛かっても環境を作れないので、取っ掛かりとして QuickStart VM を試すのは良いと思います。

ただし、仮想マシンの使用メモリが 4 GB に設定されているので、メモリを 8 GB 以上搭載しているマシンでないと厳しいです。

OS やメーラ、ブラウザ、IDE などを立ち上げて開発することを考えると 8 GB マシンでも際どいので、現在は VMHadoop 専用端末にインストールして VirtualBox のブリッジアダプタで社内 LAN に繋いでいます。この辺りの手順も気が向いたら書くかもしれません。

それではみなさん良いビッグデータを。