Comments
Description
Transcript
NetCOBOL Hadoop連携機能使用手引書-差分
Hadoop 連携機能を Apache Hadoop と組み合わせる場合の注意事項 Hadoop 連携機能を Apache Hadoop と組み合わせて利用する場合、 「Hadoop 連携機能使用手引書」の以下の項を本資料の内容で読み替えてください。 まえがき --- Hadoop 連携機能使用手引書の記載内容--------------------------------------Hadoop連携機能は、Interstage Big Data Parallel Processing Serverと連携して動作します。 Hadoop 連携機能の利用にあたっては、Apache Hadoop および Interstage Big Data Parallel Processing Server の知識が必要です。 --- 読み替え内容 -----------------------------------------------------------Hadoop連携機能は、Apache Hadoopと連携して動作します。 Hadoop 連携機能の利用にあたっては、Apache Hadoop の知識が必要です。 1.1 MapReduce とは --- Hadoop 連携機能使用手引書の記載内容------------------------------------------*:DFS は Interstage Big Data Parallel Processing Server で利用可能な独自の分散ファイルシステムです。 --- 読み替え内容 -----------------------------------------------------------DFS は Hadoop 分散ファイルシステム(HDFS:Hadoop Distributed File System)に読み替えてください。 2.1 システム構成 --- Hadoop 連携機能使用手引書の記載内容--------------------------------------(2.1 項を以下の内容で読み替えてください) --- 読み替え内容 -----------------------------------------------------------Hadoop 連携機能は、Apache Hadoop と連携して動作します。Apache Hadoop では、以下のハードウェア構成でシステムを構築しま す。 ・マスタサーバ 大量のデータファイルをブロックに分けた上でファイル化(分散ファイルシステム)し、そのファイル名や保管場所を一元管理す るサーバです。また、Hadoop への実行要求を受け付け、スレーブサーバに対して並列分散処理を実行させることができます。 ・スレーブサーバ マスタサーバによってブロック化されたデータファイルを、複数のスレーブサーバが並列分散処理することによって、短時間に 分析処理を行うことができます。 ・HDFS ブロックに分けたデータファイルが格納される分散ファイルシステムです。スレーブサーバに搭載されたローカルディスクを使 用して、HDFS を構成します。 マスタサーバ、およびスレーブサーバには NetCOBOL の運用環境が必要です。 -1- 2.2 作業手順 --- Hadoop 連携機能使用手引書の記載内容--------------------------------------(2.2 項を以下の内容で読み替えてください) --- 読み替え内容 -----------------------------------------------------------以下に、Hadoop 連携機能を利用する際の作業手順を示します。 [1] Apache Hadoop の環境構築 Apache Hadoop の環境を構築します。マスタサーバ、スレーブサーバ、HDFS の導入が完了したら、手順[2]に進んでください。 [2] NetCOBOL 運用環境のインストール マスタサーバおよびスレーブサーバに NetCOBOL の運用パッケージをインストールします。 [3] NetCOBOL 運用の環境設定 MapReduce アプリケーションは、マスタサーバからスレーブサーバへのリモートコマンド実行(デフォルトでは SSH)によって 起動されます。MapReduce ジョブ実行ユーザーのログインシェルに、実行に必要な情報(環境変数や権限等)を設定してくだ さい。 [4] NetCOBOL 開発環境のインストール COBOL アプリケーションをビルドするサーバに NetCOBOL の開発・運用パッケージをインストールします。 [5] MapReduce アプリケーションの開発 MapReduce アプリケーションは、NetCOBOL の開発環境を使用して開発します。詳細は“2.3 MapReduce アプリケーションの開 発”を参照してください。 [6] 入力データを HDFS へ転送 Apache Hadoop のコマンドを使用して、入力データを HDFS に転送します。 [7] Hadoop ジョブの実行 Hadoop 実行シェルを利用して、MapReduce アプリケーションを実行します。詳細は“2.7 Hadoop ジョブの実行”を参照してく ださい。 2.3.3 レコード順可変長ファイルの利用 --- Hadoop 連携機能使用手引書の記載内容--------------------------------------blocksize Map タスクに分割するデータサイズ(ブロックサイズ)をバイト単位で指定します。Interstage Big Data Parallel Processing Server の以下のプロパティと同じ値を指定してください。 pdfs.fs.local.block.size maptasks Hadoop 実行時に Map タスクの数を指定している場合、本引数にも Map タスクの数を指定します。Map タスクの数は Interstage Big DataParallel Processing Server の以下のプロパティに指定されています。 mapred.map.tasks -2- --- 読み替え内容 -----------------------------------------------------------blocksize Map タスクに分割するデータサイズ(ブロックサイズ)をバイト単位で指定します。Apache Hadoop の以下のプロパティと同じ値 を指定してください。 dfs.block.size maptasks Hadoop 実行時に Map タスクの数を指定している場合、本引数にも Map タスクの数を指定します。Map タスクの数は Apache Hadoop の以下のプロパティに指定されています。 mapred.map.tasks 2.7 Hadoop ジョブの実行 --- Hadoop 連携機能使用手引書の記載内容------------------------------------------Hadoop 連携機能では、開発実行環境サーバから NetCOBOL が提供する Hadoop 実行シェルを利用して Hadoop ジョブを実行します。 --- 読み替え内容 ---------------------------------------------------------------Hadoop 連携機能では、マスタサーバから NetCOBOL が提供する Hadoop 実行シェルを利用して Hadoop ジョブを実行します。 2.7.1 実行に必要な資源の配付 --- Hadoop 連携機能使用手引書の記載内容------------------------------------------MapReduce 設定ファイル以外の資源は各スレーブサーバで必要な資源ですが、利用者が各スレーブサーバのローカルディスクにコ ピーする必要はありません。これらの資源は開発実行環境サーバと各スレーブサーバ間で共有マウントされている DFS ディレクト リに資源を格納します。 --- 読み替え内容 ---------------------------------------------------------------MapReduce 設定ファイル以外の資源は各スレーブサーバで必要な資源です。利用者が各スレーブサーバのローカルディスクにコ ピーする必要はありませんが、以下のいずれかの方法を用いて各スレーブサーバからアクセス可能にする必要があります。 2.7.1.1 共有ディレクトリを利用する マスタサーバと各スレーブサーバ間で共有マウント(NFS など)したディレクトリに資源を格納することで、実行に必要な資 源を各スレーブサーバから参照することができます。 資源が各サーバ間で共有されているディレクトリ上に保存されている場合、共有ディレクトリを利用します。 -3- 2.7.1.2 サイドデータを利用する サイドデータは、リードオンリーのデータを分散ファイルの機構を用いて各スレーブサーバに配付する Apache Hadoop の機能 です。実行コマンドにサイドデータを指定することで、MapReduce アプリケーションの実行時にカレントディレクトリから参 照可能になります。 資源がマスタサーバのローカルディスクに保存されている場合、サイドデータを利用します。 例:サイドデータとして Map アプリケーション「map1.exe」、Reduce アプリケーション「reduce1.exe」を利用する場合。 $ cobhadoop.sh -conf MapReduce 設定ファイル –files ./map1.exe,./reduce1.exe 2.10.3 MapReduce アプリケーションの指定 --- Hadoop 連携機能使用手引書の記載内容------------------------------------------設定名 (NAME 要素) 設定値 (VALUE 要素) 備考 Map アプリケーション extjoiner.map.streamprocessor.nn MapReduce アプリケーションのパスを Map/Reduce アプ Reduce アプリケーション extjoiner.reduce.streamprocessor DFS のマウントディレクトリの絶対パ リケーションの スで指定します いずれか片方を 設定内容 省略可 --- 読み替え内容 ----------------------------------------------------------------設定内容 Map アプリケーション Reduce アプリケーショ ン 設定名 (NAME 要素) 設定値 (VALUE 要素) 備考 extjoiner.map.streamprocessor.nn MapReduce アプリケーションの配付方 Map/Reduce アプ extjoiner.reduce.streamprocessor 法に共有ディレクトリを利用してい リケーションの る場合: いずれか片方を 共有ディレクトリのパスをフルパス 省略可 で記述します サイドデータを利用している場合: サイドデータとして指定したパスを 記述します -4- 2.10.6 環境変数の指定 --- Hadoop 連携機能使用手引書の記載内容------------------------------------------例: <name>extjoiner.reduce.environment</name> <value>LD_LIBRARY_PATH=${com.fujitsu.netcobol.ld_library_path}:/mnt/pdfs/user/lib</value> --- 読み替え内容 ---------------------------------------------------------------例: <name>extjoiner.reduce.environment</name> <value>LD_LIBRARY_PATH=${com.fujitsu.netcobol.ld_library_path}:/mnt/nfs/user/lib</value> -5-