はじめに
Oracle GoldenGate DAA(Distributed Applications and Analytics) 23ai の Kafka ハンドラを試すための Kafka(Zookeeper および Broker)の環境準備を行います。ただ、ここでの目的はあくまで GG4DAA Kafkaハンドラ検証なので、Topicに対しメッセージを送受信できる事だけを目指しています。環境構築に加え、用語・表現等は専門分野ではないため、どうかご容赦下さい。
また、この記事は GoldenGate DAA 23ai Kafkaハンドラを試すを補完するものです。
環境について
今回の環境は以下の図のようになります。

Source Database : Oracle 23ai RU23.6
PDB : ORCL236PDB1: SCOTT EMP2KAFA表を作成し、ソースとする
Target Stream : Kafka 3.6.2
Kafka トピック : EMP2KAFKAを作成し、ターゲットとする
GoldenGate HUB : 同一サーバ上に以下を配置
- GoldenGate for Oracle 23ai (23.4.1.24.05) デプロイメントに Extract を実装
- GoldenGate for DAA(Kafka) 23ai (23.4.0.24.06) デプロイメントに Replicat を実装
※ Trail ファイルは両デプロイメントからアクセス可能なディレクトリに配置する
実装の手順および実行
[Target] Kafka 環境の準備と確認
今回はKafka Topicへのデータ連携を試すだけなので、ZookeeperとBroker を 1:1で構成した。
共通の設定は以下、
- Java 環境の確認
[oracle@ノード名 ~]$ java -version
openjdk version "1.8.0_345"
OpenJDK Runtime Environment (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (build 25.345-b01, mixed mode)
/home/oracle配下にkafka_2.12-3.6.2を解凍する (/home/oracle/kafka_2.12-3.6.2/)
Zookeeper : serverz
/home/oracle/kafka_2.12-3.6.2/config/zookeeper.properties を編集
dataDir=/home/oracle/zookeeper
clientPort=2181
maxClientCnxns=0
admin.enableServer=false
tickTime=2000
initLimit=20
syncLimit=5
server.1=serverb1:2888:3888
以下を実行
[oracle@serverz ~]$ mkdir /home/oracle/zookeeper
[oracle@serverz ~]$ echo "1" > /home/oracle/zookeeper/myid
Broker : serverb1
/home/oracle/kafka_2.12-3.6.2/config/server.properties を編集
変更したのは以下2か所
broker.id=1 ⇦ 変更
zookeeper.connect=serverz:2181 ⇦ zookeeper サーバ名
Zookeeper 起動
[oracle@serverz kafka_2.12-3.6.2]$ ./bin/zookeeper-server-start.sh config/zookeeper.properties
Broker 起動
[oracle@serverb1 kafka_2.12-3.6.2]$ ./bin/kafka-server-start.sh config/server.properties
以下は動作確認 (serverb1から) ※他のリモート・ノードからも同様な操作が可能である事も確認済み
- テストトピックの作成
[oracle@serverb1 kafka_2.12-3.6.2]$ bin/kafka-topics.sh --create --bootstrap-server serverb1:9092 --replication-factor 1 --partitions 1 --topic test
Created topic test.👈
- テストトピックのリスト表示
[oracle@serverb1 kafka_2.12-3.6.2]$ bin/kafka-topics.sh --list --bootstrap-server serverb1:9092
test👈
- テストトピックの詳細表示
[oracle@serverb1 kafka_2.12-3.6.2]$ bin/kafka-topics.sh --bootstrap-server ptvm47.jp.oracle.com:9092 --describe --topic test
👉Topic: test TopicId: zOXG1NWGRriclu2TItGzsg PartitionCount: 1 ReplicationFactor: 1 Configs:
Topic: test Partition: 0 Leader: 1 Replicas: 1 Isr: 1
- テストトピックへのデータ送信
[oracle@serverb1 bin]$ ./kafka-console-producer.sh --broker-list serverb1:9092 --topic test
>GG23ai
>GG23aiDAA
- テストトピックのデータ受信
[oracle@serverb1 bin]$ ./kafka-console-consumer.sh --bootstrap-server serverb1:9092 --topic test --from-beginning
GG23ai👈
GG23aiDAA👈
Zookeeper, Broker, トピックとデータの送受信が確認できたと判断した。
最後に
今回は前述のとおり、あくまでGG4DAA 23ai Kafka ハンドラの動作確認のための準備を補足記事として投稿したものです。ただ、Kafkaの様なストリーミング・プラットホームが重要な位置付けになりつつある事も感じており、環境構築に携われたのは自分にとっても重要なことであると思います。