2

2 ノード クラスターで、Amazon インスタンスに Hadoop をセットアップしようとしています。各インスタンスにはパブリック dns があり、私はそれを参照して使用しています。したがって、両方のマシンの /etc/hosts ファイルに、次のような行を追加します。

{public dns of 1st instance} node1
{public dns of 2st instance} node2

また、次のようにするだけで、各インスタンスから他のインスタンスに ssh することもできます。

ssh {public dns of the other instance}

私が持っている最初のインスタンスファイルの hadoop/conf/slaves には:

localhost
node2

スクリプト bin/start-dfs.sh を開始すると、マスターで namenode、datanode、および secondary namenode を開始できますが、次のように表示されます。

node2: ssh: Could not resolve hostname node2: Name or service not known

私が試してみると、同じものが印刷されました:

ssh node2

問題は、node2 を 2 番目のインスタンスのパブリック DNS に関連付けるように指示する方法だと思います。を追加するだけでは十分ではありませんか

{public dns of 2st instance} node2

/etc/hosts ファイルへの行? インスタンスを再起動する必要がありますか?

4

1 に答える 1

2

/etc/hostsIPアドレスに関連付けられた実際のDNSがない場合、ローカルDNSのように機能します。

{public dns of 1st instance} node1{public dns of 1st instance} をスレーブ ファイルとマスター ファイルで直接使用できる場合、マッピングは本当に必要ですか?

さらに、パブリック IP アドレスを使用する代わりに、Amazon インスタンスのプライベート IP アドレスを使用することをお勧めします。各インスタンスのターミナルでaifconfigを実行し、プライベート IP アドレスがある場合はそれを決定できます。基本的には 10.xxx/172.xxx/192.xxx で始まるのでしょうか? おそらく、代わりに各 amazon インスタンスの /etc/hosts にそれらをマップできます。

したがって、各マシンの /etc/hosts は次のようになります -

マシン-1:

{IP_address_1st_instance} node1
{IP_address_2st_instance} node2

マシン 2:

{IP_address_1st_instance} node1
{IP_address_2st_instance} node2

また、これは、Amazon インスタンス (マシン) をマッピングする予定がある場合に、それらが相互に解決できるようにするためです。

于 2013-08-08T19:23:15.177 に答える