Help us understand the problem. What is going on with this article?

EMRを使うときに便利なSSHの設定

More than 3 years have passed since last update.

EMRを使うとき、以下の点が不便だと感じたので、設定しました。

  • スレーブにSSHできない
  • しばらくプロンプトをほうっておくとタイムアウトしてしまう
  • YARNのResource ManagerなどのWebUIのためのポートフォワード用に別でsshを実行するのが面倒
  • 毎回ssh -i keypair.pem ・・・ hadoop@***のようにキーペアとユーザを指定するのが面倒

以下のようにSSHの設定を行いました。

SSHエージェントの登録

localhost$ ssh-add ~/.ssh/keypair.pem

SSHconfigの設定

localhost$ touch ~/.ssh/config
localhost$ chmod 644 ~/.ssh/config

~/.ssh/configの中に以下の内容を記述する

ServerAliveInterval 300
TCPKeepAlive yes
Host *.compute.amazonaws.com
    IdentityFile    ~/.ssh/keypair.pem
    User            hadoop
    DynamicForward  8157
    ForwardAgent    yes
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

設定後は、以下でEMRへ接続できる。

マスターノードへの接続

localhost$ ssh ec2-XX-XX-XX-XX.ap-northeast-1.compute.amazonaws.com

マスターノードからスレーブノード(コアノード)へのSSHアクセス

emr-master$ hadoop dfsadmin -report |grep ^Name |cut -f2 -d: |cut -f2 -d' '
10.187.XX.XX <- slaveのIPアドレス
10.167.YY.YY
emr-master$ ssh hadoop@10.187.XX.XX

皆さんのEMRのインテグレーションが楽になりますように\(^o^)/

chie8842
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away