Hadoopジョブの実行には以下の資源が必要です。
MapReduce設定ファイル
MapアプリケーションおよびReduceアプリケーション
COBOLアプリケーションが使用するファイル
COBOL.CBRやサブルーチン呼び出しに必要なライブラリ等
MapReduce設定ファイル以外の資源は各スレーブサーバで必要な資源ですが、利用者が各スレーブサーバのローカルディスクにコピーする必要はありません。これらの資源は開発実行環境サーバと各スレーブサーバ間で共有マウントされているDFSディレクトリに資源を格納します。
MapReduce設定ファイル以外の資源は各スレーブサーバで必要な資源です。利用者が各スレーブサーバのローカルディスクにコピーする必要はありませんが、以下のいずれかの方法を用いて各スレーブサーバからアクセス可能にする必要があります。
共有ディレクトリを利用する
マスタサーバと各スレーブサーバ間で共有マウント(NFSなど)したディレクトリに資源を格納することで、実行に必要な資源を各スレーブサーバから参照することができます。
資源が各サーバ間で共有されているディレクトリ上に保存されている場合、共有ディレクトリを利用します。
サイドデータを利用する
サイドデータは、リードオンリーのデータを分散ファイルの機構を用いて各スレーブサーバに配付するApache Hadoopの機能です。実行コマンドにサイドデータを指定することで、MapReduceアプリケーションの実行時にカレントディレクトリから参照可能になります。
資源がマスタサーバのローカルディスクに保存されている場合、サイドデータを利用します。
例:サイドデータとしてMapアプリケーション「map1.exe」、Reduceアプリケーション「reduce1.exe」を利用する場合。
$ cobhadoop.sh -conf MapReduce設定ファイル -files ./map1.exe,./reduce1.exe