将Kafka集群连接到AWS Ec2实例

时间:2018-09-11 06:49:16

标签: amazon-web-services amazon-ec2 apache-kafka

我是Kafka的新手,我的用例是我已经配置了Kafka 3node集群,如果我在node1中生成消息,它将在node2和node3中自动同步(意味着我正在使用node2和node3中的msg),所以现在我希望所有消息都在另一台AWS EC2机器上。我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以使用Apache Kafka's MirrorMaker来促进多数据中心复制。您可以使用它来在两个Kafka群集之间复制数据。

  

从原始群集中的主题读取数据并将其写入主题   在目标群集中具有相同的名称。您可以运行许多这样的   镜像过程以提高吞吐量和容错能力(如果   一个进程死亡,其他进程将接管额外的负载。

     

始发和目的地群集完全独立   实体:它们可以具有不同数量的分区,并且   偏移量将不同。因此,镜像群集为   并非真正旨在作为容错机制(作为消费者)   位置会有所不同)。但是,MirrorMaker进程将   保留并使用消息密钥进行分区,以便保留顺序   在每个键的基础上。


另一个选项(需要许可)是Confluent Replicator,它也可以处理主题配置。

  

Confluent Replicator使您能够轻松可靠地进行复制   从一个Kafka集群到另一个集群。除了复制   消息,此连接器将根据需要创建主题,并保留   源集群中的主题配置。这包括保存   分区数,复制因子以及任何   为各个主题指定的配置覆盖。

Here's a quickstart tutorial,它将帮助您开始使用Confluent Kafka Replicator。

答案 1 :(得分:0)

如果我理解正确,那么新计算机不是不是 Kafka代理,因此无法将数据镜像到该计算机。

  

它在node2和node3中都自动同步

仅当复制因子为3或更大时

  

意味着我正在消耗node2和node3中的味精

仅当您拥有3个或更多分区时,您才会在所有三个节点中进行消费,因为每个分区只有一个领导者,并且所有消费请求都来自于该


如果仅在此新计算机上运行任何使用者进程,则将从现有集群中获取所有消息。如果您出于任何特定原因计划存储这些消息,建议您使用Kafka Connect S3连接器,然后使用Athena查询S3存储桶,例如