翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用してプライマリノードに接続する SSH
Secure Shell (SSH) は、リモートコンピュータへの安全な接続を作成するために使用できるネットワークプロトコルです。接続後、ローカルコンピュータ上のターミナルは、リモートコンピュータで実行されているかのように動作します。ローカルで発行したコマンドがリモートコンピュータで実行され、リモートコンピュータからのコマンドの出力はターミナルウィンドウに表示されます。
SSH で を使用すると AWS、クラウドで実行されている仮想サーバーであるEC2インスタンスに接続されます。Amazon を使用する場合EMR、 の最も一般的な用途は、クラスターのプライマリノードとして機能するEC2インスタンスに接続SSHすることです。
SSH を使用してプライマリノードに接続すると、クラスターをモニタリングして操作できます。例えば、プライマリノードで Linux コマンドを発行したり、Hive や Pig などのアプリケーションをインタラクティブに実行したりできます。また、ディレクトリのブラウズやログファイルの読み取りなども可能です。SSH 接続にトンネルを作成して、プライマリノードでホストされているウェブインターフェイスを表示することもできます。詳細については、「Amazon EMRクラスターでホストされているウェブインターフェイスを表示する」を参照してください。
を使用してプライマリノードに接続するにはSSH、プライマリノードのパブリックDNS名が必要です。さらに、プライマリノードに関連付けられたセキュリティグループには、SSH接続元のクライアントを含むソースからの SSH (TCP ポート 22) トラフィックを許可するインバウンドルールが必要です。クライアントからの SSH接続を許可するルールを追加する必要がある場合があります。セキュリティグループルールの変更の詳細については、「Amazon EC2ユーザーガイド」のセキュリティグループを使用してネットワークトラフィックを制御する「」および「セキュリティグループへのルールの追加」を参照してください。 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
プライマリノードのパブリックDNS名を取得する
Amazon EMRコンソールと を使用して、プライマリパブリックDNS名を取得できます AWS CLI。
注記
使いやすくするために Amazon EMRコンソールを再設計しました。古いコンソールと新しいコンソールエクスペリエンスの違いについては、「Amazon EMR コンソール」を参照してください。
SSH と Linux、Unix、Mac OS X の Amazon EC2プライベートキーを使用してプライマリノードに接続する
プライベートキーファイルで認証されたSSH接続を作成するには、クラスターの起動時に Amazon EC2 キーペアのプライベートキーを指定する必要があります。キーペアへのアクセスの詳細については、「Amazon ユーザーガイド」の「Amazon EC2キーペア」を参照してください。 EC2
Linux コンピュータには、デフォルトで SSHクライアントが含まれている可能性があります。例えば、OpenSSH はほとんどの Linux、Unix、macOS オペレーティングシステムにインストールされます。コマンドラインsshで と入力すると、 SSH クライアントを確認できます。コンピュータがコマンドを認識しない場合は、 SSHクライアントをインストールしてプライマリノードに接続します。OpenSSH プロジェクトでは、ツールのフルスイートを無料で実装SSHできます。詳細については、「OpenSSH
次の手順は、Linux、Unix、および Mac OS X で Amazon EMRプライマリノードSSHへの接続を開く方法を示しています。
キーペアのプライベートキーのファイルアクセス許可を設定するには
Amazon EC2キーペアのプライベートキーを使用してSSH接続を作成する前に、キー所有者のみが.pem
ファイルにアクセスするアクセス許可を持つように、ファイルに対するアクセス許可を設定する必要があります。これは、ターミナルまたは を使用してSSH接続を作成する場合に必要です AWS CLI。
-
インバウンドSSHトラフィックが許可されていることを確認します。手順については、「接続する前に: インバウンドトラフィックを承認する」を参照してください。
-
.pem
ファイルを見つけます。この手順では、ファイル名がmykeypair.pem
であり、現在のユーザーのホームディレクトリに保存されていることを想定しています。 -
次のコマンドを入力してアクセス許可を設定します。置換
~/mykeypair.pem
キーペアプライベートキーファイルのフルパスとファイル名を指定します。例えば、C:/Users/<username>/.ssh/mykeypair.pem
です。chmod 400
~/mykeypair.pem
.pem
ファイルに対するアクセス許可を設定していない場合、キーファイルが保護されておらず、キーが拒否されることを示すエラーが表示されます。接続するためにキーペアのプライベートキーファイルに対するアクセス許可を設定する必要があるのは、このファイルを最初に使用するときだけです。
ターミナルを使用してプライマリノードに接続するには
-
ターミナルウィンドウを開きます。Mac OS X で、[Applications] > [Utilities] > [Terminal] を選択します。他の Linux ディストリビューションでは、ターミナルは通常、[Applications] > [Accessories] > [Terminal] にあります。
-
プライマリノードへの接続を確立するには、次のコマンドを入力します。置換
ec2-###-##-##-###.compute-1.amazonaws.com
をクラスターのプライマリパブリックDNS名に置き換えます。~/mykeypair.pem
ファイルのフルパスとファイル名.pem
を指定します。例えば「C:/Users/<username>/.ssh/mykeypair.pem
」のようにです。ssh hadoop@
ec2-###-##-##-###.compute-1.amazonaws.com
-i~/mykeypair.pem
重要
Amazon EMRプライマリノードに接続する
hadoop
ときは、ログイン名を使用する必要があります。そうしないと、 のようなエラーが表示されることがありますServer refused our key
。 -
警告は、接続先ホストの正当性を検証できないことを示しています。
yes
を入力して、操作を続けます。 -
プライマリノードでの作業が完了したら、次のコマンドを入力してSSH接続を閉じます。
exit
SSH を使用してプライマリノードに接続するときに問題が発生した場合は、「インスタンスへの接続のトラブルシューティング」を参照してください。
Windows SSHで を使用してプライマリノードに接続する
Windows ユーザーは、PuTTY などのSSHクライアントを使用してプライマリノードに接続できます。Amazon EMRプライマリノードに接続する前に、PuTTY と P をダウンロードしてインストールする必要がありますuTTYgen。これらのツールは、PuTTY ダウンロードページ からダウンロードできます
PuTTY は、Amazon によって生成されたキーペアプライベートキーファイル形式 (.pem
) をネイティブにサポートしていませんEC2。P を使用してuTTYgen 、キーファイルを必要な PuTTY 形式 () に変換します.ppk
。Pu を使用してプライマリノードに接続しようとする前に、キーをこの形式 (.ppk
) に変換する必要がありますTTY。
キーの変換の詳細については、「Amazon EC2 ユーザーガイド」の「P を使用したプライベートキーの変換uTTYgen」を参照してください。
Pu を使用してプライマリノードに接続するにはTTY
-
インバウンドSSHトラフィックが許可されていることを確認します。手順については、「接続する前に: インバウンドトラフィックを承認する」を参照してください。
-
putty.exe
を開きます。Windows プログラムリストから PuTTY を起動することもできます。 -
必要に応じて、[Category] リストで、[Session] を選択します。
-
ホスト名 (または IP アドレス) の場合は、「」と入力します。
hadoop@
MasterPublicDNS
。 例:hadoop@
ec2-###-##-##-###.compute-1.amazonaws.com
. -
カテゴリ リストで、接続 > SSH、認証 を選択します。
-
[Private key file for authentication] では、[Browse] をクリックし、以前に生成した
.ppk
ファイルを選択します。 -
Open を選択し、Yes を選択して PuTTY セキュリティアラートを却下します。
重要
プライマリノードにログインするときに、ユーザー名の入力を求められた場合は、「
hadoop
」と入力します。 -
プライマリノードでの作業が完了したら、Pu を閉じることでSSH接続を閉じることができますTTY。
注記
SSH 接続がタイムアウトしないようにするには、Category リストで Connection を選択し、Enable TCP_keepalives オプションを選択します。Pu でアクティブなSSHセッションがある場合はTTY、Pu タイトルバーのコンテキスト (右クリック) を開き、「設定の変更TTY」を選択して設定を変更できます。
SSH を使用してプライマリノードに接続するときに問題が発生した場合は、「インスタンスへの接続のトラブルシューティング」を参照してください。
AWS CLIを使用してプライマリノードに接続する
Windows AWS CLI および Linux、Unix、Mac OS X で を使用して、プライマリノードとSSHの接続を作成できます。プラットフォームに関係なく、プライマリノードのパブリックDNS名と Amazon EC2キーペアのプライベートキーが必要です。Linux、Unix、または Mac OS X AWS CLI で を使用している場合は、 に示すように、プライベートキー (.pem
または .ppk
) ファイルにもアクセス許可を設定する必要がありますキーペアのプライベートキーのファイルアクセス許可を設定するには。
を使用してプライマリノードに接続するには AWS CLI
-
インバウンドSSHトラフィックが許可されていることを確認します。手順については、「接続する前に: インバウンドトラフィックを承認する」を参照してください。
-
クラスター識別子を取得するには、次のように入力します。
aws emr list-clusters
出力には、クラスター を含むクラスターが一覧表示されますIDs。接続しているクラスターのクラスター ID を書き留めます。
"Status": { "Timeline": { "ReadyDateTime": 1408040782.374, "CreationDateTime": 1408040501.213 }, "State": "WAITING", "StateChangeReason": { "Message": "Waiting after step completed" } }, "NormalizedInstanceHours": 4, "Id": "j-2AL4XXXXXX5T9", "Name": "AWS CLI cluster"
-
次のコマンドを入力して、プライマリノードSSHへの接続を開きます。次の例では、
j-2AL4XXXXXX5T9
をクラスター ID に置き換え、~/mykeypair.key
ファイル (Linux、Unix、Mac OS X の場合) または.pem
ファイル (Windows の場合) のフルパスと.ppk
ファイル名を指定します。例えば「C:\Users\<username>\.ssh\mykeypair.pem
」のようにです。aws emr ssh --cluster-id
j-2AL4XXXXXX5T9
--key-pair-file~/mykeypair.key
-
プライマリノードでの作業が完了したら、 AWS CLI ウィンドウを閉じます。
詳細については、「」の「Amazon EMR コマンド AWS CLI」を参照してください。SSH を使用してプライマリノードに接続する際に問題が発生した場合は、「インスタンスへの接続のトラブルシューティング」を参照してください。