ページの先頭行へ戻る
Interstage Big DataParallel Processing ServerV1.0.0 ユーザーズガイド
Interstage

D.6.2 Hadoop 利用ユーザが実施する設定

キャッシュローカル機能で使用する SSH 認証キー設定

DFS では、キャッシュローカル MapReduce 機能を利用した MapReduce ジョブを実行する場合、Hadoop クラスタの各ノードからファイルキャッシュ情報を取得します。
その際、MapReduce ジョブ実行ユーザによる、ジョブ起動ノードからリモートノードへのリモートコマンド実行(デフォルトでは SSH を使用)により情報を取得するため、あらかじめリモートコマンド実行を可能にしておく必要があります。

キャッシュローカル機能を使用するかどうかは、pdfs.fs.local.cache.location プロパティで設定します。デフォルトは "true"(有効)です。

なお、pdfs.fs.local.cache.location プロパティを "false" (無効)に設定した場合は、以下の作業は不要です。

bdppuser1 というユーザで、DFS のマウントディレクトリが /mnt/pdfs の場合

  1. 全ノードで共用しているため、DFS をマウントしているいずれかのノードで、以下を bdppuser1 で実行します。

    $ cd ~
    $ ssh-keygen -t rsa -N "" -f id_hadoop
    $ echo -n "command=\"/opt/FJSVpdfs/sbin/pdfscachelocal.sh\",no-pty,no-port-forwarding,no-X11-forwarding " > authorized_keys
    $ cat id_hadoop.pub >> authorized_keys
    $ hadoop fs -mkdir .pdfs
    $ hadoop fs -chmod 700 .pdfs
    $ hadoop fs -moveFromLocal id_hadoop id_hadoop.pub authorized_keys .pdfs/
    $ hadoop fs -chmod 600 .pdfs/id_hadoop .pdfs/authorized_keys
    $ hadoop fs -chmod 644 .pdfs/id_hadoop.pub

    上記では、authorized_keys ファイルに以下のようなエントリーが設定されます。

    $ hadoop fs -cat .pdfs/authorized_keys
    "command=/opt/pdfs/sbin/pdfscachelocal.sh",no-pty,no-port-forwarding,no-X11-forwarding ssh-rsa 公開キー bdppuser1@自ノード名
  2. 全 Slave ノードおよび開発実行環境サーバでユーザ bdppuser1 のホームディレクトリの .ssh/authorized_keys に反映します。

    以下を bdppuser1 で実行します。

    $ xargs -ti ssh {} "umask 0077; mkdir -p .ssh; cat /mnt/pdfs/hadoop/user/bdppuser1/.pdfs/authorized_keys >> .ssh/authorized_keys" < /etc/hadoop/slaves
    $ ssh develop "umask 0077; mkdir -p .ssh; cat /mnt/pdfs/hadoop/user/bdppuser1/.pdfs/authorized_keys >> .ssh/authorized_keys"
  3. 以下のようにリモート実行することで確認できます。

    $ echo /dummy | ssh -o IdentityFile=/mnt/pdfs/hadoop/user/bdppuser1/.pdfs/id_hadoop -o StrictHostKeyChecking=no -o BatchMode=no 他ノード名 /opt/FJSVpdfs/sbin/pdfscachelocal.sh
    2 (*)

    (*) 通常は "2" と出力されます。

MapReduceジョブユーザ認証キーの設定

キャッシュローカル機能で使用する SSH 認証キー設定」を実施した場合は、ここでの作業は不要です。

DFS 独自の MapReduce ジョブユーザ認証において認証キー確認を行うため、あらかじめ認証キーファイルを作成しておく必要があります。ジョブユーザ認証を使用するかどうかは、pdfs-site.xml ファイルの pdfs.security.authorization プロパティで設定します。デフォルトは "false"(無効)です。

なお、pdfs.security.authorization を "false"(無効)に設定した場合は、以下の作業は不要です。
pdfs.security.authorization プロパティについては、「pdfs-site.xmlファイル」を参照してください。

bdppuser1 というユーザで、DFS のマウントディレクトリが /mnt/pdfs の場合

全ノードで共用しているため、DFS をマウントしているいずれかのノードで、以下を bdppuser1 で実行します。

$ cd ~
$ cat > id_hadoop
任意のキーワード文字列
ctrl-d $ hadoop fs -mkdir .pdfs $ hadoop fs -chmod 700 .pdfs $ hadoop fs -moveFromLocal id_hadoop .pdfs/ $ hadoop fs -chmod 600 .pdfs/id_hadoop