31 Oracle Streaming Serviceへの接続

Oracle Streaming Service (OSS)は、Kafkaクライアントを使用したOSSとのメッセージの送受信をサポートします。したがって、Oracle GoldenGate for Big Dataを使用して、チェンジ・データ・キャプチャ操作メッセージをOSSに公開できます。KafkaハンドラまたはKafka Connectハンドラのいずれかを使用できます。

Kafka Connectハンドラでは、JSON Kafka Connectコンバータの使用のみがサポートされます。Avroコンバータでスキーマ・レジストリへの接続が必要なため、Kafka Connect Avroコンバータはサポートされていません。

ノート:

Oracle Streaming Serviceには現在、Kafka Connect Avroコンバータが接続できるスキーマ・レジストリがありません。KafkaハンドラまたはKafka Connectハンドラがメッセージを公開するストリームは、Oracle Cloud Infrastructure (OCI)で事前作成する必要があります。Kafkaハンドラを使用して、まだ存在しないOSS内のストリームにメッセージを公開すると、実行時例外が発生します。
  • OCIでストリームを作成するには、OCIコンソールで「Analytics」を選択し、「Streaming」をクリックして、「Create Stream」をクリックします。ストリームは、デフォルトでDefaultPool内に作成されます。

    図31-1 ストリーム作成のイメージの例

    ストリームは、デフォルトで「DefaultPool」内に作成されます。
  • Kafkaプロデューサ・クライアントでは、OSSストリームに接続するために特定のKafkaプロデューサ構成プロパティが必要です。この接続情報を取得するには、OSSパネルのプール名をクリックします。DefaultPoolを使用する場合は、OSSパネルの「DefaultPool」をクリックします。

    図31-2 「DefaultPool」が表示されたOSSパネルの例

    OSSパネルの「DefaultPool」

    図31-3 DefaultPoolプロパティの例

    ストリーム・プールのKafka接続設定
  • Kafkaプロデューサでは、OSSに接続するためにAUTH-TOKEN (パスワード)も必要です。AUTH-TOKENを取得するには、「User Details」ページに移動し、AUTH-TOKENを生成します。AUTH-TOKENは作成時にのみ表示可能で、その後は表示されません。AUTH-TOKENが安全な場所に格納されていることを確認します。

    図31-4 Auth-Tokens

    AUTH_TOKENの作成

これらの構成が完了したら、メッセージをOSSに公開できます。

たとえば、kafka.prmファイルの場合は次のようになります。

replicat kafka
TARGETDB LIBFILE libggjava.so SET property=dirprm/kafka.properties
map *.*, target qatarget.*;
例: kafka.properties file
gg.log=log4j 
gg.log.level=debug
gg.report.time=30sec
gg.handlerlist=kafkahandler
gg.handler.kafkahandler.type=kafka
gg.handler.kafkahandler.mode=op
gg.handler.kafkahandler.format=json
gg.handler.kafkahandler.kafkaProducerConfigFile=oci_kafka.properties
# The following dictates how we'll map the workload to the target OSS streams
gg.handler.kafkahandler.topicMappingTemplate=OGGBD-191002
gg.handler.kafkahandler.keyMappingTemplate=${tableName}
gg.classpath=/home/opc/dependencyDownloader/dependencies/kafka_2.2.0/*
jvm.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar:dirprm

Kafkaプロデューサ・プロパティ(oci_kafka.properties)の例

bootstrap.servers=cell-1.streaming.us-phoenix-1.oci.oraclecloud.com:9092
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
key.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="paasdevgg/oracleidentitycloudservice/user.name@oracle.com/ocid1.streampool.oc1.phx.amaaaaaa3p5c3vqa4hfyl7uv465pay4audmoajughhxlsgj7afc2an5u3xaq" password="YOUR-AUTH-TOKEN";

メッセージを表示するには、OSSの「Load Messages」をクリックします。

図31-5 メッセージの表示

OSSでメッセージを表示するには、「Load Messages」コマンド・ボタンを押します