Kafka数据备份

楼高2年前技术文章1373

一、数据备份

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 自增列使用上的一些 “坑”

MySQL 自增列使用上的一些 “坑”

前言MySQL 的规范中,一般都会建议表要有主键,常使用自增列作为主键字段,这和 MySQL 属于聚簇索引表有关,顺序增长的主键比较合适。最近有研发咨询,为什么有张表的自增主键变的非常大?而且偶尔还出...

clickhouse对接集群hdfs(二)

clickhouse对接集群hdfs(二)

前提:集群中已经部署了hadoop集群和clickhouse集群,clickhouse集群进行对接hdfs1、调整配置文件将集群中的hdfs-site.xml文件同步到ck集群节点的/etc/clic...

PG查询性能Top SQL

一、查询当前正在运行的Top SQL    查询当前正在运行的会话中耗时最长的Top SQL,where条件可按需修改SELECT pgsa.datname AS database_name    ...

lvm介绍和常用命令

lvm介绍和常用命令

在分区的时候,每个分区应该分多大是令人头疼的,而且随着长时间的运行,分区不管你分多大,都会被数据给占满。当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分...

REPMGR-PG高可用搭建(二)

REPMGR-PG高可用搭建(二)

REPMGR搭建步骤一、介绍repmgr是第二象限开源的一套流复制集群管理工具,用于管理PostgreSQL服务器群集中的复制和故障转移。 支持故障自动转移和手动切换;支持分布式管理集群节点,易扩展,...

MySQL运维实战(4.9) SQL_MODE之NO_UNSIGNED_SUBTRACTION

在mysql数据库中,unsigned表示不存负数,如果unsigned类型的字段作运算,得到的结果为负数,SQL会报错。mysql> create table t...

发表评论    

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