Kafka数据备份

楼高2年前技术文章1104

一、数据备份

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 

参数指定备份的主题


相关文章

MySQL 数据迁移中 lower_case_table_names 参数影响

MySQL 数据迁移中 lower_case_table_names 参数影响

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

EasyMR如何为服务开启Kerberos

EasyMR如何为服务开启Kerberos

一、Hadoop为什么需要安全最早部署Hadoop集群时并没有考虑安全问题,未开启安全认证时,Hadoop 是以客户端提供的用户名作为用户凭证, 一般即是发起任务的Unix 用户。一般线上机器部署服务...

Doris审计插件的安装

Doris审计插件的安装

插件下载地址:https://doris.apache.org/download1.安装Doris审计插件(1)解压 Audit Loader 插件步骤1. 复制插件文件cp  /opt/dtstac...

Zeppelin简介

1.    Zeppelin1.1.  Zeppelin是什么zeppelin是一个非常流行的开源数据探索分析平台。zeppelin集成了非...

hdfs数据迁移

hdfs数据迁移

通过使用distcp进行数据全量迁移DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作...

数据湖技术之iceberg(十)Structured Streaming实时写入Iceberg

数据湖技术之iceberg(十)Structured Streaming实时写入Iceberg

目前Spark中Structured Streaming只支持实时向Iceberg中写入数据,不支持实时从Iceberg中读取数据,下面案例我们将使用Structured Streaming从Kafk...

发表评论    

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