The sample cdcPublisherKafka.cfg file contains configuration properties related to the Apache Kafka or MapR Streams target.
Property Descriptions
The following properties are in the sample cdcPublisherKafka.cfg configuration file:
Connector.queueType
Required. The type of target messaging queue to which PowerExchange CDC Publisher streams messages. Valid values are:
kafka
for an Apache Kafka target
maprkafka
for a MapR Streams target that uses the Kafka 0.9 API for producers
Connector.kafkaMaprStreamName
Required for MapR Streams targets. The path and name of the existing MapR stream that contains the topic or topics to which the CDC Publisher will publish messages.
In MapR, the stream name is combined with the topic name in the format
path_and_name_of_stream
:
topic_name
to identify a topic. The CDC Publisher combines the stream name that you specify in this property with the topic name that you specify in the Connector.kafkaTopic property.
Connector.kafkaTopic
Required. The Kafka topic or topics to which PowerExchange CDC Publisher sends messages that contain extracted change data. Enter a specific topic name if you want to send all messages to a single topic, or enter USE_TABLE_NAME to direct the target messaging system to use a separate topic for each source table. A generated source-specific Kafka topic uses the
mapname
_
tablename
portion of the full extraction map name as the topic name. The full extraction map name has the format
schema
.
mapname
_
tablename
. For MapR targets, the topic name includes the stream name in the format
stream_path_name
:
mapname
_
tablename
.
By default, the target messaging system automatically generate topics if the topics do not exist the first time messages are sent to it. You can disable the automatic generation of topics by setting the auto.create.topics.enable parameter to false in Kafka or by setting the autocreate parameter to false in MapR. If you do so, you must manually create the topics before CDC Publisher starts publishing messages.
No default value is provided.
Connector.kafkaProducerPropertiesFile
Required. The path and file name of the Kafka producer.properties file that PowerExchange CDC Publisher uses to communicate with Kafka. This file is typically in the
/
Kafka_installation
/config
directory.
No default value is provided.
The following additional properties can also be included in the cdcPublisherKafka.cfg file at your discretion:
Connector.kafkaCheckpointFileDirectory
A directory name for the instance subdirectory to which the CDC Publisher writes checkpoint files. The default value is "checkpoint." You can use this property to override the default directory name.
Connector.kafkaFileCheckpointFileName
Controls the name of the file to which the CDC Publisher writes checkpoints. This file is in the directory that is specified by the
Connector.kafkaCheckpointFileDirectory
property. Enter a specific file name or DEFAULT. If you enter DEFAULT, the CDC Publisher uses the default file name of "checkpoint." The default property value is DEFAULT.
Connector.kafkaCommitDmlTopic
Indicates whether to send all commit messages to a single topic that you specify or to send commit messages to the topic or topics that the Connector.kafkaTopic property identifies. Valid values are:
topic_name
. The name of the Kafka topic to which the CDC Publisher sends all commit messages. Use this option to send commit messages to a topic that is different from the topic that the Connector.kafkaTopic property identifies.
default
. Send commit messages to the topic or topics as identified in the Connector.kafkaTopic property. If the Connector.kafkaTopic property specifies USE_TABLE_NAME, the commit messages, along with the data messages, are sent to the source-specific topics that are generated for each source table that was by the transaction.
Default value is the
default
.
To use this property, you must enable the generation of commit messages in the
Formatter.generate.CommitDML
property in the cdcPublisherAvro.cfg file.
Connector.kafkaCommitDmlTopicFiltering
Indicates whether to filter commit messages before they are sent to the topic or topics that receive messages for DML operations in a transaction. Valid values are:
none
. Do not filter the commit messages to be sent to topics. Send all of the commit messages to each topic that receives messages for the DML operations in the transaction.
MAX_ONE_PER_TOPIC
. Send only one commit message to each topic that receives messages for the DML operations in the transaction.
Default is
MAX_ONE_PER_TOPIC
.
To use this property, you must enable the generation of commit messages in the
Formatter.generate.CommitDML
property in the cdcPublisherAvro.cfg file.
Connector.kafkaMessageKey
Identifies the key value to include in the messages that the CDC Publisher producer sends to a partitioned topic in a Kafka or MapR Streams target messaging system. You can specify a key value or use the source table name as the key value. Valid values are:
string
. Use the specified character string as the message key. All messages will be sent to Kafka using this message key.
USE_TABLE_NAME. Use the source table name as the message key.
No default value is provided.
Connector.kafkaProducerGuaranteeDelivery
Controls whether the CDC Publisher uses guaranteed delivery to write a checkpoint after each change operation is acknowledged as successfully received by the target messaging system. This delivery mode avoids message loss and duplication but slows apply processing. Set the property to false if you do not want to use guaranteed delivery. With the setting of false, if the target messaging system terminates while changes are in flight, the CDC Publisher might apply duplicate messages to the target after the change stream is restarted. The default value is true.