# 系统升级说明(简约版) 本目录用于把旧备份版本升级到当前版本,只需要按下面顺序操作。 ## 1. 升级前 1. 备份达梦数据库,保留旧版 JAR 和配置。 2. 记录 Kafka 原始 Topic、当前正在使用的消费组和 offset。 3. 停止 `syslog-consumer-rule`、`syslog-consumer` 全部实例。 > 不要清空 Kafka,不要重置 offset,不要删除数据库历史数据。 ## 2. 升级数据库 DBA 按顺序执行: ```text database/01-schema-upgrade.sql database/02-idempotency-indexes.sql database/03-direct-stats-baseline.sql database/04-verify.sql ``` 执行 `03`、`04` 前,把脚本中的日期占位符全部替换为升级当天: ```text BUSINESS_DATE -> 2026-08-24 YYYYMMDD -> 20260824 ``` 日期仅为示例,以实际升级日为准。任一 SQL 报错就停止,不要从头反复执行。 ## 3. 升级 Kafka(Docker) 先在 Kafka 宿主机确认容器名: ```bash docker ps --format '{{.Names}}' | grep -i kafka ``` 进入本升级目录的上级目录(能够看到 `upgrade-doc`),执行: ```bash export KAFKA_CONTAINER=kafka_ycgy-bt-kafka-1 docker exec -i \ -e KAFKA_BIN=/opt/kafka/bin \ -e BOOTSTRAP=localhost:9092 \ -e RAW_TOPIC=agent-01-syslog-topic \ "$KAFKA_CONTAINER" \ bash -s < upgrade-doc/kafka/kafka-upgrade.sh ``` 如果现场容器名不同,只修改 `KAFKA_CONTAINER`。如果 Kafka 容器内的命令目录或端口不同,再调整 `KAFKA_BIN`、`BOOTSTRAP`。 执行结束出现以下内容表示成功: ```text PASS: Kafka Topic 已创建/确认;脚本未删除 Topic,也未修改消费组 offset。 ``` 脚本只新增以下 5 个 Topic,不会删除 Topic,也不会修改消费组 offset: ```text agent-01-syslog-topic.RETRY.1M agent-01-syslog-topic.RETRY.10M agent-01-syslog-topic.RETRY.1H agent-01-syslog-topic.DLT agent-01-syslog-topic.REPLAY ``` ## 4. 应用配置 `syslog-consumer-rule`: ```text SYSLOG_RAW_CONSUMER_ENABLED=true STATS_WRITE_MODE=DIRECT STATS_INCREMENTAL_CAPTURE_ENABLED=false STATS_INCREMENTAL_READ_ENABLED=true STATS_INGRESS_METADATA_ENABLED=true SPRING_KAFKA_CONSUMER_GROUP_ID=现场原来的活动消费组 ``` `syslog-consumer`: ```text SYSLOG_RAW_CONSUMER_ENABLED=false STATS_WRITE_MODE=DIRECT STATS_INCREMENTAL_CAPTURE_ENABLED=false STATS_INCREMENTAL_PROJECTION_ENABLED=false STATS_INCREMENTAL_READ_ENABLED=true STATS_LEGACY_FULL_SCAN_ENABLED=false STATS_INGRESS_METADATA_ENABLED=true ``` 本次升级只使用 `DIRECT`,禁止再启用以下旧模式开关: ```text STATS_INCREMENTAL_CAPTURE_ENABLED=true STATS_INCREMENTAL_PROJECTION_ENABLED=true ``` ## 5. 启动和确认 按顺序启动: 1. `syslog-consumer` 2. 一台 `syslog-consumer-rule` 灰度实例 3. 其余 `syslog-consumer-rule` 实例 4. `syslog-serve` 确认 Kafka 消费延迟持续下降、达梦数据持续写入、Retry/DLT 没有异常增长后,升级完成。 如需回滚,只回滚应用 JAR 和配置;数据库新增表、字段、索引及 Kafka 新 Topic 保留,不要清库或重置 offset。