Hadoop を 10 分で試そうとしたら 2 時間 49 分かかった話
みなさんビッグデータしてますか?本日は懺悔のブログです。
経緯
世間から遅れること五年、そろそろぼくもビッグデータしたいなと思って Hadoop 周りを調べてみたところ、エコシステムがもりもり成長中で Web 上の情報は新旧入り乱れているわ、書籍の情報はあっという間に古くなるわで、ビッグデータ界の Hello World 的な WordCount を試すのもひと苦労という有様でした。
そんな折、"2014年版 Hadoopを10分で試す(1) | Tech Blog" というブログを発見してキタコレ!と試してみたところ、いろいろあって 結果的に 10 分では試せなかったので、冗談半分で
Hadoopを10分で試すというブログを参考にVMをダウンロードしたら残り2時間49分と表示されたときの顔をしてる
— 箱と矢印と方眼紙 (@garbagetown) 2015, 2月 3
などとツイートしたところ、なんとご本人様に補足され、
トップページのタイトルを少し弄ってみました。全てのページを変えるのは断念w http://t.co/wfC6tKSbCr RT @garbagetown: Hadoopを10分で試すというブログを参考にVMをダウンロードしたら残り2時間49分と表示されたときの顔をしてる
— Tatsuo Kawasαki (@kernel023) 2015, 2月 4
という窒息するほど土下座したい案件となりましたので、本日ここに「ビッグデータ素人がノーガードで突撃した場合、どこにどれくらい時間が掛かるのか」などを紹介することで、懺悔の言葉と代えさせて頂ければと思います。
試した手順と掛かった時間
以下の環境で試しました。
- Windows7 64bit
- メモリ 8GB
- プロキシサーバ有り社内 LAN
- 7-Zip と VirtualBox はインストール済み
ダウンロード
Google Chrome で以下のサイトにアクセスして VirtualBox 版の VM をダウンロードしました。
"Download for VirtualBox" ボタンをクリックすると E メールアドレスやらを求められるので、素直に入力して Submit ボタンを押したところ、いきなり JavaScript エラーが発生。
"geoplugin_city が定義されていない" というエラーのようですが、自宅の Chrome で試してみると再現しないので、なんらかの拡張機能とプロキシサーバの組み合わせがまずいのかもしれません。
そもそも Chrome なんて気取ったブラウザを使っているのが良くないので、安定の Internet Explorer でアクセスしたら無事に VM をダウンロードすることができました。
スクリーンショットを撮り直してみたところ、残り時間 2 時間 52 分でした。他の仕事をしながら気長に待ちましょう。
展開
ダウンロードした VM は 7-Zip で圧縮されているので、展開して中身を取り出します。
7-Zip で開いたらデスクトップなどの適当な場所にコピーしましょう。マシンスペックにもよると思いますが、自分の環境では 15 分くらい掛かりました。
インポートと起動
仮想マシンイメージが取り出せたら、VirtualBox にインポートします。ここでは残り時間 1 分などと表示されますが、実際は 3 分くらい掛かります。
インポートが完了したら、いよいよ VM を起動します。5 分くらい掛かります。
プロキシの設定とサンプルアプリケーションの準備
VM が起動すると Firefox が立ち上がるのですが、なんだか画面が変です。
プロキシサーバが設定されていないので画像などが取得できていません。機能的な影響はありませんが、モチベーションに影響するのでプロキシサーバを設定しましょう。
なお、quickstart.cloudera は localhost を見るのでプロキシ対象外に指定する必要があります。
プロキシの設定が完了したら、ブックマークバーから Hue を選んで cloudera/cloudera でログインします。
Hue にログインしたら、"2014年版 Hadoopを10分で試す(1) | Tech Blog" を参考に Hue のインストールウィザードを進めてサンプルアプリケーションをインストールします。10 分くらいあればインストールできると思います。
サンプルアプリケーションの実行
いよいよ Hadoop を試します。Hive クエリを実行してみましょう。
Hive クエリが MapReduce ジョブに変換される様子がログに出力され、処理が完了すると自動的に結果画面が表示されます。
エンジニア的にはおおおスゲーと素直に喜べますが、ふだん見慣れている SQL に似た Hive クエリだけに、えらいひとには Hadoop の威力よりも MapReduce の遅さの方が目立ってしまうんじゃないかなあと余計なことも思いました。
Hive と比べると Impala はすごく速いです。他にも Sqoop や Pig などのサンプルもあって遊ぶには持ってこいですが、お仕事で使う場合はこれらツールの特色をきちんと理解して、冗長化などにも気を付けながら採用を検討する必要があり、それなりに敷居は高いと感じました。
その頃タスクマネージャは
いっぱいいっぱいでした。
まとめ
- Hadoop 周辺は進化の速度が速く、Web や書籍の情報をもとに検証環境を構築することがむずかしい
- CDH QuickStart VM を使えば、仮想マシン起動開始から 10 分で CDH に含まれるいろいろなツールを試すことができる
- ただし仮想マシンを起動するまでに 3 時間以上かかる
- あとメモリめっちゃ食う
あれこれ悩みながらの手作業だと 3 時間どころか 3 日掛かっても環境を作れないので、取っ掛かりとして QuickStart VM を試すのは良いと思います。
ただし、仮想マシンの使用メモリが 4 GB に設定されているので、メモリを 8 GB 以上搭載しているマシンでないと厳しいです。
OS やメーラ、ブラウザ、IDE などを立ち上げて開発することを考えると 8 GB マシンでも際どいので、現在は VM を Hadoop 専用端末にインストールして VirtualBox のブリッジアダプタで社内 LAN に繋いでいます。この辺りの手順も気が向いたら書くかもしれません。
それではみなさん良いビッグデータを。