ストアがセキュアな場合のCountTableRows
のビルド
この項では、ビルドに含める必要があるすべてのJavaクラスをコンパイルする方法について説明します。付録「セキュア・ストアのデプロイ」でデプロイしたようなセキュア・ストアに対してCountTableRows
を実行する場合、CountTableRows
プログラムを含めること以外にも、セキュリティ資格証明ファイルと、CountTableRows
の実行時に様々なセキュリティ関連機能を実行するために使用することになるKVSecurityCreation
プログラムおよびKVSecurityUtil
クラスもビルドに含める必要があります。
セキュア・バージョンのCountTableRows
を実行する場合に必要になるKVSecurityCreation
クラスとKVSecurityUtil
クラスをコンパイルするには、コマンドラインに次のように入力します。
cd /opt/oracle/nosql/apps/kv
javac -classpath \
/opt/oracle/kv-ee/lib/kvstore.jar:examples \
examples/hadoop/table/KVSecurityCreation.java
javac -classpath \
/opt/oracle/kv-ee/lib/kvstore.jar:examples \
examples/hadoop/table/KVSecurityUtil.java
KVSecurityCreation
とKVSecurityUtil
のコンパイルが完了すると、前の項と同様の方法でCountTableRows
自体をコンパイルできます。つまり、次のようにします。
javac -classpath \
/opt/cloudera/parcels/CDH/jars/commons-logging-1.1.3.jar: \
/opt/cloudera/parcels/CDH/jars/
hadoop-common-3.0.0-cdh6.3.0.jar: \
/opt/cloudera/parcels/CDH/jars/ \
hadoop-mapreduce-client-core-3.0.0-cdh6.3.0.jar: \
/opt/cloudera/parcels/CDH/jars/ \
hadoop-annotations-3.0.0-cdh6.3.0.jar: \
/opt/cloudera/parcels/CDH/jars/ \
hadoop-yarn-api-3.0.0-cdh6.3.0.jar: \
/opt/oracle/kv-ee/lib/kvclient.jar:examples \
examples/hadoop/table/CountTableRows.java
このコマンドラインによって、次のクラス・ファイルが生成されます。
/opt/oracle/nosql/apps/kv/examples/hadoop/table/
CountTableRows.class
CountTableRows$Map.class
CountTableRows$Reduce.class
KVSecurityUtil.class
KVSecurityCreation.class
非セキュア・ケースとは異なり、CountTableRows
をセキュア環境にデプロイするために必要なビルド・アーティファクトには、生成されたクラス・ファイルを格納している単一のJARファイル以外のものも含まれます。セキュア・ケースでは、ストアと通信するアプリケーションのクライアント側にデプロイするアーティファクトのパッケージを作成することと、それとは別のアプリケーションのサーバー側にデプロイするアーティファクトのパッケージを作成する必要もあります。
特定のアプリケーションのデプロイ時に、この「考慮事項の分離」を達成するには様々な方法がありますが、このドキュメントの付録「セキュア・クライアントのビルドおよびパッケージ化のためのモデル」には、セキュア・ストアと対話するアプリケーションのアーティファクトをパッケージ化およびデプロイするために使用できる特定のモデルを示しています。この点を考慮して、このドキュメントのセキュア・ストアに対するCountTableRows
の実行に関連する各項では、アプリケーションが、付録「セキュア・クライアントのビルドおよびパッケージ化のためのモデル」に示した手順に従ってビルドおよびパッケージ化されていることを前提としています。