Hadoopコースを攻略しよう(環境構築編)
この記事では、「Tuning Maniax 2014 - 蒼き調律者たち」Hadoopコースに参加される方に向けて、 MapReduceプログラムの開発環境と、Azure HDInsightを使ったHadoopクラスターの構築方法を紹介します。
いざ参戦、チューニング・マニアックスHadoop編
さてこの競技、簡単に言えば以下のようなものです。
総計1TBのWebアクセスログ(を模して生成されたデータ)を解析し、次の3項目を抽出する時間を競う
- アクセス数の多いURL:上位10件
- 多く利用されているユーザーエージェント:上位10件
- URI毎の平均レスポンスタイム:下位10件(時間が長い方から10件)
解析のための環境としては、Microsoft Azure HDInsightサービスをご利用ください。その上で、どのような処理方式を選択されるかは参加者の自由!オーソドックスにJavaで書くも良し。Streaming APIを駆使して自分の得意な言語で楽しむもまた良し。当然HiveやPIGでの挑戦もOKです。
え、Dryadで殴り込み?もちろん大歓迎!
必要になる環境
この競技に参加するには、次のようなものが必要になります。
- Microsoft Azureのサブスクリプション
- MapReduceプログラムの開発や、HDInsightクラスターの作成・ジョブ投入等の作業を実行するためのWindowsマシン(「開発環境」)
- Hadoopクラスターそのもの。
1. については、大会に参加される皆さんは既に用意されていると思いますので、この記事では2.と3.についてその方法を紹介します。
開発環境の作成
まずは、Windowsマシンを一つご用意ください。Azure管理ポータルへアクセスしてHDInsightクラスターを作成するだけならブラウザさえあれば良いのですが、HDInsightを活用する際に欠かせない以下のツールがWindows環境で動作するのです。
- Windows Azure PowerShell
- Microsoft HDInsight Emulator for Windows Azure
これらは、普段お使いのPCにそのままインストールしても構いませんが、「自由にソフトをインストールできない環境である」「Surface 2を使っている」「MacBookで生きている」等の理由でインストールできないこともありましょう。
そういったケースを想定して、今回は開発環境自体もAzure仮想マシンで構築する方法をご紹介します。
仮想マシンの作成
Azure仮想マシンのギャラリーには、様々な仮想マシンイメージが用意されていますが、おすすめは最新のWindows Server 2012 R2です。
Azure管理ポータルで「新規」→「コンピューティング」→「仮想マシン」→「簡易作成」とクリックし、必要事項を記入します。
※記事中の図をクリックすると拡大表示します。
- 「DNS名」に入力した名前が、仮想マシンのホスト名にもなります。リモートデスクトップ接続する時に、この名前を指定することになります。
- 「イメージ」は”Windows Server 2012 R2 Datacenter”を選択してください。上の図では「R2 Datacenter」の部分が見切れてしまっていますが…
- 「サイズ」は「基本」階層の"A2"(2コア、3.5GBメモリ。以前は”Mサイズ”と呼んでいたもの)あたりがおすすめです。A1(1コア、1.75GBメモリ)では、EclipseやHDInsight Emulatorを動かすには少々不足かもしれません。
- 「ユーザー名」と「新しいパスワード」の部分には、管理者となるユーザーの名前とパスワードを指定します(“Administrator”は無効化されています)。
- 「リージョン/アフィニティグループ」は、仮想マシンの配置場所の指定です。現在、日本には関東と関西の2リージョンありますので、どちらかをお使いください。
※なお、「日本(西)」は東より少々お値段控えめとなっております。
ゲストOSの日本語化
Azure仮想マシンのギャラリーにある標準イメージは、今のところすべて英語版です。簡単に日本語化できますので、方法をご紹介します。
- 仮想マシンが出来上がったら、管理ポータル下の黒帯から「接続」を選んでリモートデスクトップ接続します。
- ログオンしたら、左下のスタートボタンを右クリックして”Control Panel”をクリックします。
- コントロールパネルの”Add a language”をクリックします。
- 次の画面でも”Add a language”をクリックして、日本語を追加します。また、”Move Up”で英語より上に持ってきます。さらに”Options”をクリックします。
- ”Download and install language pack”をクリックします。
- この状態で、しばらく時間がかかりますのでお待ちください。
言語パックのインストール後、再度ログオンすると見事日本語環境になっているはずです。実は、ユーザー毎の表示言語を日本語にしただけで、システムロケールは英語のままなのですが、あまり問題ないのでこのまま行くことにします。
Web Platform Installerのインストール
では、必要な各ソフトウェアをインストールしていきます。まずは、”Web Platform Installer(WebPI)”です。これを使うと各種ソフトウェアパッケージを、その依存モジュールと共にダウンロード・インストールしてくれるものです。
このリンクからwpilauncher.exeを実行してください。
> http://go.microsoft.com/fwlink/?LinkId=255386
インストールが完了すると、自動的にWebPIが立ち上がってきます。
Windows Azure PowerShellと、Microsoft HDInsight Emulator for Windows Azureの二つを「追加」して「インストール」をクリックしてください。
※HDInsight Emulatorは”hdinsight”で検索すると出てきます。
こうなれば完了です。
HDInsight EmulatorはC:\Hadoop配下にインストールされます。
また、C:\Hadoop\javaにJDKがインストールされますので、PATHを通しておきましょう。「管理者として実行」したコマンドプロンプトで次のコマンドを実行するのが楽です。
setx PATH "%PATH%;c:\Hadoop\java\bin" /m
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Hadoopコースを攻略しよう(HDInsightによる大量ログ解析編)
- PowerShellを使用したAzureの管理
- Tuning Maniax 2014参加者必見!スタートアップセミナーの資料を一挙掲載
- Windows Server コンテナ始動!
- はじめてのWindows Azure Accelerator for Web Roles
- 上位入賞者たちはどうやってチューニングしたのか!?Tuning Maniax総評
- Build 2013レポートとWindows Azureの2013上半期アップデートを総復習!
- WebMatrixを使ってWordPressを動かそう
- Windows AzureにPythonのアプリケーションをインストールする(クエスト9)
- Windows Azure上にWindowsインスタンスを立ち上げる(クエスト4)