跳到主要内容
版本:v3&v6

Kafka 外置

配置参数

配置项类型示例描述
KafkaAddressesstringkafka-ha:9092kafka地址,如有多个使用逗号隔开
KafkaReadAddressstringkafka-ha:9092kafka访问地址
zookeeperHoststring10.0.0.202zookeeper的Host
zookeeperPortstring2181zookeeper的Port

操作步骤

迁移zookeeper数据

备份zookeeper数据

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

cd /bitnami/zookeeper/data/
#压缩数据
tar -cvzf zk.tar.gz version-2/*

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


自行将zk.tar.gz文件移动到zookeeper服务器的/tmp目录。

数据复制到新的zookeeper

#删除
#zookeeper数据
#<base_url>替换成zookeeper配置文件(zoo.cfg)中的dataDir
rm -f <base_url>/version-2/*

tar -xvzf /tmp/zk.tar.gz -C <base_url>

#如果zoo.cfg文件中有dataLogDir,需要把刚刚解压出来的文件中log开头的文件 移动到<dataLogDir>/version-2目录下
#mv <dataLogDir>/version-2/log.* <dataLogDir>/version-2

zkServer.sh restart # 如果此前zookeeper未启动则执行 zkServer.sh start

zkCli.sh

ls /
#[admin, brokers, cluster, config, consumers, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper]
#输出上述内容则说明成功

迁移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>
zookeeperHost: <zk_host>
zookeeperPort: <zk_port>

应用配置

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 则说明切换成功