Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -148,13 +148,17 @@ configuration contains the following data:
- `sink`: All advanced properties for writing to RDI (TLS, memory threshold, etc).
See the Debezium [Redis stream properties](https://debezium.io/documentation/reference/stable/operations/debezium-server.html#_redis_stream)
page for the full set of available properties.
- `source`: All advanced connector properties (for example, RAC nodes). See the
- `source`: All advanced connector properties (for example, RAC nodes).
See [Database-specific connection properties](#db-connect-props) below and also
see the
Debezium [Connectors](https://debezium.io/documentation/reference/stable/connectors/)
page for the full set of available properties.
pages for more information about the properties available for each database type.
- `quarkus`: All advanced properties for Debezium server, such as the log level. See the
Quarkus [Configuration options](https://quarkus.io/guides/all-config)
docs for the full set of available properties.



### Targets

Use this section to provide the connection details for the target Redis
Expand All @@ -165,6 +169,97 @@ with a unique name that you are free to choose (here, we have used
`host` and `port` of the server. You can also supply connection credentials
and TLS/mTLS secrets here if you use them.

### Database-specific connection properties {#db-connect-props}

Use the following properties in the [`sources.advanced.source`](#sources) section
of `config.yaml` for more control over RDI's connection to your database.

#### MySQL/MariaDB

See the
[Debezium SSL mode properties](https://debezium.io/documentation/reference/stable/connectors/mysql.html#mysql-property-database-ssl-mode)
for a full list of properties specific to MySQL/MariaDB.

- [`database.ssl.keystore`](https://debezium.io/documentation/reference/stable/connectors/mysql.html#mysql-property-database-ssl-keystore):
(Optional) The location of the key store file. Use this for two-way authentication between
your client and the MySQL/MariaDB Server.
- [`database.ssl.keystore.password`](https://debezium.io/documentation/reference/stable/connectors/mysql.html#mysql-property-database-ssl-keystore-password):
(Optional) The password for the key store file. You only need this if you have also configured
`database.ssl.keystore`.
- [`database.ssl.truststore`](https://debezium.io/documentation/reference/stable/connectors/mysql.html#mysql-property-database-ssl-truststore):
The location of the trust store file to use for server certificate verification.
- [`database.ssl.truststore.password`](https://debezium.io/documentation/reference/stable/connectors/mysql.html#mysql-property-database-ssl-truststore-password):
The password for the trust store file. This is required both to check the integrity of the truststore
and to unlock it.

#### PostgreSQL

See the
[Debezium connector properties](https://debezium.io/documentation/reference/stable/connectors/postgresql.html#postgresql-connector-properties)
for a full list of properties specific to PostgreSQL.

- [`database.sslcert`](https://debezium.io/documentation/reference/stable/connectors/postgresql.html#postgresql-property-database-sslcert):
The file path for the client's SSL certificate for the client. See
[Database Connection Control Functions](https://www.postgresql.org/docs/current/libpq-connect.html)
in the PostgreSQL docs for more information.
- [`database.sslkey`](https://debezium.io/documentation/reference/stable/connectors/postgresql.html#postgresql-property-database-sslkey):
The file path for the client's SSL private key. See
[Database Connection Control Functions](https://www.postgresql.org/docs/current/libpq-connect.html)
in the PostgreSQL docs for more information.
- [`database.sslpassword`](https://debezium.io/documentation/reference/stable/connectors/postgresql.html#postgresql-property-database-sslpassword):
The password for the client's private key file as specified `database.sslkey`. See
[Database Connection Control Functions](https://www.postgresql.org/docs/current/libpq-connect.html)
in the PostgreSQL docs for more information.
- [`database.sslrootcert`](https://debezium.io/documentation/reference/stable/connectors/postgresql.html#postgresql-property-database-sslrootcert):
The file path for the root certificate(s) used to validate the server. See
[Database Connection Control Functions](https://www.postgresql.org/docs/current/libpq-connect.html)
in the PostgreSQL docs for more information.

#### Oracle

See the Kafka
[configuration docs](https://kafka.apache.org/documentation.html#configuration)
for a full list of properties relevant to Oracle configuration.
Where a property has a `<role>` element, you can set the role to be
either `producer` or `consumer`, as appropriate.

- [`schema.history.internal.<role>.security.protocol`](https://kafka.apache.org/documentation.html#consumerconfigs_security.protocol):
The protocol for communicating with brokers. This can take the values
`PLAINTEXT`, `SSL`, `SASL_PLAINTEXT`, and `SASL_SSL`.
- [`schema.history.internal.<role>.ssl.keystore.location`](https://kafka.apache.org/documentation.html#producerconfigs_ssl.keystore.location):
The file path for the keystore.
- [`schema.history.internal.<role>.ssl.keystore.password`](https://kafka.apache.org/documentation.html#producerconfigs_ssl.keystore.password):
The password for the keystore file. You only need this you have also set
`schema.history.internal.<role>.ssl.keystore.location`.
- [`schema.history.internal.<role>.ssl.truststore.location`](https://kafka.apache.org/documentation.html#producerconfigs_ssl.truststore.location):
The file path for the truststore.
- [`schema.history.internal.<role>.ssl.truststore.password`](https://kafka.apache.org/documentation.html#producerconfigs_ssl.truststore.password):
The password for the trust store file. If you don't set a password, RDI will still use the trust store
file specified in `schema.history.internal.<role>.ssl.truststore.location` but without integrity
checking.
- [`schema.history.internal.<role>.ssl.key.password`](https://kafka.apache.org/documentation.html#producerconfigs_ssl.key.password):
The password for the private key in the keystore file specified in
`schema.history.internal.<role>.ssl.keystore.location`.
- [`database.dbname`](https://debezium.io/documentation/reference/stable/connectors/oracle.html#oracle-property-database-dbname):
The name of the database you want to connect to. If you are using a container database environment,
then you should set this to the name of the root container database (CDB), rather than an included
pluggable database (PDB).
- [`database.pdb.name`](https://debezium.io/documentation/reference/stable/connectors/oracle.html#oracle-property-database-pdb-name):
The name of the Oracle pluggable database you want to connect to. You can only use this with
container database (CDB) installations.
- [`decimal.handling.mode`](https://debezium.io/documentation/reference/stable/connectors/oracle.html#oracle-property-decimal-handling-mode):
This specifies the data format for floating point values in `NUMBER`, `DECIMAL` and `NUMERIC`
columns. This can take the values `precise` (store values with any number of decimal places),
`double` (use double-precision floating point), or `string` (encode numbers as strings).
The default value is `precise`. See
[Oracle numeric types](https://debezium.io/documentation/reference/stable/connectors/oracle.html#oracle-numeric-types)
for more information about decimal handling.
- `key.converter.schemas.enable` and `value.converter.schemas.enable`:
Boolean values specifying whether or not you want to add JSON schemas to
serialized data. See Kafka's [connect transforms](https://kafka.apache.org/documentation/#connect_transforms)
docs for an example.


## Job files

You can optionally supply one or more job files that specify how you want to
Expand Down Expand Up @@ -250,7 +345,9 @@ The main sections of these files are:
- `expire`: Positive integer value indicating a number of seconds for the key to expire.
If you don't specify this property, the key will never expire.

{{< note >}}You must specify a `transform` section, or a `key` section under `output`, or both.{{< /note >}}
{{< note >}}In a job file, the `transform` section is optional, but if you don't specify
a `transform`, you must specify custom key logic in `output.with.key`. You can include
both of these sections if you want both a custom transform and a custom key.{{< /note >}}

Another example below shows how you can rename the `fname` field to `first_name` in the table `emp`
using the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ Each of the RDI VMs should have:

Follow the steps below for each of your VMs:

1. Download the RDI installer from the [Redis download center](https://redis.io/downloads)
1. Download the RDI installer from the [Redis download center](https://app.redislabs.com/#/rlec-downloads)
(under the *Modules, Tools & Integration* dropdown)
and extract it to your preferred installation folder.

1. Go to the installation folder:
Expand Down