hadoop-logo
ようこそ Tech blogへ!
「これからHadoopを勉強しよう」という方はまず下記のページから

サイトの移行に伴って画像が表示されないなどの不具合が生じています

2014年版 Hadoopを10分で試す(1)

Hadoop関連(全部俺) Advent Calendar 2014:7日目
先週の研修中に、「Hadoopをこれから試してみたいけど、どこから始めたらいいでしょうか?」という質問がありました。
構築の勉強をしたいのであれば、今ならパブリッククラウドや仮想化環境を使えるので、実際に構築してみるのが良いでしょう。パッケージを手作業でインストールしても良いですし、Cloudera Managerを使えば簡単です。
MapReduceやSparkのジョブの開発方法を学びたいのであれば、環境を用意した上で、先日紹介したO’Reillyなどの書籍を利用したり、あるいはセミナーや研修を受講するのが良いかもしれません。
MapRediuceやSparkを試すための簡単な方法のひとつは、「Hadoop入門:Hadoopを10分で理解する」 シリーズで紹介したCloudera Managerであり、Cloudera Quickstart VMです。先日のブログを書く際に、最新版のCloudera Quickstart VM 5.2 の仮想マシンイメージをダウンロードして利用したので、インストール方法から動作確認、その他入門になりそうなところをを紹介します。
冬休み、正月休みももうすぐ(?)なので、この機会にHadoopをやる!という方の参考になれば嬉しいです。

Cloudera Quickstart VMイメージのダウンロード

まずはClouderaのサイトから仮想マシンのイメージをダウンロードします。最低搭載メモリは4GBとなっています。(Cloudera Managerを動作させる場合、ウェブページには最低4GBと書かれているにもかかわらず、8GBはないとツラいです)。
vm_downloadvm_requirement
CDHのバージョン、仮想マシンイメージの種類を選択し、ダウンロードの前にTerm and conditionをサブミットしてダウンロードします。(ネットワークの速度によりダウンロード時間は大きく異なります。)
ダウンロードしたファイルは 7Zip形式なので、解凍ツールが必要な場合は事前に用意しておきましょう。ダウンロードが終わったら仮想マシンイメージを展開して実行します。
仮想マシンの実行方法は仮想化環境により異なります。VMWareとVirtualBoxは比較的簡単だとと思いますが、KVMは少し敷居が高い(と思う)のでご注意ください。(参考: KVMでCloudera Quickstart VMを動かす

VMイメージをブートする

ブートするとCentOSが起動し、以下のような画面が表示されます。
vm_bootなお、この時点でCloudera Managerはセットアップされていません。つまり、CDH5.2のHadoop, Hive, Spark, Impalaなどコンポーネントは、RPMパッケージによりインストールされています。(これが今までのQuickstartと大きく異なるところ)。Cloudera Managerのセットアップは明日以降で紹介予定です。

Hueにログイン

最初にHueのログイン画面が表示されていることから、Hadoop関連の操作はコマンドラインではなく「Hueを使え」というメッセージのようですね。デフォルトのユーザー名とパスワードはcloudera/clouderaなので、入力してログインします。
Hueのスタートアップウィザードに従い、Nextを押します。Install all the application examplesはAllをクリックして、サンプルアプリケーションをインストールしておきましょう。それ以外はNextをクリックして、最後に Hue Homeをクリックします。
vm_hue_wizardvm_hue_home

Hueの日本語化

おっと、日本語環境にしたいですね。日本語の手順は過去のブログもご覧下さい。今回はyumのレポジトリを変更する必要はありませんでした。インストールが終わったらFirefoxの設定を変更し、ページを再読み込みします。
[shell]
[cloudera@quickstart ~]$ sudo yum -y groupinstall japanese-support
Loaded plugins: fastestmirror, security
Determining fastest mirrors
epel/metalink | 4.8 kB 00:00
* base: ftp.nara.wide.ad.jp
* epel: ftp.jaist.ac.jp
* extras: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
base | 3.7 kB 00:00
base/primary_db | 4.6 MB 00:00
(略)
Dependency Installed:
anthy.x86_64 0:9100h-10.1.el6
ibus.x86_64 0:1.3.4-6.el6
ibus-gtk.x86_64 0:1.3.4-6.el6
ibus-libs.x86_64 0:1.3.4-6.el6
im-chooser.x86_64 0:1.3.1-3.el6
imsettings.x86_64 0:0.108.0-3.6.el6
imsettings-libs.x86_64 0:0.108.0-3.6.el6
kasumi.x86_64 0:2.5-1.1.el6
libgxim.x86_64 0:0.3.3-3.1.el6
notify-python.x86_64 0:0.1.1-10.el6
pyxdg.noarch 0:0.18-1.el6
vlgothic-fonts-common.noarch 0:20091202-2.el6
Complete!
[/shell]
なお、Firefoxのバージョンが上がっていて、日本語の切り替え方法が若干異なっていました。
vm_hue_firefox
vm_hue_japanese無事に日本語化も完了です。

サンプルを実行してみる

最新のHueは、最初のウィザードでいくつかのサンプルアプリケーションをインストールできます。以前のブログでもHiveやImpalaを紹介しましたが、今回もHadoopをSQLで操作する、HiveとImpalaのサンプルを実行してみましょう。

Hiveのサンプルを実行

今回は Top salary という、サンプルデータから2007年の高額給与のユーザーを抽出するHiveQLを実行します。Hue Home(マイドキュメントと表示されます)にて、(Hue Homeは一番上の家のアイコンです)
hive_top_salaryをクリックします。Hiveのクエリエディタが表示されました。
スタートアップでインストールされたHiveQLが表示されていますね。実行をクリックしてHiveのクエリを実行します。
hive_sample_before
HiveのクエリがMapReduceジョブとして実行され、しばらく待つと下部のペインの結果タブに結果が表示されます。
hive_sample_resultチャートをクリックすると、棒グラフや円グラフなどで表示もできます。
hive_sample_chart

Impalaのサンプルを実行

Impalaは分散SQLエンジンです。HiveがMapReduceに変換するのに対し、ImpalaはMapReduceに変換することなく、独自のエンジンでクエリを分散実行します。Hiveとほぼ同じクエリを実行することができますが、速度が速いのが特徴です。
一番上の家のアイコンをクリックして、Hive Homeに戻りましょう。今度は以下のリンクをクリックして、ImpalaでHiveと同じTop Salaryのクエリを実行します。
impala_top_salary上記のリンクをクリックします。HiveとImpalaのクエリエディタはほとんど同じ画面ですね。
表示された画面で実行をクリックします。
impala_sample_beforeHiveと比べてすぐに結果が返ってきたのではないでしょうか?Impalaのクエリの応答は速いので、分析などに向いていることがお分かりいただけたことでしょう。
なお、Impalaは起動直後の1回目のクエリの際、メタストアに記録されたメタ情報をキャッシュします。2回目以降のクエリはもっと早く結果が戻ってきます。興味があれば他のクエリも試してみてください。
 

コメント

  1. […] インストール、日本語化などは何回も書いているので割愛します。初めての方はこちらのページなどをご覧下さい。 […]