跳到主要内容

Kafka 外置(新)

前置条件: 外置的Kafka版本支持v3、v4系列。

使用版本: 6.90.0以上版本,该版本已去除zookeeper。

配置参数

配置项类型示例描述

KafkaAddresses

stringkafka-ha:9092kafka地址,如有多个使用逗号隔开

KafkaReadAddress

stringkafka-ha:9092kafka访问地址

操作步骤

迁移kafka数据

备份Kafka数据

ones-ai-k8s.sh
#进入kafka pod
kubectl -n ones exec -it kafka-ha-0 bash

cd /bitnami/kafka
#压缩数据
tar -cvzf kafka.tar.gz data/*

exit
exit
#数据移动到pod 外
kubectl -n ones cp kafka-ha-0:/bitnami/kafka/kafka.tar.gz /tmp/kafka.tar.gz

自行将kafka.tar.gz移动到kafka的服务器

数据复制到新的kafka中

#<base_url>用kafka配置文件()中的log.dirs替换

rm -rf <base_url>/*

tar -xvzf /tmp/kafka.tar.gz -C <base_url> --strip-components 1
#重启kafka(如果之前就没开,则只需要打开即可)
kafka-server-stop.sh
kafka-server-start.sh

#<host> <port>用实际kafka服务器的host和端口替换
#查看kafka topics
kafka-topics.sh --list --bootstrap-server <host>:<port>
#......
#ones.ones.task.updated
#ones.ones.task.updated-ones.audit_log.delay
#ones.ones.task.updated-ones.automation.delay
#ones.ones.task.updated-ones.gantt.delay
#ones.ones.task.updated-ones.manhour.delay
#ones.ones.task.updated-ones.objectlink.delay
#ones.ones.task.updated-ones.observer.sprint_scale_cache.delay
#ones.ones.task.updated-ones.observer.task_count.delay
#ones.ones.task.updated-ones.project.object_link.audit_log.delay
#ones.ones.task.updated-ones.project.wiki.audit_log.delay
#ones.ones.task.updated-ones.sprint.delay
#ones.ones.task.updated-ones.task.publish_version.delay
#project_binlog
#输出类似上面的数据则说明这一步成功

#创建测试数据
./kafka-topics.sh --create --bootstrap-server <host>:<port> --topic onesTestABC123x --partitions 1 --replication-factor 1
#Created topic onesTestABC123x.

kafka-topics.sh --list --bootstrap-server <host>:<port> | grep onesTestABC123x
#onesTestABC123x
#如果输出如上所示则说明创建成功

#删除测试数据
kafka-topics.sh --bootstrap-server <host>:<port> --delete --topic onesTestABC123x
kafka-topics.sh --list --bootstrap-server <host>:<port> | grep onesTestABC123x
#如果没有输出内容,则说明删除成功

修改配置

进入ones服务器

ones-ai-k8s.sh
vim config/private.yaml
# 修改如下配置(<kafka_address> <kafka_read_address> <zk_host> <zk_port>根据实际情况填写)
KafkaAddresses: <kafka_address>
KafkaReadAddress: <kafka_read_address>

应用配置

make setup-ones

验证

需要等待几分钟后在执行ones-ai-k8s.sh后进入的pod中进行下列操作

kubectl -n ones get pod | grep audit-log-sync-deployment

#audit-log-sync-deployment-58dbfbf5db-jq42t 1/1 Running 0 4m51s
#如果显示Running 则说明切换成功