Kafka MirrorMaker

原创
2017/04/28 17:36
阅读数 211

当我们需要在两个kafka集群之间同步数据时,我们Kafka自带工具MirrorMaker,该工具用于镜像Kafka集群之间的数据。从一个或多个源集群读取并写入目标集群。

输入图片说明

输入图片说明

一个最基本的应用就是可以为另一个数据中心提供一个数据复制。您可以运行许多这样的镜像过程,以提高吞吐量和容错能力(如果一个进程死亡,其他人将采取额外的负载)。 数据将从源集群中的Topic中读取,并写入目标集群中具有相同名称的Topic。事实上,MirrorMaker只不过是一个Kafka的消费者加生产者。

创建镜像配置目录

cd $KAFKA_HOME
mkdir mirrorconf

创建源集群配置文件mirrorconf/sourceCluster.config

zookeeper.connect=sourcezk:2181/kafka0822
group.id=mirror1
zookeeper.connection.timeout.ms=1000000
consumer.timeout.ms=-1

创建目标集群配置文件mirrorconf/targetCluster.config

compression.codec=none
metadata.broker.list=targetbroker:9092
producer.type=async

执行命令进行mirror复制,这里测试Topic为mirrortest

bin/kafka-run-class.sh kafka.tools.MirrorMaker --consumer.config mirrorconf/sourCluster.config  --num.streams 1 --producer.config mirrorconf/targetCluster.config --whitelist="mirrortest"

工具参数

$ bin/kafka-run-class.sh kafka.tools.MirrorMaker --help
    
   Continuously copy data between two Kafka clusters.
Option                                  Description                            
------                                  -----------                            
--blacklist <Java regex (String)>       Blacklist of topics to mirror.         
--consumer.config <config file>         Consumer config to consume from a      
                                          source cluster. You may specify      
                                          multiple of these.                   
--help                                  Print this message.                    
--new.producer                          Use the new producer implementation.   
--num.producers <Integer: Number of     Number of producer instances (default: 
  producers>                              1)                                   
--num.streams <Integer: Number of       Number of consumption streams.         
  threads>                                (default: 1)                         
--producer.config <config file>         Embedded producer config.              
--queue.size <Integer: Queue size in    Number of messages that are buffered   
  terms of number of messages>            between the consumer and producer    
                                          (default: 10000)                     
--whitelist <Java regex (String)>       Whitelist of topics to mirror.
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部