1.目标

今天,在这篇Kafka文章中,我们将看到Kafka Cluster Setup。这个Kafka集群教程为我们提供了一些设置Kafka集群的简单步骤。简而言之,为了实现Kafka服务的高可用性,我们需要在集群模式下设置Kafka。 因此,在此Kafka Cluster文档中,我们将学习Kafka多节点群集设置和Kafka多代理群集设置。此外,我们将看到Kafka Zookeeper群集设置。
那么,让我们开始Kafka群集设置。



设置Kafka集群的方法:Apache Kafka



你对卡夫卡了解多少

2. Kafka群集设置

为了获得更好的Kafka服务可靠性和高可用性,我们需要在集群模式下设置Kafka。一开始:

  • 从Apache的网站下载Kafka。另外,解压缩zip文件。
  • 此外,制作提取的文件夹的两个副本,然后将后缀_1,_2,_3添加到这些文件夹名称。因此,如果我们提取的文件夹名称为kafka_2.11-1.1.0,您将拥有文件夹kafka_2.11-1.1.0_1,kafka_2.11-1.1.0_2,kafka_2.11-1.1.0_3。
  • 转到kafka_2.11-1.1.0_1文件夹。

我们来讨论Apache Kafka Connect - 完整指南2018

3.设置Kafka群集的步骤

现在,按照几个步骤设置Kafka Cluster:

  1. 创建一个名为“logs”的文件夹。在此文件夹中,将存储所有Kafka日志。
  2. 然后,打开server.properties文件,进入config目录。在这里,我们将找到包含Kafka代理配置的文件。
  3. 此外,将broker.id设置为1.确保它是Kafka群集中代理的ID,因此对于每个代理,它必须是唯一的。
  4. 然后,取消注释侦听器的配置,并将其设置为PLAINTEXT:// localhost:9091。它说,对于连接请求,Kafka经纪人将监听端口9091。
  5. 此外,使用logs文件夹路径,设置我们在步骤1中创建的log.dirs配置。
  6. 另外,在zookeeper.connect配置中设置Apache Zookeeper地址。但是,如果Zookeeper在Kafka集群中运行,请确保将该地址作为逗号分隔列表,即:localhost:2181,localhost:2182。

基本上,这些是我们需要为开发环境设置的一些常规配置。
通过这种方式,我们的第一个Kafka代理配置就绪。现在,对于其他两个文件夹或代理,请按照相同的步骤进行以下更改。
让我们在Apache Kafka中修改Zookeeper的角色

  • 现在,将broker.id分别更改为2和3,分别在步骤3中。
  • 并且,还要在步骤4中分别更改用于9092和9093的端口。注意:可以提供任何可用的端口号。

因此,对于所有经纪人,我们的配置已准备就绪。现在,运行命令./bin/kafka-server-start.sh config / server.properties,转到每个Kafka文件夹的主目录。

  • 执行命令(全部作为一行):
  1. ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --rerelication -factor
  2. 3 --partitions 50 --topic演示



这里每个分区的复制因子为3,创建了50个分区。在定义复制因子为3时,对于分区,将有一个领导者和两个粉丝。此外,在将消息或记录发送给领导者时,它将被复制到粉丝中。

  • 执行以下命令:
  1. ./bin/kafka-topics.sh --describe --topic Hello-Kafka --zookeeper localhost:2181



它有助于我们知道哪个代理是哪个分区的领导者或关注者。

  • 输出:

主题:demoPartitionCount:50ReplicationFactor:3Configs:
主题:demoPartition:0Leader:2Replicas:2,3,1Isr:2,3,1 
主题:demoPartition:1Leader:3Replicas:3,1,2Isr:3,1,2 
主题:demoPartition: 2Leader:1Replicas:1,2,3Isr:1,2,3 
主题:demoPartition:3Leader:2Replicas:2,1,3Isr:2,1,3 
主题:demoPartition:4Leader:3Replicas:3,2,1Isr:3, 2,1 
主题:demoPartition:5Leader:1Replicas:1,3,2Isr:1,3,2 
主题:demoPartition:6Leader:2Replicas:2,3,1Isr:2,3,1 
........................... ....................................... 
.................................................................. 
............................................. .....................
现在,我们可以看到Broker 2是领导者,分区0和Broker 3是分区1的领导者。而且,这里ISR指的是同步副本。
看看Apache Kafka术语和概念所以,这完全是关于Kafka Cluster的。希望你喜欢我们的解释

4。结论

因此,在这个Kafka群集设置教程中,我们学习了三个代理的Kafka群集设置。此外,我们讨论了Kafka多节点设置和Kafka - Zookeeper设置。但是,如果对Kafka群集设置有任何疑问,请在评论标签中询问。
另请参阅 -  如何创建Kafka客户端以供参考