今まで行なったHadoopの設定作業。
Hadoopを起動するたびにパスワードを聞かれるので、
うざいからその流れで秘密鍵を作成することになった。
例として以下の3台を用意。
192.168.0.5(マスター)
192.168.0.8(スレーブ)
192.168.0.10(スレーブ)
■目的
192.168.0.5から
192.168.0.5(自分自身)にも
192.168.0.8にも
192.168.0.10にも
接続できるように設定を行なう。
■現状の把握
試しにsshコマンドを打ってみる。
パスワードを聞かれる。
$ ssh hadoop@192.168.0.8 hadoop@192.168.0.8's password:
やっぱりパスワードを聞かれる。
$ ssh hadoop@192.168.0.10 hadoop@192.168.0.10's password:
当然パスワードを聞かれる。
$ ssh hadoop@localhost hadoop@localhost's password:
■秘密鍵の作成
192.168.0.5で鍵を作成する。
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
作成されているかチェックしてみる。
$ ls -al ~/.ssh/ 合計 20 drwx------ 2 hadoop hadoop 4096 2月 6 20:49 . drwx------ 6 hadoop hadoop 4096 2月 6 21:02 .. -rw------- 1 hadoop hadoop 602 2月 6 20:41 authorized_keys -rw------- 1 hadoop hadoop 668 2月 6 20:38 id_dsa -rw------- 1 hadoop hadoop 602 2月 6 20:41 id_dsa.pub -rw-r--r-- 1 hadoop hadoop 881 2月 6 20:51 known_hosts
この時パーミッション(権限)に注意すること。
■スレーブたちに鍵を配置
必要なのは、id_dsa.pub(秘密公開鍵)のみ。
これをスレーブサーバである192.168.0.8にも192.168.0.10にも設置する。
$ scp ~/.ssh/id_dsa.pub hadoop@192.168.0.X:/home/hadoop/authorized_keys hadoop@192.168.0.X's password:XXXXXXXX
スレーブサーバたちにログインし、authorized_keysを~/.ssh/以下に移動する。
$ mv /home/hadoop/authorized_keys /home/hadoop/.ssh/authorized_keys
前項で解説したパーミッション(権限)に注意すること。
■接続してみる
192.168.0.5からsshで192.168.0.8にも192.168.0.10にもログインしてみる。
$ ssh -i ~/.ssh/id_dsa 192.168.0.8 Last login: Wed Feb 6 20:47:46 2008 from 192.168.0.5 $ ssh -i ~/.ssh/id_dsa 192.168.0.10 Last login: Wed Feb 6 20:47:51 2008 from 192.168.0.5
完了。

