Kafka在CentOS上的数据迁移可按以下步骤操作,主要涉及目录迁移和数据同步:
停止Kafka服务
在每个节点执行:
cd /opt/kafka/bin # 进入Kafka安装目录
./kafka-server-stop.sh # 停止服务
迁移数据与日志目录
mkdir -p /new/data/dir /new/logs/dir
chmod -R o+r+w /new/data/dir /new/logs/dir
nohup
避免进程中断):nohup cp -r /old/data/dir/* /new/data/dir/ &
nohup cp -r /old/logs/dir/* /new/logs/dir/ &
修改配置文件
编辑server.properties
,更新log.dirs
和log.dir
路径:
log.dirs=/new/data/dir,/new/logs/dir # 多磁盘用逗号分隔
重启Kafka服务
./kafka-server-start.sh -daemon ../config/server.properties
验证与清理
使用Kafka内置工具
# 消费Topic A数据并写入Topic B
./bin/kafka-console-consumer.sh --bootstrap-server source-broker:9092 --topic A --from-beginning | \
./bin/kafka-console-producer.sh --bootstrap-server target-broker:9092 --topic B
mirror-maker.properties
指定源/目标集群参数,启动后同步数据。使用第三方工具
server.properties
中配置一致。kafka-topics.sh --describe
检查分区状态,使用kafka-consumer-groups.sh
验证消息完整性。参考来源: