1

私の質問は非常に単純です。50 ノードの Hadoop クラスターをセットアップしたいのですが、50 ノード間でパスフレーズレスをセットアップするにはどうすればよいですか。手動操作が非常に難しい場合!前もって感謝します!

4

2 に答える 2

1

ノード間で SSH をセットアップする必要はありません。マスターとスレーブ間で単方向に設定するだけで十分です。(したがって、マスターのみがパスワードなしでスレーブにアクセスする必要があります)。

通常のアプローチは、スレーブ ファイルをループしてスレーブにログインし、マスターの公開鍵をスレーブの承認された鍵にコピーする bash スクリプトを作成することです。

Praveen Sripati のブログで簡単なワークスルーを見ることができます。

ただし、私は管理者ではないため、よりスマートな方法があるかどうかはわかりません。たぶん、これはSuperuser.comに適しています

于 2012-12-25T10:50:10.893 に答える
0

多分これは助けることができます:

シームレスに動作させるには、クラスタ内のマシンから Hadoop ユーザーがパスワードなしでログインできるように SSH を設定する必要があります。これを実現する最も簡単な方法は、公開鍵と秘密鍵のペアを生成し、クラスター全体で共有される NFS の場所に配置することです。

最初に、hadoop ユーザー アカウントで次のように入力して、RSA キー ペアを生成します。

% ssh-keygen -t rsa -f ~/.ssh/id_rsa

パスワードなしのログインが必要な場合でも、パスフレーズのないキーは適切な方法とは見なされません (付録 A で説明されているように、ローカルの疑似分散クラスターを実行するときに空のパスフレーズを使用してもかまいません)。ssh-agent を使用して、接続ごとにパスワードを入力する必要がないようにします。

秘密鍵は -f オプションで指定されたファイル ~/.ssh/id_rsa にあり、公開鍵は同じ名前に .pub を追加したファイル ~/.ssh/id_rsa.pub に格納されています。

次に、接続したいクラスター内のすべてのマシンの ~/.ssh/authorized_keys ファイルに公開鍵があることを確認する必要があります。前述のように、hadoop ユーザーのホーム ディレクトリが NFS ファイルシステムである場合は、次のように入力して、クラスター全体でキーを共有できます。

% cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ホーム ディレクトリが NFS を使用して共有されていない場合は、公開鍵を他の方法で共有する必要があります。

sshagent が実行されていることを確認してマスター マシンからワーカー マシンに SSH で接続できることをテストし、3 次に ssh-add を実行してパスフレーズを保存します。パスフレーズを再度入力しなくても、ワーカーに ssh できるはずです。

出典: Tom White、Hadoop: The Definitive Guide、301 ページ

ここでグーグルで見つけました: https://www.google.rs/url?sa=t&rct=j&q=&esrc=s&source=web&cd=22&cad=rja&ved=0CDYQFjABOBQ&url=http%3A%2F%2Fbigdata.googlecode.com%2Ffiles%2FOreilly .Hadoop.The.Definitive.Guide.3rd.Edition.Jan.2012.pdf&ei=sGzZULb6OfOM0wWhlYDYAw&usg=AFQjCNGvNUZcQBvM_Ucqf_K0JGAlCRxr3A&sig2=Qpa_KZyP1mXXm9yQv0ynRw&bvm=bv.135553412k

于 2012-12-25T17:05:45.020 に答える