利用したいライブラリやエイリアスの設定にも使えるでしょう。例えばこのようなシェルスクリプトを作れば、必要なライブラリのインストールやエイリアスの設定が行えます。例えば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時間進んでいることが確認できるでしょうか。
ただし、毎回この作業を手動で行っていたのでは大変です。そこでブートストラップアクションでこの変更を行って自動化すると良いのではないかと思います。面倒な作業はブートストラップアクションで自動化してしまいましょう。
EMRのパフォーマンスの監視には、オープンソースの監視ツールであるGangliaを使います。Gangliaは数千ノードまで対応できるように設計されています。詳しくはGangliaのページを参照してみてください※3。
Ganglia自体はインストールスクリプトがEMRで用意されているので、ブートストラップアクションでそのスクリプトを指定するだけです。以下のように指定してください。
ブラウザからGangliaのWebビューにアクセスするにはSSHポートフォワードしなくてはいけないんですが、説明はここでは割愛します(本書P177で詳しく説明しているので、ダイナミックフォワードのところの説明を参考にしてください)。
準備が完成するとこのようなURLでGangliaのWebビューにアクセスすることが可能です。
このような画面が見られると思います。
さまざまな情報を知ることができると思うので、ぜひ性能改善に役立ててください。
佐々木達也著
秀和システム 2400円(税別)
「ビッグデータ(=従来のコンピュータシステムでは、しまったり、探し出したり、調査したり、人間にわかりやすく加工したりが難しい、とても大きなデータ)なんて自分には関係ない」そう思っているエンジニアに贈る「Hadoop」の体験型入門書です。数億のユーザを抱えるSNSの利用データのように「雲をつかむような話」ではなく、Webサイトエンジニアや普通のプログラマが親しみを感じられるような普通のデータと、Amazon EMRという手軽な実験環境を使い、実際にHadoopを動かしてみます。手軽に短い時間で分散処理のメリットを体験することで、手元の業務に眠っているかもしれないビッグデータの活用に可能性を見出せるかも知れません。
Copyright © ITmedia, Inc. All Rights Reserved.