Kafka数据备份

楼高1年前技术文章872

一、数据备份

Kafka的数据备份包括两种类型:全量备份和增量备份

全量备份是将整个 Kafka 的数据复制到一个不同的地方

增量备份是在全量备份后仅仅备份增量的数据

二、全量备份

# 指定备份的主题

BACKUP_TOPIC=test# 指定备份的数据目录

BACKUP_DIR=/tmp/backup# 创建备份目录

mkdir -p $BACKUP_DIR# 备份主题数据

kafka-console-consumer.sh \--bootstrap-server localhost:9092 \--topic 

$BACKUP_TOPIC \--from-beginning \> $BACKUP_DIR/$BACKUP_TOPIC.txt

上述代码使用 kafka-console-consumer.sh 工具将主题 $BACKUP_TOPIC 

的数据备份到 $BACKUP_DIR 目录下的 $BACKUP_TOPIC.txt 文件中。

注意:该脚本是同步备份会阻塞线程,备份时间较长时,建议使用异步备份方式。

三、增量备份

增量备份需要借助第三方工具

例如 Kafka 的 MirrorMaker 等实现

下面是 MirrorMaker 的用法示例:

# 指定源和目的地址

SOURCE_HOST=localhost:9092

DESTINATION_HOST=backup-host:9092# 创建 MirrorMaker 配置文件

cat > /tmp/mirror-maker.properties <<EOF

consumer.bootstrap.servers=$SOURCE_HOST

producer.bootstrap.servers=$DESTINATION_HOST

EOF# 运行 MirrorMaker

kafka-run-class.sh kafka.tools.MirrorMaker \--consumer.config 

\ /tmp/mirror-maker.properties 

\--producer.config /tmp/mirror-maker.properties \--whitelist $BACKUP_TOPIC

上述代码中创建一个 MirrorMaker 配置文件将源端的数据同步到目标端--whitelist 

参数指定备份的主题


相关文章

Go 配置文件管理(ini)

Go 配置文件管理(ini)

1、背景ini 文件是 Initialization File 的缩写,即初始化文件,可用于统一管理各项配置。gopkg.in/ini.v1 是地表最强大、最方便和最流行的 Go 语言 INI 文件操...

Elasticsearch数据规划

1.1 为什么数据规划很重要任何系统都有一套更为适用的规则或者其系统规格,前期的详细设计能为我们后期维护优化节约大量的精力。在我们实际的经验中,发现大部分问题(分片严重超规格,单个分片超大,索引map...

linux下xfs文件系统类型/目录扩容

1、查看分区信息[root@172-16-121-112 ~]# fdisk -lDisk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sect...

创建跨集群用户

1.       登陆源集群和目标集群创建迁移时需要使用的用户(例:hadoop_copy),赋予用户集群超级管理员权限和hdfs超级用户权...

MySQL 数据迁移中 lower_case_table_names 参数影响

MySQL 数据迁移中 lower_case_table_names 参数影响

记一次 SQLServer 迁移至 MySQL 遇到的一个关于 lower_case_table_names 参数的问题。前言   将 SQLServer 数据库迁移至 MySQL 迁移过后,驼峰命名...

PostgreSQL 索引管理

前言索引是关系型数据库离不开的话题,它是数据库中一种快速查询数据的方法。在 SQL 优化中,创建高性能的索引非常重要,本篇文章将对比 MySQL 介绍 PostgreSQL 的索引管理。1. 主键1....

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。