Skip to content

Commit

Permalink
ticdc: add missing params (#8047) (#8089)
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-chi-bot authored Feb 7, 2022
1 parent d8b9928 commit 0673505
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
17 changes: 9 additions & 8 deletions ticdc/manage-ticdc.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,13 +176,14 @@ URI 中可配置的的参数如下:
| `127.0.0.1` | 下游 Kafka 对外提供服务的 IP |
| `9092` | 下游 Kafka 的连接端口 |
| `topic-name` | 变量,使用的 Kafka topic 名字 |
| `kafka-version` | 下游 Kafka 版本号(可选,默认值 `2.4.0`,目前支持的最低版本为 `0.11.0.2`,最高版本为 `2.7.0`。该值需要与下游 Kafka 的实际版本保持一致) |
| `kafka-client-id` | 指定同步任务的 Kafka 客户端的 ID(可选,默认值为 `TiCDC_sarama_producer_同步任务的 ID`|
| `partition-num` | 下游 Kafka partition 数量(可选,不能大于实际 partition 数量,否则创建同步任务会失败。在 v4.0.16 前,该参数默认值为 `4`;自 v4.0.16 起,默认值为 `3`。)|
| `max-message-bytes` | 每次向 Kafka broker 发送消息的最大数据量(可选。在 v4.0.16 前,该参数默认值为 `512MB`;自 v4.0.16 起,默认值为 `1MB`。) |
| `replication-factor` | Kafka 消息保存副本数(可选,默认值 `1`|
| `protocol` | 输出到 Kafka 消息协议,可选值有 `default``canal``avro``maxwell`(默认值为 `default`|
| `max-batch-size` | 从 v4.0.9 引入。如果消息协议支持将多条变更记录输出到一条 Kafka 消息,该参数指定一条 Kafka 消息中变更记录的最多数量,目前仅对 Kafka 的 `protocol``default` 时有效(可选,默认值为 `4096`|
| `kafka-version` | 下游 Kafka 版本号(可选,默认值 `2.4.0`,目前支持的最低版本为 `0.11.0.2`,最高版本为 `2.7.0`。该值需要与下游 Kafka 的实际版本保持一致) |
| `kafka-client-id` | 指定同步任务的 Kafka 客户端的 ID(可选,默认值为 `TiCDC_sarama_producer_同步任务的 ID`|
| `partition-num` | 下游 Kafka partition 数量(可选,不能大于实际 partition 数量,否则创建同步任务会失败。在 v4.0.16 前,该参数默认值为 `4`;自 v4.0.16 起,默认值为 `3`。)|
| `max-message-bytes` | 每次向 Kafka broker 发送消息的最大数据量(可选。在 v4.0.16 前,该参数默认值为 `512MB`;v4.0.16 该参数默认值为 `1MB`;自 v4.0.17 起,默认值为 `10MB`。) |
| `replication-factor` | kafka 消息保存副本数(可选,默认值 `1`|
| `protocol` | 输出到 kafka 消息协议,可选值有 `default``canal``avro``maxwell`(默认值为 `default`|
| `auto-create-topic` | 当传入的 `topic-name` 在 Kafka 集群不存在时,TiCDC 是否要自动创建该 topic(可选,默认值 `true`|
| `max-batch-size` | 从 v4.0.9 引入。如果消息协议支持将多条变更记录输出到一条 kafka 消息,该参数指定一条 kafka 消息中变更记录的最多数量,目前仅对 Kafka 的 `protocol``default` 时有效(可选,默认值为 `16`。自 v4.0.13 起,默认值由 `4096` 改为 `16`|
| `ca` | 连接下游 Kafka 实例所需的 CA 证书文件路径(可选) |
| `cert` | 连接下游 Kafka 实例所需的证书文件路径(可选) |
| `key` | 连接下游 Kafka 实例所需的证书密钥文件路径(可选) |
Expand Down Expand Up @@ -241,7 +242,7 @@ URI 中可配置的的参数如下:
| `maxPendingMessages` | Pending 消息队列的最大大小,例如,等待接收来自 Pulsar 的确认的消息(可选,默认值为 1000) |
| `disableBatching` | 禁止自动批量发送消息(可选) |
| `batchingMaxPublishDelay` | 设置发送消息的批处理时间(默认值为 10ms) |
| `compressionType` | 设置发送消息时使用的压缩算法(可选 `LZ4``ZLIB``ZSTD`,默认值为 `ZSTD`|
| `compressionType` | 设置发送消息时使用的压缩算法(可选 `NONE``LZ4``ZLIB``ZSTD`,默认值为 `NONE`|
| `hashingScheme` | 用于选择发送分区的哈希算法(可选 `JavaStringHash``Murmur3`,默认值为 `JavaStringHash`|
| `properties.*` | 在 TiCDC 中 Pulsar producer 上添加用户定义的属性(可选,示例 `properties.location=Hangzhou`|

Expand Down
4 changes: 2 additions & 2 deletions ticdc/troubleshoot-ticdc.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ cdc cli changefeed create --pd=http://10.0.10.25:2379 --sink-uri="kafka://127.0.

## TiCDC 把数据同步到 Kafka 时,能在 TiDB 中控制单条消息大小的上限吗?

+ 从 v4.0.9 起,可以通过 `max-message-bytes` 控制每次向 Kafka broker 发送消息的最大数据量(可选,默认值 64MB);通过 `max-batch-size` 参数指定每条 kafka 消息中变更记录的最大数量,目前仅对 Kafka 的 protocol 为 `default` 时有效(可选,默认值为 `4096`)。
+ 从 v4.0.9 起,可以通过 `max-message-bytes` 控制每次向 Kafka broker 发送消息的最大数据量(可选,默认值 10MB);通过 `max-batch-size` 参数指定每条 kafka 消息中变更记录的最大数量,目前仅对 Kafka 的 `protocol``default` 时有效(可选,默认值 `16`)。
+ v4.0.9 以前,TiCDC 向 Kafka 发送的消息批量的大小最大为 512MB。

## TiCDC 把数据同步到 Kafka 时,一条消息中会不会包含多种数据变更?
Expand Down Expand Up @@ -352,7 +352,7 @@ TiCDC 对大事务(大小超过 5 GB)提供部分支持,根据场景不同

## TiCDC 集群升级到 v4.0.8 之后,changefeed 报错 `[CDC:ErrKafkaInvalidConfig]Canal requires old value to be enabled`

自 v4.0.8 起,如果 changefeed 使用 canal 或者 maxwell 协议输出,TiCDC 会自动开启 Old Value 功能。但如果 TiCDC 是从较旧版本升级到 v4.0.8 或以上版本的,changefeed 使用 canal 或 maxwell 协议的同时 Old Value 功能被禁用,此时会出现该报错。可以按照以下步骤解决该报错:
自 v4.0.8 起,如果 changefeed 使用 `canal` 或者 `maxwell` 协议输出,TiCDC 会自动开启 Old Value 功能。但是,如果 TiCDC 是从较旧版本升级到 v4.0.8 或以上版本的,changefeed 使用 `canal``maxwell` 协议的同时 TiCDC 的 Old Value 功能会被禁用。此时,会出现该报错。可以按照以下步骤解决该报错:

1. 将 changefeed 配置文件中 `enable-old-value` 的值设为 `true`
2. 使用 `cdc cli changefeed pause` 暂停同步任务。
Expand Down

0 comments on commit 0673505

Please sign in to comment.