「ブートストラップアクション」でできること:きょうから試せる Hadoop“スモールスタート”ガイド(7)(3/3 ページ)
実際にHadoopで処理を実装していきながら「Hadoopは、誰にだって扱える」を体感しましょう。今回は「ブートストラップアクションの利用方法」を解説します。
利用したいライブラリのインストールやエイリアスの設定
利用したいライブラリやエイリアスの設定にも使えるでしょう。例えばこのようなシェルスクリプトを作れば、必要なライブラリのインストールやエイリアスの設定が行えます。例えばs3cmdが利用出来るような設定をしたり、RubyのライブラリであるActiveSupportのインストールを行ったり、よく使うエイリアスの設定などをしてみます。
#!/bin/sh # s3cmdが使えるように設定 echo "[default] access_key = ACCESS_KEY secret_key = SECRET_KEY" > ~/.s3cfg # rubygemsのインストール wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz tar zxf rubygems-1.8.24.tgz cd rubygems-1.8.24 sudo ruby setup.rb install # 必要なライブラリのインストール sudo /usr/bin/gem1.8 install activesupport --no-ri --no-rdoc sudo /usr/bin/gem1.8 install spreadsheet --no-ri --no-rdoc # .bashrcにエイリアスを設定 echo "alias ll='ls -l'" >> ~/.bashrc echo "alias vi=vim" >> ~/.bashrc source ~/.bashrc
では早速このファイルをS3にアップロードして、ブートストラップアクションから利用してみましょう。sasata299バケットのbootstrap-actionsフォルダの中にアップロードした場合、このようなコマンドとなります。
マスターノードにSSHでリモートログインしてみると、gemが無事にインストールされていることが確認できました。エイリアスも問題なく使えます。
タイムゾーンの設定など
インスタンスは起動時にJST(Japan Standard Time:日本標準時)で起動しているとは限りません。場合によってはUTC(Coordinated Universal Time:協定世界時)で起動してきます。毎回設定が異なっていては不便なので、ブートストラップで必ずJSTに設定されるようにしてみましょう※2。
※2 UTCとJSTでは9時間の時差があります
必ずJSTで設定するために、一旦現在の設定ファイルである/etc/localtimeを削除して、新たに/etc/localtimeが/usr/share/zoneinfo/Asia/Tokyoを参照するようにシンボリックリンクを設定しなおしてください。
これでJSTに変更されます。UTCと比べると時間が9時間進んでいることが確認できるでしょうか。
ただし、毎回この作業を手動で行っていたのでは大変です。そこでブートストラップアクションでこの変更を行って自動化すると良いのではないかと思います。面倒な作業はブートストラップアクションで自動化してしまいましょう。
Gangliaをインストールして利用する
EMRのパフォーマンスの監視には、オープンソースの監視ツールであるGangliaを使います。Gangliaは数千ノードまで対応できるように設計されています。詳しくはGangliaのページを参照してみてください※3。
Ganglia自体はインストールスクリプトがEMRで用意されているので、ブートストラップアクションでそのスクリプトを指定するだけです。以下のように指定してください。
ブラウザからGangliaのWebビューにアクセスするにはSSHポートフォワードしなくてはいけないんですが、説明はここでは割愛します(本書P177で詳しく説明しているので、ダイナミックフォワードのところの説明を参考にしてください)。
準備が完成するとこのようなURLでGangliaのWebビューにアクセスすることが可能です。
このような画面が見られると思います。
さまざまな情報を知ることができると思うので、ぜひ性能改善に役立ててください。
Hadoopファーストガイド
佐々木達也著
秀和システム 2400円(税別)
「ビッグデータ(=従来のコンピュータシステムでは、しまったり、探し出したり、調査したり、人間にわかりやすく加工したりが難しい、とても大きなデータ)なんて自分には関係ない」そう思っているエンジニアに贈る「Hadoop」の体験型入門書です。数億のユーザを抱えるSNSの利用データのように「雲をつかむような話」ではなく、Webサイトエンジニアや普通のプログラマが親しみを感じられるような普通のデータと、Amazon EMRという手軽な実験環境を使い、実際にHadoopを動かしてみます。手軽に短い時間で分散処理のメリットを体験することで、手元の業務に眠っているかもしれないビッグデータの活用に可能性を見出せるかも知れません。
関連記事
- もし、あなたが「“ビッグデータプロジェクト”を任せる。何とかするように」と言われたら
「ビッグデータプロジェクトを始めることになった」ら、具体的に何をするのか。本連載は、「ビッグデータプロジェクトの“進め方”」を業務視点/ビジネス視点の両面から体系的に理解し、具体的に実践していく方のためのナレッジアーカイブです。第1回目は、「ビッグデータとは何か」の基礎と、「ビッグデータ基盤の概要とメリット」を解説します。 - Hadoopは「難しい・遅い・使えない」? 越えられない壁がある理由と打開策を整理する
ブームだったHadoop。でも実際にはアーリーアダプター以外には、扱いにくくて普及が進まないのが現状だ。その課題に幾つかの解決策が出てきた。転換期を迎えるHadoopをめぐる状況を整理しよう。 - いまさら聞けないHadoopとテキストマイニング入門
Hadoopとは何かを解説し、実際にHadoopを使って大規模データを対象にしたテキストマイニングを行います。テキストマイニングを行うサンプルプログラムの作成を通じて、Hadoopの使い方や、どのように活用できるのかを解説します - 欧米の金融業界は今、どうHadoopを活用しているか
Hadoopは、欧米の金融関連サービス業界でどう活用されているか。米Hortonworksの金融サービス業界担当ゼネラルマネージャーへのインタビューで得た情報を、2回に分けてお届けする。今回は金融業界におけるHadoopのユースケースを概観する。
Copyright © ITmedia, Inc. All Rights Reserved.