Kafka在Linux的数据备份与恢复实践
一、备份策略与总体建议
二、常用备份方法
BACKUP_TOPIC=test
BACKUP_DIR=/tmp/backup
mkdir -p $BACKUP_DIR
kafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic $BACKUP_TOPIC \
--from-beginning \
--formatter kafka.tools.DefaultMessageFormatter \
--property print.key=true --property print.value=true \
--property key.separator="|" \
> $BACKUP_DIR/${BACKUP_TOPIC}.txt
RESTORE_TOPIC=test
BACKUP_FILE=$BACKUP_DIR/${RESTORE_TOPIC}.txt
kafka-console-producer.sh \
--broker-list localhost:9092 \
--topic $RESTORE_TOPIC \
--new-producer < $BACKUP_FILE
bootstrap.servers=source-cluster:9092
group.id=mirror-maker-2
auto.offset.reset=earliest
bootstrap.servers=target-cluster:9092
bin/connect-mirror-maker.sh \
config/consumer.properties \
config/producer.properties \
--topics ".*" \
--num.streams 2
# 示例:启动分布式 Connect
bin/connect-distributed.sh config/connect-distributed.properties
# 通过 REST API 创建 HDFS Sink Connector(示例 JSON)
curl -X POST -H "Content-Type: application/json" \
--data @hdfs-sink.json http://localhost:8083/connectors
kafka-dump --bootstrap-server kafka_bootstrap_servers --output-dir output_directory
kafka-backup --bootstrap-server kafka_bootstrap_servers --backup-dir backup_directory
三、恢复与回放
四、关键注意事项