Oracle Big Data Spatial and Graphでは、サポートされているApache HadoopおよびNoSQL Database Big Dataプラットフォームに高度な空間およびグラフ分析機能を提供します。
空間機能では、場所に関する情報のデータ・エンリッチメント、距離と場所による分析に基づいた空間のフィルタ処理とびカテゴリ化、およびデジタル地図、センサー、衛星画像と航空画像の値のベクトルおよびラスター処理を行う空間データ処理、地図のビジュアル化のためのAPIをサポートしています。
プロパティ・グラフ機能では、グラフ操作、索引付け、問合せ、検索、およびインメモリー分析のためにApache Hadoop HBaseおよびOracle NoSQL Databaseをサポートしています。
マルチメディア分析機能では、OpenCVを使用する組込みの顔認識を含め、Apache Hadoopの動画や画像データを処理するフレームワークを提供します。
空間場所情報は、Big Dataでは共通の要素です。
ビジネスでは、異なるデータ・セットの関連付けとリンクのベースとして、空間データを使用できます。場所に関する情報は、別の人物、場所、オブジェクトに基づいて、あるいは特定のエリアでの存在に基づくエンティティの追跡とカテゴリ化にも使用できます。場所に関する情報によって、特定の地理に進む顧客に場所固有のジオフェンシングと呼ばれる情報提供を促進します。ジオリファレンスされた画像データや知覚データの分析は、ビジネスに様々なメリットをもたらします。
Oracle Big Data Spatial and Graphの空間機能では、次の各種サービスでこのようなユースケースをサポートしています。
ベクトル・サービス:
ドキュメントとデータを、デフォルトの管理階層用に空間オブジェクト定義の都市や州、またはベクトルおよびラスター処理を行う空間データ処理緯度/経度情報と関連付ける機能
GeoJSONファイル、Shapefiles、GML、およびWKTを含むテキストベースの2次元および3次元の地理空間形式のサポート、またはGeospatial Data Abstraction Library (GDAL)を使用したOracle SDO_Geometry, ST_Geometry、その他のサポート対象の形式の一般的な地理空間エンコーディングの使用
データを様々な形式と座標系で調べ、カテゴリ化し、表示するためのHTML5ベースのマップ・クライアントAPIとサンプル・コンソール
位相的操作および距離演算: Anyinteract、Inside、Contains、Within Distance、Nearest Neighborなど
データ簡易取得用の空間索引付け
ラスター・サービス:
GDALでサポートされている多数のイメージ・ファイル形式、およびHDFSに格納されているイメージ・ファイルのサポート
使用できる一連のイメージを表示するサンプル・コンソール
ラスター操作、包括、サブセット、ジオリファレンス、モザイク、および形式変換
グラフは頂点、エッジ、および頂点とエッジのプロパティとしてリンクされたデータのネットワークを管理します。グラフは一般的に、ソーシャル・ネットワーキング、サイバー・セキュリティ、ユーティリティおよび通信、ライフ・サイエンスと臨床データ、ナレッジ・ネットワークで検出される関係のモデル化、格納、および分析に使用されます。
標準的なグラフ分析には、グラフのトラバース、推奨、コミュニティおよびインフルエンサの検出、パターン一致などがあります。グラフは、通信、ライフ・サイエンスおよびヘルスケア、セキュリティ、メディアおよび出版などの業種に活用できます。
Oracle Big Data Spatial and Graphのプロパティ・グラフ機能では、次の機能でこのようなユースケースをサポートしています。
Apache HBaseおよびOracle NoSQL Databaseでのスケーラブルなグラフ・データベース
Tinkerpop Blueprintsに基づく開発者ベースのAPI、およびJavaグラフAPI
Apache LuceneおよびSolrCloudとの相互作用によるテキスト検索および問合せ
GroovyおよびPythonのスクリプト言語サポート
並列のインメモリーグラフ分析エンジン
ランキング、中心性、レコメンダ、コミュニティ検出、パス検索など、簡単でスケーラブルな一連のソーシャル・ネットワーク分析機能
Oracle定義のフラット・ファイル形式でのプロパティ・グラフ・データの並列バルク・ロードおよびエクスポート
JavaおよびTinkerpop Gremlin APIを実行するためのGroovyベース・コンソールによる管理機能
プロパティ・グラフのインストールについての推奨事項を次に示します。
表1-1 プロパティ・グラフのサイズ変更の推奨事項
グラフ・サイズ | 推奨の専用物理メモリー | 推奨のCPUプロセッサ数 |
---|---|---|
10から100Mエッジ |
14GB RAMまで |
2から4プロセッサ、計算が集中するワークロードの場合は16プロセッサまで |
100Mから1Bエッジ |
14GBから100GB RAM |
4から12プロセッサ、計算が集中するワークロードの場合は16から32プロセッサまで |
1Bエッジ以上 |
100GB RAM以上 |
12から32プロセッサ、特に計算が集中するワークロードの場合はそれ以上 |
Oracle Big Data Spatial and Graphのマルチメディア分析機能は、Apache Hadoopでビデオおよびイメージ・データを処理するためのフレームワークを提供します。このフレームワークにより、ビデオおよびイメージ・データの分散処理が可能になります。
主なユースケースとしては、ビデオとイメージでの顔認識の実行があります。
Oracle Big Data Applianceソフトウェアをインストールおよび構成するためのMammothコマンドライン・ユーティリティを使用して、空間、プロパティ・グラフおよびマルチメディアの機能を含むOracle Big Data Spatial and Graphオプションをインストールすることもできます。
このオプションは、初期ソフトウェア・インストール時、またはbdacli
ユーティリティの使用後に有効にできます。
Oracle NoSQL Databaseをグラフ・リポジトリとして使用するには、Oracle NoSQL Databaseクラスタが必要です。
Apache HBaseをグラフ・リポジトリとして使用するには、Apache Hadoopクラスタが必要です。
関連項目:
ソフトウェア構成手順の詳細は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。
Image Processing Frameworkのインストールおよび構成は、使用しているディストリビューションに応じて異なります。
Oracle Big Data Applianceクラスタのディストリビューションは、設定があらかじめインストールされていますが、これを有効にするには、「Oracle Big Data ApplianceディストリビューションのためのImage Processing Frameworkのインストール」の手順の一部を実行する必要があります。
製品のディストリビューションについては、「その他のディストリビューション(Oracle Big Data Appliance以外)のImage Processing Frameworkのインストール」の手順に従ってください。
両方のディストリビューションについて:
「Cartographic Projections Libraryの取得およびコンパイル」で説明されているように、PROJライブラリをダウンロードおよびコンパイルする必要があります。
インストール後は、これを検証します(「Image Processing Frameworkのインストール後の検証」を参照)。
クラスタのセキュリティが有効である場合、ジョブを実行するユーザーがprincs
リストに含まれており、有効なKerberosチケットを所有していることを確認してください。
Image Processing Frameworkをインストールする前に、Cartographic Projections Libraryをダウンロードし、複数の関連操作を実行する必要があります。
PROJ.4ソース・コードおよびデータ・シフト・ファイルをダウンロードします。
$ wget http://download.osgeo.org/proj/proj-4.9.1.tar.gz $ wget http://download.osgeo.org/proj/proj-datumgrid-1.5.tar.gz
ソース・コードを解凍し、データ・シフト・ファイルをnad
サブディレクトリに抽出します。
$ tar xzf proj-4.9.1.tar.gz $ cd proj-4.9.1/nad $ tar xzf ../../proj-datumgrid-1.5.tar.gz $ cd ..
PROJ.4を構成、作成およびインストールします。
$ ./configure $ make $ sudo make install $ cd ..
これで、libproj.so
が/usr/local/lib/libproj.so
で使用可能になりました。
libproj.so
ファイルをspatialインストール・ディレクトリにコピーします。
cp /usr/local/lib/libproj.so /opt/oracle/oracle-spatial-graph/spatial/raster/gdal/lib/libproj.so
libproj.so
ライブラリの読取りおよび実行権限をすべてのユーザーに与えます
sudo chmod 755 /opt/oracle/oracle-spatial-graph/spatial/raster/gdal/lib/libproj.so
Oracle Big Data Applianceディストリビューションには、事前にインストールされた構成が用意されていますが、イメージ処理フレームワークがインストールされていることを確認する必要があります。
「Cartographic Projections Libraryの取得およびコンパイル」で説明されているアクションが実行されていることにより、libproj.so
(PROJ.4
)がすべてのユーザーからアクセス可能であり、正しく設定されていることを確認してください。
OBDAの場合、次のディレクトリが存在することを確認してください。
SHARED_DIR (クラスタ内のすべてのノードの共有ディレクトリ): /opt/shareddir
ALL_ACCESS_DIR (hadoopグループへの書込みアクセス権を持つクラスタ内のすべてのノードの共有ディレクトリ): /opt/shareddir/spatial
Big Data Appliance以外の環境のBig Data Spatial and Graphでは、このセクションの次の手順を実行します。
HADOOP_LIB_PATH
が/usr/lib/hadoop
にあることを確認します。ない場合はパスを検索し、HADOOP_LIB_PATH
として使用します。
NFSをインストールします。
1つ以上のフォルダを作成し、このドキュメントでSHARED_FOLDERとして参照し、リソース・マネージャ・ノードではNFSからすべてのノード・マネージャ・ノードにアクセス可能にします。
ジョブ実行に関連するすべてのユーザー、およびyarnユーザーにこのSHARED_FOLDERへの書込みアクセス権を付与します
oracle-spatial-graph-<version>.x86_64.rpm
をOracle E-Delivery Webサイトからダウンロードします。
rpmコマンドを使用してoracle-spatial-graph-<version>.x86_64.rpm
を実行します。
rpmの実行後は、/opt/oracle/oracle-spatial-graph/spatial/raster
で作成したディレクトリ構造にフォルダconsole
、examples
、jlib
、gdal
およびtests
があることを確認します。また、index.html
はコンテンツを表し、javadoc.zip
にはAPIのJavadocがあります。
次の検証操作を実行するために複数のテスト・スクリプトが用意されています。
イメージ・ロード機能のテスト
イメージ処理機能のテスト
地図代数演算およびDEMでの傾斜計算の処理クラスのテスト
モザイク・プロセスのない単一のラスターのイメージ処理の検証(マッピング・フェーズ内の陰影起伏を計算するユーザー指定の機能が含まれます)。
マスク操作を使用した2つのラスターの処理のテスト
これらのスクリプトを実行して、イメージ処理フレームワークが正常にインストールされたことを検証します。
クラスタのセキュリティが有効である場合、現在のユーザーがprincs
リストに含まれており、有効なKerberosチケットを所有していることを確認してください。
ユーザーがALL_ACCESS_FOLDERへの書込みアクセス権を持ち、このディレクトリの所有者グループに属していることを確認してください。Big Data Applianceのリソース・マネージャ・ノードでジョブを実行することをお薦めします。ジョブを別のノードで実行する場合、デフォルトはhadoopグループになります。
GDALが適切に機能するように、$LD_LIBRARY_PATHを使用してライブラリを使用可能にする必要があります。ジョブを実行する前に、共有ライブラリ・パスがシェル・ウィンドウに適切に設定されていることを確認してください。次に例を示します。
export LD_LIBRARY_PATH=$ALLACCESSDIR/gdal/native
このスクリプトでは、6つのテスト・ラスターのセットをHDFSのohiftest
フォルダにロードしますが、そのうち3つのラスターはバイト・データ型と3つの帯域、1つのラスター(DEM)はfloat32データ型と1つの帯域、および2つのラスターはint32データ型と1つの帯域です。OBDA環境にはパラメータは不要であり、OBDA以外の環境では、ALL_ACCESS_FOLDER値のあるパラメータが1つ必要です。
内部的には、ジョブによってロード対象のラスターごとに分割が作成されます。分割サイズはブロック・サイズ構成によって決まります。たとえば、ブロック・サイズが64MB以下と構成されると、4つのマッパーが実行されます。その結果、ラスターがHDFSでロードされ、対応するサムネイルが作成され、視覚化されます。サムネイルを視覚化するには外部イメージ・エディタが必要であり、これらのサムネイルの出力パスは、ジョブの完了時にユーザーに表示されます。
テスト・スクリプトは次の場所にあります。
/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runimageloader.sh
ODBA環境の場合は、次を入力します。
./runimageloader.sh
ODBA以外の環境の場合は、次を入力します。
./runimageloader.sh ALL_ACCESS_FOLDER
実行が完了すると、ファイルのある場所を示すHDFS内のパス(このパスはALL_ACCESS_FOLDERの定義によって異なります)、およびHDFSに作成されたイメージとサムネイルのリストを示すメッセージGENERATED OHIF FILES ARE LOCATED IN HDFS UNDER
が表示されます。出力には次が含まれます。
“THUMBNAILS CREATED ARE: ---------------------------------------------------------------------- total 13532 drwxr-xr-x 2 yarn yarn 4096 Sep 9 13:54 . drwxr-xr-x 3 yarn yarn 4096 Aug 27 11:29 .. -rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 hawaii.tif.ohif.tif -rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 inputimageint32.tif.ohif.tif -rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 inputimageint32_1.tif.ohif.tif -rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 kahoolawe.tif.ohif.tif -rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 maui.tif.ohif.tif -rw-r--r-- 1 yarn yarn 4182040 Sep 9 13:54 NapaDEM.tif.ohif.tif YOU MAY VISUALIZE THUMBNAILS OF THE UPLOADED IMAGES FOR REVIEW FROM THE FOLLOWING PATH:
インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。
NOT ALL THE IMAGES WERE UPLOADED CORRECTLY, CHECK FOR HADOOP LOGS
マッパーとリデューサの実行に必要なメモリーの量は、構成されているHDFSのブロック・サイズによって異なります。デフォルトでは、1GBのメモリーがJavaに割り当てられていますが、この値および他のプロパティは、このテスト・ディレクトリに含まれるimagejob.prop
ファイル内で変更できます。
このスクリプトでは、ハワイ諸島の3つのソース・ラスターとその3つをすべて含む座標のいくつかを設定して、プロセッサ・ジョブを実行します。このジョブでは、これらの座標に基づいてモザイクを作成し、その結果のラスターには、3つのラスターが1つにまとめられます。
runimageloader.sh
が前提条件として実行されるため、ソース・ラスターはHDFSにあります。バイト・データ型の3つの帯域ラスターがあります。
OBDA環境にはパラメータは不要であり、OBDA以外の環境では、ALL_ACCESS_FOLDER値のある"-s"パラメータが1つ必要です。
また、出力をHDFSに格納する場合は、"-o"パラメータを使用して、モザイク出力を格納するHDFSフォルダを設定します。
内部的に、ジョブは構成入力のxmlで指定されている座標を使用して四角形をフィルタ処理し、必要な四角形のみをマッパー上で処理するためフェーズが減少し、そのすべてを最終的なモザイク・ラスターにまとめられます。
テスト・スクリプトは次の場所にあります。
/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runimageprocessor.sh
ODBA環境の場合は、次を入力します。
./runimageprocessor.sh
ODBA以外の環境の場合は、次を入力します。
./runimageprocessor.sh -s ALL_ACCESS_FOLDER
実行が成功したら、EXPECTED OUTPUT FILE IS: ALL_ACCESS_FOLDER/processtest/hawaiimosaic.tif
というメッセージが、出力モザイク・ファイルへのパスとともに表示されます。出力には次が含まれます。
EXPECTED OUTPUT FILE IS: ALL_ACCESS_FOLDER/processtest/hawaiimosaic.tif total 9452 drwxrwxrwx 2 hdfs hdfs 4096 Sep 10 09:12 . drwxrwxrwx 9 zherena dba 4096 Sep 9 13:50 .. -rwxrwxrwx 1 yarn yarn 4741101 Sep 10 09:12 hawaiimosaic.tif MOSAIC IMAGE GENERATED ---------------------------------------------------------------------- YOU MAY VISUALIZE THE MOSAIC OUTPUT IMAGE FOR REVIEW IN THE FOLLOWING PATH: ALL_ACCESS_FOLDER/processtest/hawaiimosaic.tif”
インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。
MOSAIC WAS NOT SUCCESSFULLY CREATED, CHECK HADOOP LOGS TO REVIEW THE PROBLEM
HDFSでの出力記憶域をテストするには、次のコマンドを使用します
ODBA環境の場合は、次を入力します。
./runimageprocessor.sh -o hdfstest
ODBA以外の環境の場合は、次を入力します。
./runimageprocessor.sh -s ALL_ACCESS_FOLDER -o hdfstest
このスクリプトは、単一ラスターのプロセッサ・ジョブを実行します。この場合は、ナパ・バレー北部のDEMソース・ラスターです。このジョブの目的は、マッピング・フェーズ用として構成されているユーザー処理クラスを使用して完全な入力を処理することです。このクラスは、DEMの陰影起伏を計算し、これが出力ファイルに設定されます。ここではモザイク操作は実行されません。
ソース・ラスターがHDFS内に存在するように、runimageloader.sh
を前提条件として実行する必要があります。これは、float 32データ型のDEMラスター1つの帯域です。
OBDA環境にはパラメータは不要であり、OBDA以外の環境では、ALL_ACCESS_FOLDER値のある"-s"パラメータが1つ必要です。
テスト・スクリプトは次の場所にあります。
/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runsingleimageprocessor.sh
ODBA環境の場合は、次を入力します。
./runsingleimageprocessor.sh
ODBA以外の環境の場合は、次を入力します。
./runsingleimageprocessor.sh -s ALL_ACCESS_FOLDER
実行が成功したら、EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/NapaSlope.tif
というメッセージが、出力DEMファイルへのパスとともに表示されます。出力には次が含まれます。
EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/NapaDEM.tif total 4808 drwxrwxrwx 2 hdfs hdfs 4096 Sep 10 09:42 . drwxrwxrwx 9 zherena dba 4096 Sep 9 13:50 .. -rwxrwxrwx 1 yarn yarn 4901232 Sep 10 09:42 NapaDEM.tif IMAGE GENERATED ---------------------------------------------------------------------- YOU MAY VISUALIZE THE OUTPUT IMAGE FOR REVIEW IN THE FOLLOWING PATH: ALL_ACCESS_FOLDER/processtest/NapaDEM.tif”
インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。
IMAGE WAS NOT SUCCESSFULLY CREATED, CHECK HADOOP LOGS TO REVIEW THE PROBLEM
このスクリプトはナパ・バレー北部のDEMソース・ラスター、およびそれを取り囲む座標を使用してプロセッサ・ジョブを実行します。このジョブでは、これらの座標に基づいてモザイクを作成し、モザイク構成XMLで処理クラスを設定して、その傾斜も計算します。
runimageloader.sh
が前提条件として実行されるため、ソース・ラスターはHDFSにあります。これは、float 32データ型のDEMラスター1つの帯域です。
OBDA環境にはパラメータは不要であり、OBDA以外の環境では、ALL_ACCESS_FOLDER値のある"-s"パラメータが1つ必要です。
テスト・スクリプトは次の場所にあります。
/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runimageprocessordem.sh
ODBA環境の場合は、次を入力します。
./runimageprocessordem.sh
ODBA以外の環境の場合は、次を入力します。
./runimageprocessordem.sh -s ALL_ACCESS_FOLDER
実行が成功したら、EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/NapaSlope.tif
というメッセージが、傾斜出力ファイルへのパスとともに表示されます。出力には次が含まれます。
EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/NapaSlope.tif total 4808 drwxrwxrwx 2 hdfs hdfs 4096 Sep 10 09:42 . drwxrwxrwx 9 zherena dba 4096 Sep 9 13:50 .. -rwxrwxrwx 1 yarn yarn 4901232 Sep 10 09:42 NapaSlope.tif MOSAIC IMAGE GENERATED ---------------------------------------------------------------------- YOU MAY VISUALIZE THE MOSAIC OUTPUT IMAGE FOR REVIEW IN THE FOLLOWING PATH: ALL_ACCESS_FOLDER/processtest/NapaSlope.tif”
インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。
MOSAIC WAS NOT SUCCESSFULLY CREATED, CHECK HADOOP LOGS TO REVIEW THE PROBLEM
また、“if”代数関数もテストして、このラスターで2500を超える値のあるピクセルすべてを、コマンドラインで“–c”フラグを使用して設定した値で置き換えます。次に例を示します。
ODBA環境の場合は、次を入力します。
./runimageprocessordem.sh –c 8000
ODBA以外の環境の場合は、次を入力します。
./runimageprocessordem.sh -s ALL_ACCESS_FOLDER –c 8000
出力ファイルを視覚化すると、単純な傾斜計算と変更後の出力に注目し、ピクセル値が2500を超えているエリアがより鮮明になることを確認できます。
このスクリプトは、米国カリフォルニア州ナパ・バレー北部の非常に小さい地域を網羅する2つのラスターのプロセッサ・ジョブを実行します。
これらのラスターは同じMBR、ピクセル・サイズ、SRIDおよびデータ型を持ち、これらはすべて、複雑な複数のラスター操作処理に必要です。このジョブの目的は、2番目のラスターの値がマスク・リストに含まれるかどうかを検証するためにこのラスター内のすべてのピクセルを確認するmask操作を使用して両方のラスターを処理することです。そうである場合、出力ラスターはこの出力セルの最初のラスターのピクセル値を持ちます。そうでない場合、ゼロ(0)値が設定されます。ここではモザイク操作は実行されません。
runimageloader.sh
が前提条件として実行されるため、ソース・ラスターはHDFSにあります。これらは、int32データ型のラスターの1つの帯域です。
OBDA環境にはパラメータは不要です。OBDA以外の環境では、ALL_ACCESS_FOLDER値のある-s
パラメータが1つ必要です。
テスト・スクリプトは次の場所にあります。
/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runimageprocessormultiple.sh
ODBA環境の場合は、次を入力します。
./runimageprocessormultiple.sh
ODBA以外の環境の場合は、次を入力します。
./runimageprocessormultiple.sh -s ALL_ACCESS_FOLDER
実行が成功したら、EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/MaskInt32Rasters.tif
というメッセージが、マスク出力ファイルへのパスとともに表示されます。出力には次が含まれます。
EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/MaskInt32Rasters.tif total 4808 drwxrwxrwx 2 hdfs hdfs 4096 Sep 10 09:42 . drwxrwxrwx 9 zherena dba 4096 Sep 9 13:50 .. -rwxrwxrwx 1 yarn yarn 4901232 Sep 10 09:42 MaskInt32Rasters.tif IMAGE GENERATED ---------------------------------------------------------------------- YOU MAY VISUALIZE THE OUTPUT IMAGE FOR REVIEW IN THE FOLLOWING PATH: ALL_ACCESS_FOLDER/processtest/MaskInt32Rasters.tif”
インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。
IMAGE WAS NOT SUCCESSFULLY CREATED, CHECK HADOOP LOGS TO REVIEW THE PROBLEM
Oracle Big Data Spatial Image Serverから、イメージのロードおよび処理のためのWebインタフェースを提供するイメージ処理フレームワークにアクセスできます。
Spatial Image Serverのインストールおよび構成は、使用しているディストリビューションに応じて異なります。
インストールを実行した後、これを検証してください。
用意されているスクリプトを使用して自動インストールを実行するには、次の手順を実行します。
次のスクリプトを実行します。
sudo /opt/oracle/oracle-spatial-graph/spatial/configure-server/install-bdsg-consoles.sh
インストール後にアクティブ・ノードが変更された場合、Webコンソールで構成を更新してください。
サーバーを起動します。
cd /opt/oracle/oracle-spatial-graph/spatial/web-server sudo ./start-server.sh
エラーが発生した場合、/opt/oracle/oracle-spatial-graph/spatial/configure-server
にあるREADMEファイルを参照してください。
前述の手順により、サーバー全体が構成されます。これ以上の構成が必要ない場合、「Image Serverコンソールのインストール後の検証例」に直接進むことができます。
追加情報が必要であったり他のアクションを実行したりする必要がある場合は、次のトピックを参照してください。
/opt/oracle/oracle-spatial-graph/spatial/raster/jlib/asm-3.1.jar
の下にあるasm-3.1.jar
ファイルをWEB_SDERVER_HOME/webapps/imageserver/WEB-INF/lib
にコピーします。
注意:
jersey-core*
jarは、duplicated at WEB_SERVER_HOME/webapps/imageserver/WEB-INF/lib
で複製されます。次のステップの場合のように、必ず古いものを削除し、フォルダ内にjersey-core-1.17.1.jar
のみを残してください。
次のコマンドを入力します。
ls -lat jersey-core*
リストされているライブラリを削除しますが、jersey-core-1.17.1.jar
は削除しないでください。
同じディレクトリ(WEB_SERVER_HOME/webapps/imageserver/WEB-INF/lib
)内で、xercesImpl
およびservlet
jarファイルを削除します。
rm xercesImpl* rm servlet*
Webサーバーを起動します
ポートを変更する必要がある場合、ポートを指定します。たとえば、Jettyサーバーの場合は、jetty.http.port=8081
を設定します。
次のような警告はすべて無視します。
java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class oracle.xml.jaxp.JXDocumentBuilderFactory
http://thehost:8045/imageserver
のアドレスをブラウザのアドレス・バーに入力して、Webコンソールを開きます。
「Hadoop Configuration Parameters」セクションの「Administrator」タブ、次に「Configuration」タブから、クラスタ構成に応じてこの3つのプロパティを変更します。
fs.defaultFS
: ユーザーのクラスタで有効なnamenode
をhdfs://<namenode>:8020
の形式で入力します(この情報については、管理者に確認してください)。
yarn.resourcemanager.scheduler.address
: ユーザーのクラスタの有効なリソース・マネージャ。<shcedulername>:8030
。これはスケジューラ・アドレスです。
yarn.resourcemanager.address
: <resourcename>:8032
形式の有効なリソース・マネージャ・アドレス
注意:
構成の他の部分については、デフォルト値のままにします。これらはOracle Big Data Applianceクラスタ環境にあらかじめロードされています。
「Apply Changes」をクリックして、変更を保存します。
ヒント:
不足している構成情報については、コンソールの「Hadoop Loader」タブで確認できます。
その他システム(Big Data Appliance以外)のImage Server Webをインストールおよび構成するには、次のトピックを参照してください。
その他システムでImage Server Webをインストールする前に、「その他のディストリビューション(Oracle Big Data Appliance以外)のImage Processing Frameworkのインストール」に指定されているとおり、Image Processing Frameworkをインストールする必要があります。
その他システムでImage Server Webをインストールするステップは、BDAでインストールする場合のステップと同じです。
「手動インストールを実行するための前提条件」に指定されている手順を実行します。
「Oracle Big Data ApplianceでのImage Server Webの依存性のインストール」に示す手順を実行します。
「その他システムの環境の構成」に示す手順を実行します。
「Big Data Applianceの環境の構成」で説明されているように、環境を構成します
次に、次の手順を続けます。「Global Init Parameters」セクションの「Configuration」タブから、クラスタ構成に応じてこの3つのプロパティを変更します。
shared.gdal.data
: gdal共有データ・フォルダを指定します。「その他のディストリビューション(Oracle Big Data Appliance以外)のImage Processing Frameworkのインストール」の手順に従ってください。
gdal.lib
: .so
ライブラリの場所。
start
: イメージの参照を開始する共有フォルダを指定します。このフォルダはクラスタとNFSマウント・ポイント(SHARED_FOLDER)の間で共有する必要があります。
saveimages
: start
(SHARED-FOLDER)に完全な書込みアクセス権のあるsaveimages
という子フォルダを作成します。たとえば、start=/home
の場合はsaveimages=/home/saveimages
です。
nfs.mountpoint
: クラスタにSHARED_FOLDERにアクセスするマウント・ポイントが必要な場合は、マウント・ポイントを指定します。たとえば、/net/home
です。それ以外の場合は、空のままにしてください。
「Hadoop Configuration Parameters」セクションの「Configuration」タブから、次のプロパティを更新します。
yarn.application.classpath
: 必要なjarと依存関係を検索するHadoopのクラスパス。これは通常、/usr/lib/hadoop
にあります。次に例を示します。
/etc/hadoop/conf/,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*
注意:
構成の他の部分については、デフォルト値のままにします。
「Apply Changes」をクリックして、変更を保存します。
ヒント:
不足している構成情報については、コンソールの「Hadoop Loader」タブで確認できます。
この例では、次を実行します。
ローカル・サーバーからHDFS Hadoopクラスタにイメージをロードします。
モザイク・イメージ・ファイルおよび複数のイメージのあるカタログを作成するジョブを実行します。
モザイク・イメージを表示します。
注意:
ラスター・ファイルが見つからない場合は、インストール中に作成される共有ディレクトリ・フォルダにそれらをコピーできます。「Admin」タブでディレクトリの場所を確認し、ラスター・ファイルをその場所にコピーします。
Image Serverには、すぐに使用できるWebサービスが2つ用意されており、1つはHDFSローダー用、もう1つがHDFSモザイク・プロセッサ用です。
これらのサーバーは、Javaアプリケーションから呼び出すことができます。これらは現在、GET操作に対してのみサポートされています。これらを呼び出すための形式は、次のとおりです。
ローダー: http://host:port/imageserver/rest/hdfsloader?path=string&overlap=string
path
: 処理対象のイメージ。単一のファイルのパスである場合、または1つ以上のフォルダ全体のパスである場合もあります。複数のフォルダの場合、カンマを使用してフォルダ名を区切ります。
overlap
(オプション): 大文字間の重複(デフォルト = 10)。
モザイク: http://host:port/imageserver/rest/mosaic?mosaic=string&config=string
mosaic
: 処理対象のイメージが含まれるXMLモザイク・ファイル。Image Server Webアプリケーションを使用している場合、XMLファイルが自動的に生成されます。モザイクXMLファイルの例は、次のとおりです。
<?xml version='1.0'?> <catalog type='HDFS'> <image> <source>Hadoop File System</source> <type>HDFS</type> <raster> /hawaii.tif.ohif</raster> <bands datatype='1' config='1,2,3'>3</bands> </image> <image> <source>Hadoop File System</source> <type>HDFS</type> <raster>/ /kahoolawe.tif.ohif</raster> <bands datatype='1' config='1,2,3'>3</bands> </image> </catalog>
config
: 構成ファイル。Image Server Webアプリケーションを使用してモザイクが初めて処理されるときに作成されます。構成ファイルの例は、次のとおりです
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <mosaic> <output> <SRID>26904</SRID> <directory type = "FS">/net/system123/scratch/user3/installers</directory> <tempFsFolder>/net/system123/scratch/user3/installers</tempFsFolder> <filename>test</filename> <format>GTIFF</format> <width>1800</width> <height>1406</height> <algorithm order = "0">1</algorithm> <bands layers = "3"/> <nodata>#000000</nodata> <pixelType>1</pixelType> </output> <crop> <transform>294444.1905688362,114.06068372059636,0,2517696.9179752027,0,-114.06068372059636</transform> </crop> <process/> <operations> <localnot/> </operations> </mosaic>
Javaの例: ローダーの使用
public class RestTest public static void main(String args[]) { try { // Loader http://localhost:7101/imageserver/rest/hdfsloader?path=string&overlap=string // Mosaic http://localhost:7101/imageserver/rest/mosaic?mosaic=string&config=string String path = "/net/system123/scratch/user3/installers/hawaii/hawaii.tif"; URL url = new URL( "http://system123.example.com:7101/imageserver/rest/hdfsloader?path=" + path + "&overlap=2"); // overlap its optional HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); //conn.setRequestProperty("Accept", "application/json"); if (conn.getResponseCode() != 200) { throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode()); } BufferedReader br = new BufferedReader(new InputStreamReader( (conn.getInputStream()))); String output; System.out.println("Output from Server .... \n"); while ((output = br.readLine()) != null) { System.out.println(output); } conn.disconnect(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Javaの例: モザイク・プロセッサの使用
public class NetClientPost { public static void main(String[] args) { try { String mosaic = "<?xml version='1.0'?>\n" + "<catalog type='HDFS'>\n" + " <image>\n" + " <source>Hadoop File System</source>\n" + " <type>HDFS</type>\n" + " <raster>/user/hdfs/newdata/net/system123/scratch/user3/installers/hawaii/hawaii.tif.ohif</raster>\n" + " <url>http://system123.example.com:7101/imageserver/temp/862b5871973372aab7b62094c575884ae13c3a27_thumb.jpg</url>\n" + " <bands datatype='1' config='1,2,3'>3</bands>\n" + " </image>\n" + "</catalog>"; String config = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n" + "<mosaic>\n" + "<output>\n" + "<SRID>26904</SRID>\n" + "<directory type=\"FS\">/net/system123/scratch/user3/installers</directory>\n" + "<tempFsFolder>/net/system123/scratch/user3/installers</tempFsFolder>\n" + "<filename>test</filename>\n" + "<format>GTIFF</format>\n" + "<width>1800</width>\n" + "<height>1269</height>\n" + "<algorithm order=\"0\">1</algorithm>\n" + "<bands layers=\"3\"/>\n" + "<nodata>#000000</nodata>\n" + "<pixelType>1</pixelType>\n" + "</output>\n" + "<crop>\n" + "<transform>739481.1311601736,130.5820811245199,0,2254053.5858749463,0,-130.5820811245199</transform>\n" + "</crop>\n" + "<process/>\n" + "</mosaic>"; System.out.println ("asdf"); URL url2 = new URL("http://192.168.1.67:8080" ); HttpURLConnection conn2 = (HttpURLConnection) url2.openConnection(); conn2.setRequestMethod("GET"); if (conn2.getResponseCode() != 200 ) { throw new RuntimeException("Failed : HTTP error code : " + conn2.getResponseCode()); } /*URL url = new URL("http://system123.example.com:7101/imageserver/rest/mosaic?" +("mosaic=" + URLEncoder.encode(mosaic, "UTF-8") + "&config=" + URLEncoder.encode(config, "UTF-8"))); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); if (conn.getResponseCode() != 200 ) { throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode()); } BufferedReader br = new BufferedReader(new InputStreamReader( (conn.getInputStream()))); String output;System.out.println("Output from Server .... \n"); while ((output = br.readLine()) != null) System.out.println(output); conn.disconnect();*/ } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Oracle Big Data SpatialViewer Webアプリケーション(SpatialViewer)をインストールするには、このトピックの手順を実行します。
次の前提がSpatialViewerのインストールと構成に適用されます。
ここで説明するAPIおよびジョブを、Cloudera CDH5.7、Hortonworks HDP 2.4、または同様のHadoop環境で実行します。
ユーザーの環境に、Java 8以降のバージョンを用意しておきます。
Big Data Spatial Image Processing Frameworkのインストールおよび構成で説明されているように、イメージ処理フレームワークがインストールされています
。次のように、Big Data ApplianceにSpatialViewerをインストールできます
次のスクリプトを実行します。
sudo /opt/oracle/oracle-spatial-graph/spatial/configure-server/install-bdsg-consoles.sh
次のコマンドの1つを使用してWebアプリケーションを起動します(2番目のコマンドを使用すると、ログを表示できます)。
sudo service bdsg start sudo /opt/oracle/oracle-spatial-graph/spatial/web-server/start-server.sh
エラーが発生した場合、/opt/oracle/oracle-spatial-graph/spatial/configure-server
にあるREADMEファイルを参照してください。
http://<oracle_big_data_spatial_vector_console>:8045/spatialviewer/
を開きます
インストール後にアクティブ・ノードが変更された場合、またはKerberosが有効である場合、「Oracle Big Data ApplianceでのSpatialViewerの構成」で説明されているように、構成ファイルを更新します。
オプションで、サンプル・データ(他のトピックの例で使用されているもの)をHDFSにアップロードします。
sudo -u hdfs hadoop fs -mkdir /user/oracle/bdsg sudo -u hdfs hadoop fs -put /opt/oracle/oracle-spatial-graph/spatial/vector/examples/data/tweets.json /user/oracle/bdsg/
「Oracle Big Data ApplianceでのSpatialViewerのインストール」で説明されている手動構成の手順に従います。
次に、「その他システム(Big Data Appliance以外)のSpatialViewerの構成」で説明されているように、構成を変更します
Oracle Big Data ApplianceでSpatialViewerを構成するには、次の手順に従います。
コンソールhttp://<oracle_big_data_spatial_vector_console>:8045/spatialviewer/?root=swadmin
を開きます
必要に応じて、一般構成を変更します。
ローカル作業ディレクトリ: SpatialViewerローカル作業ディレクトリ。絶対パス。デフォルトのディレクトリ/usr/oracle/spatialviewer
は、SpatialViewerのインストール時に作成されます。
HDFS作業ディレクトリ: SpatialViewer HDFS作業ディレクトリ。デフォルトのディレクトリ/user/oracle/spatialviewer
は、SpatialViewerのインストール時に作成されます。
Hadoop構成ファイル: Hadoop構成ディレクトリ。デフォルトでは、/etc/hadoop/conf
です
eLocation URL: eLocationの背景地図を取得するために使用されるURL。デフォルトでは、http://elocation.oracle.com
です
Kerberosキータブ: Kerberosが有効である場合、キータブ・ファイルが含まれるファイルへのフル・パスを入力します。
ログの表示: 必要に応じて、「Spatial Jobs」画面でジョブの表示を無効にします。ログがデフォルトの形式でない場合、この表示を無効にします。デフォルトの形式は、Date LogLevel LoggerName: LogMessage
です
日付は、デフォルトの形式(yyyy-MM-dd HH:mm:ss,SSS
)である必要があります。たとえば、2012-11-02 14:34:02,781
です。
ログが表示されず、「Display logs」フィールドが「Yes」
に設定されている場合、yarn-site.xml
内のyarn.log-aggregation-enable
がtrue
に設定されていることを確認します。また、Hadoopジョブ構成パラメータyarn.nodemanager.remote-app-log-dir
およびyarn.nodemanager.remote-app-log-dir-suffix
がyarn-site.xml
の場合と同じ値に設定されていることも確認してください。
必要に応じて、ラスター構成を変更します。
共有ディレクトリ: 別のノードとの間の読取りおよび書込みに使用するディレクトリ。共有され、最大の権限があるか、少なくともHadoopユーザー・グループに存在する必要があります。
ネットワーク・ファイル・システム・マウント・ポイント: 共有フォルダを表示でき、個別にアクセスできるNFSマウント・ポイント。非分散環境を使用している場合、空白にできます。
共有GDALデータ・ディレクトリ: GDAL共有データ・フォルダ。共有ディレクトリである必要があります。(その他のディストリビューション(Oracle Big Data Appliance以外)のImage Processing Frameworkのインストールの手順を参照してください。)
必要に応じて、Hadoop構成を変更します。
必要に応じて、Spark構成を変更します。
Kerberosが有効である場合、次のパラメータを追加することが必要な場合があります。
spark.authenticate
: true
に設定する必要があります
spark.authenticate.enableSaslEncryption
: クラスタ構成に応じて値をtrue
またはfalse
に設定します。
spark.yarn.keytab
: プリンシパルのキータブが含まれるファイルへのフル・パス
spark.yarn.principal
: Kerberosにログインするために使用されるプリンシパル。通常のKerberos V5プリンシパルの形式は、primary/instance@REALM
です。
Linuxシステムでは、セキュアなコンテナ・エグゼキュータをLinuxContainerExecutor
に変更する必要がある場合があります。そのためには、次のパラメータを設定します。
yarn.nodemanager.container-executor.class
をorg.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor
に設定します。
yarn.nodemanager.linux-container-executor.group
をhadoop
に設定します。
ユーザーがキータブ・ファイルを読み取ることができることを確認します。
クラスタのすべてのノード上の同じ場所にキータブ・ファイルをコピーします。
「Oracle Big Data ApplianceでのSpatialViewerの構成」で説明した手順を実行します。
また、Hadoopプロパティyarn.application.classpath
値/opt/cloudera/parcels/CDH/lib/
を実際のライブラリ・パス(デフォルトでは/usr/lib/
)に置き換えることにより、Hadoop構成を変更します。
プロパティ・グラフはOracle Big Data Appliance上、またはコモディティ・ハードウェア上で使用できます。
関連項目:
HBaseでのプロパティ・グラフ・サポートのインストールには、次の前提条件が適用されます。
Linuxオペレーティング・システム
Cloudera's Distribution including Apache Hadoop (CDH)
ソフトウェアのダウンロードについては、次を参照してください: http://www.cloudera.com/content/cloudera/en/products-and-services/cdh.html
Apache HBase
Java Development Kit (JDK) (Java 8以上)
これらの製品のサポート・バージョンおよび相互依存性の詳細は、My Oracle Supportノートを参照してください。
Oracle Big Data Spatial and Graphプロパティ・グラフ機能のインストール・ディレクトリの構造は次のとおりです。
$ tree -dFL 2 /opt/oracle/oracle-spatial-graph/property_graph/
/opt/oracle/oracle-spatial-graph/property_graph/
|-- dal
| |-- groovy
| |-- opg-solr-config
| `-- webapp
|-- data
|-- doc
| |-- dal
| `-- pgx
|-- examples
| |-- dal
| |-- pgx
| `-- pyopg
|-- lib
|-- librdf
`-- pgx
|-- bin
|-- conf
|-- groovy
|-- scripts
|-- webapp
`-- yarn
プロパティ・グラフ・サポートがHadoopのないクライアントにインストールされている場合に、Hadoop Distributed File System (HDFS)に格納されているグラフ・データをインメモリー・アナリストに読み込んでその結果をHDFSに書き込み、インメモリー・アナリストの開始、監視および停止にHadoop NextGen MapReduce (YARN)スケジューリングを使用するには、このインストール・タスクを実行します。
インメモリー分析およびHDFSを使用してJavaアプリケーションを実行する場合は、$HADOOP_HOME/etc/hadoop
がクラスパス上にあり、構成がHadoopクライアント・ライブラリで選択されるようにします。ただし、インメモリー・アナリスト・シェルを使用する場合は、HADOOP_HOME
が設定されていれば自動的に$HADOOP_HOME/etc/hadoop
がクラスパスに追加されるため、これは必要ありません。
その他のCloudera Hadoopライブラリ(JARファイル)をクラスパスに配置する必要はありません。YARNライブラリは、インメモリー・アナリストをYARNサービスとして起動する場合のみ必要です。これは、必要なJARファイルすべてがローカル・インストールからクラスパスに自動的に追加されるyarn
コマンドを実行して行います。
これで、HDFSからデータをロードするか、インメモリー・アナリストをYARNサービスとして開始できるようになります。Hadoopの詳細は、CDH 5.x.xのドキュメントを参照してください。
マルチメディア分析機能を使用するには、ビデオ分析フレームワークをインストールし、構成する必要があります。
Oracle Big Data Spatial and GraphおよびOracle Big Data Applianceのライセンスが供与されている場合は、マルチメディア分析のビデオ分析フレームワークもインストールされ、構成されています。ただし、/opt/oracle/oracle-spatial-graph/multimedia
を指し示すように$MMA_HOME
を設定する必要があります。
そうでない場合は、次のようにCloudera CDH 5または同様のHadoop環境でフレームワークをインストールできます。
クラスタの各ノード上で、次のコマンドを使用してフレームワークをインストールします。
rpm2cpio oracle-spatial-graph-<version>.x86_64.rpm | cpio -idmv
dcli
ユーティリティを使用できます(クラスタ全体でのdcliユーティリティを使用したコマンドの実行を参照してください)。
/opt/oracle/oracle-spatial-graph/multimedia
を指し示すように$MMA_HOME
を設定します。
次のライブラリの場所を特定します。
Hadoop jarファイル($HADOOP_HOME/jars
で使用可能)
ビデオ処理ライブラリ(「トランスコーディング・ソフトウェア(オプション)」を参照)
OpenCVライブラリ(製品で使用可能)
$MMA_HOME/opencv_3.1.0/lib
のすべてのlib*
ファイルを、ネイティブのHadoopライブラリの場所にコピーします。
Oracle Big Data Applianceでは、この場所は/opt/cloudera/parcels/CDH/lib/hadoop/lib/native
です。
必要であれば、ビデオ・データをトランスコーディングするために必要なビデオ処理ソフトウェアをインストールします(「トランスコーディング・ソフトウェア(オプション)」を参照)。
ビデオ・データのトランスコーディングには、次のオプションを使用できます。
JCodec
FFmpeg
サード・パーティ・トランスコーディング・ソフトウェア
製品に同梱されているJCodecでマルチメディア分析を使用するには、顔認識のHadoopジョブの実行中に、oracle.ord.hadoop.ordframegrabber
プロパティをoracle.ord.hadoop.decoder.OrdJCodecFrameGrabber
の値に設定します
FFmpegでマルチメディア分析を使用するには:
https://www.ffmpeg.org/からFFmpegをダウンロードします。
Hadoopクラスタ上でFFmpegをインストールします
oracle.ord.hadoop.ordframegrabber
プロパティをoracle.ord.hadoop.decoder.OrdFFMPEGFrameGrabber
の値に設定します
カスタム・ビデオ・デコーディング・ソフトウェアでマルチメディア分析を使用するには、抽象クラスoracle.ord.hadoop.decoder.OrdFrameGrabber
を実装します。詳細は、Javadocを参照してください