EMRでクラスターを起動してHiveスクリプトを実行する

Amazon EMR

はじめに

最近、Amazon EMRを触り始めたt.hondaです。タイトルにあるようにEMRのクラスターを立ち上げてHiveスクリプトを実行するまでの手順について書きたいと思います。

手順

1.クラスターの起動

最初にEMRのクラスターを起動します。

マネジメントコンソールでAmazon EMRを選択し、「クラスターを作成」ボタンを押下します。 emr-cluster-hive-1

「クラスターの作成」画面にて幾つかの設定をします。ここでは最低限の設定について取り上げます。

起動モードは「クラスター」、ベンダーは「Amazon」、アプリケーションは「Core Hadoop・・・」を選択します。これらはデフォルトで選択されているかと思います。 emr-cluster-hive-2

EC2のキーペアですが、以降の手順でEC2にアクセスするため、予め作成しておく必要があります。作成済みのキーペアを指定します。その他はデフォルトのままで、ひとまずは大丈夫です。 emr-cluster-hive-3

ここまで設定したら「クラスターを作成」ボタンを押下します。

2.Hiveスクリプトの実行

「クラスターリスト」画面にて起動したクラスターのステータスが「待機中」になったのを確認したら、Hiveスクリプトの実行を行います。 emr-cluster-hive-4

「クラスターリスト」画面にて起動したクラスターを選択し、対象クラスターの「マスターパブリック DNS」を確認します。 emr-cluster-hive-5

確認した「マスターパブリック DNS」を使用して、以下のコマンドでssh接続を行います。このときに先に作成したEC2のキーペアを使用するので、保存場所を把握しておいてください。

$ ssh -i EC2キーペアのパス hadoop@マスターパブリックDNS

「The authenticity of host・・・」という警告がでた場合は「yes」を入力します。

The authenticity of host (中略)
(中略)
Are you sure you want to continue connecting (yes/no)? yes

ssh接続できたら、Hiveに接続します。これは簡単で「hive」と入力するだけです。

$ hive

Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j2.properties Async: false
hive>

「hive>」が表示されたら、任意のHiveスクリプトを実行してください。

最後に、使用が完了したら忘れずにクラスターの削除を行いましょう。以上です。