Windows系统搭建Kafka集群(3-broker)

kafka名词介绍

  1. Message:消息,就是要发送的内容,一般包装成一个消息对象。
  2. Topic:通俗来讲的话就是放置“消息”的地方,也就是说消息投递的一个容器。假如把消息看作是信封的话,那么Topic就是一个邮箱。
  3. Partition && Log
    Partition分区,可以理解为一个逻辑上的分区,像是我们电脑的磁盘 C,D,E盘一样。
    Kafka为每个分区维护着一份日志Log文件。
  4. Producers(生产者)
    和其他消息队列一样,生产者通常都是消息的产生方。
    在Kafka中它决定消息发送到指定Topic的哪个分区上。
  5. Consumers(消费者)
    消费者就是消息的使用着,在消费者端也有几个名词需要区分一下。
    一般消息队列有两种模式的消费方式,分别是队列模式订阅模式
    队列模式:一对一,就是一个消息只能被一个消费者消费,不能重复消费。一般情况队列支持存在多个消费者,但是对于一个消息,只会有一个消费者可以消费它。
    订阅模式:一对多,一个消息可能被多次消费,消息生产者将消息发布到Topic中,只要是订阅改Topic的消费者都可以消费。

Zookeeper集群

搭建Kafka集群需要先搭建Zookeeper集群
参考 : Windows系统ZooKeeper集群环境搭建

Kafka broker集群

  1. 这里我们以在同一台服务器配置3套Kafka为例,将Kafka分别安装到3个目录中。如:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 编辑server.properties
    (1) 打开 kafka_A 服务器的server.properties文件,修改或增加如下配置:

    #唯一标识
    broker.id=0
    #kafka消息存放的路径
    log.dirs=E:/kafka/kafka_A/kafka_2.13-2.5.0/kafka-logs
    host.name=192.168.2.76
    #监听端口
    port=9097
    #对应3台Zookeeper的IP地址和端口
    zookeeper.connect=192.168.2.76:2181,192.168.2.76:2182,192.168.2.76:2183
    listeners=PLAINTEXT://192.168.2.76:9097
    advertised.listeners=PLAINTEXT://192.168.2.76:9097
    

    (2) 打开 kafka_B 服务器的server.properties文件,修改或增加如下配置:

    #唯一标识
    broker.id=1
    #kafka消息存放的路径
    log.dirs=E:/kafka/kafka_B/kafka_2.13-2.5.0/kafka-logs
    host.name=192.168.2.76
    #监听端口
    port=9098
    #对应3台Zookeeper的IP地址和端口
    zookeeper.connect=192.168.2.76:2181,192.168.2.76:2182,192.168.2.76:2183
    listeners=PLAINTEXT://192.168.2.76:9098
    advertised.listeners=PLAINTEXT://192.168.2.76:9098
    

    (3) 打开 kafka_C 服务器的server.properties文件,修改或增加如下配置:

    #唯一标识
    broker.id=2
    #kafka消息存放的路径
    log.dirs=E:/kafka/kafka_C/kafka_2.13-2.5.0/kafka-logs
    host.name=192.168.2.76
    #监听端口
    port=9099
    #对应3台Zookeeper的IP地址和端口
    zookeeper.connect=192.168.2.76:2181,192.168.2.76:2182,192.168.2.76:2183
    listeners=PLAINTEXT://192.168.2.76:9099
    advertised.listeners=PLAINTEXT://192.168.2.76:9099
    
  3. 启动服务
    定位到3个Kafka安装目录,以管理员身份运行CMD(用于启动3个Kafka服务),然后分别在3个窗口中输入.\bin\windows\kafka-server-start.bat .\config\server.properties命令来启动这3个Kafka服务
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 验证Kafka服务是否启动,如果open则代表启动成功
    执行下面命令:

    nc -vz 192.168.2.76 9097
    nc -vz 192.168.2.76 9098
    nc -vz 192.168.2.76 9099
    

    在这里插入图片描述
    nc安装参考:Windows 下载安装 netcat(nc)命令
    到此,Kafka的集群环境就搭建好了。

Kafka命令配置

由于是集群操作,以前的Kafka操作命令就有所改变,如:
创建主题:
单机模式:

.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TestTopic1
或
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TestTopic1

集群模式:

.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181,localhost:2182,localhost:2183 --replication-factor 1 --partitions 1 --topic TestTopic1
或
kafka-topics --create --zookeeper localhost:2181,localhost:2182,localhost:2183 --replication-factor 1 --partitions 1 --topic TestTopic1

查询主题:
单机模式:

.\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --list
或
kafka-topics --zookeeper localhost:2181 --list

集群模式:

.\bin\windows\kafka-topics.bat --zookeeper localhost:2181,localhost:2182,localhost:2183 --list
或
kafka-topics --zookeeper localhost:2181,localhost:2182,localhost:2183 --list

其他命令(如设置用户读写权限、分组权限等)操作也类似。

Kafka集群测试

创建生产者命令:

.\bin\windows\kafka-console-producer.bat --broker-list 192.168.2.76:9097,192.168.2.76:9098,192.168.2.76:9099 --topic muTopic

创建消费者命令:

.\bin\windows\kafka-console-consumer.bat --bootstrap-server 192.168.2.76:9097,192.168.2.76:9098,192.168.2.76:9099 --topic muTopic

创建一个生产者两个消费者,执行结果如下图:
在这里插入图片描述

执行生产者和消费者命令报下面错误:
[2020-07-06 13:55:43,935] WARN [Producer clientId=console-producer] Connection to node -2 (localhost/127.0.0.1:9099) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

解决方案:
在C:\Windows\System32\drivers\etc目录下,修改hosts文件,新增下面命令:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要搭建Kafka集群,需要以下步骤: 1. 安装Java环境:Kafka是基于Java开发的,因此需要先安装Java环境。 2. 下载Kafka:从官网下载Kafka的二进制包。 3. 解压Kafka:将下载的Kafka二进制包解压到指定的目录下。 4. 配置Kafka:修改Kafka的配置文件,包括broker.id、zookeeper.connect、listeners等参数。 5. 启动Zookeeper:Kafka依赖于Zookeeper,因此需要先启动Zookeeper。 6. 启动Kafka:启动Kafka集群,可以使用命令行或者脚本启动。 7. 测试Kafka:使用Kafka提供的命令行工具进行测试,包括创建主题、发送消息、消费消息等操作。 8. 部署Kafka集群:将Kafka集群部署到多台服务器上,可以使用Kafka提供的复制机制实现数据的备份和容错。 以上就是搭建Kafka集群的基本步骤。需要注意的是,Kafka的配置和部署需要根据实际情况进行调整和优化,以保证Kafka集群的性能和稳定性。 ### 回答2: Kafka是一款高性能的分布式消息系统,常常用于大规模数据流的处理和分发。Linux作为一个可靠的服务端操作系统,也是Kafka的一个常见的运行环境。本文将介绍在Linux环境下搭建Kafka集群的步骤和注意事项。 1. 安装Java Kafka是基于Java开发的,因此需要先安装Java运行环境。使用以下命令安装Java 8: ``` $ sudo apt-get update $ sudo apt-get install openjdk-8-jdk ``` 2. 下载和解压缩Kafka 下载Kafka最新版本,并解压缩到合适的目录下。比如: ``` $ wget https://downloads.apache.org/kafka/2.6.0/kafka_2.13-2.6.0.tgz $ tar -zxf kafka_2.13-2.6.0.tgz $ cd kafka_2.13-2.6.0 ``` 3. 修改配置文件 Kafka的配置文件位于“config”目录下,常见的有“server.properties”和“zookeeper.properties”。我们需要修改这些配置文件以适配我们的环境。下面是一些要注意的设置: - “server.properties”中的“broker.id”必须是唯一的,每个Kafka节点应该有一个唯一的值。 - “server.properties”中需要设置“listeners”为“PLAINTEXT://:9092”或“PLAINTEXT://[[hostname]]:9092”,这样才能通过网络接口访问到Kafka。 - “zookeeper.properties”中需要设置“dataDir”为Zookeeper数据存储的目录。 4. 启动Zookeeper Kafka依赖Zookeeper来管理集群配置,因此需要先启动Zookeeper。使用以下命令启动Zookeeper: ``` $ bin/zookeeper-server-start.sh config/zookeeper.properties ``` 5. 启动Kafka节点 我们可以使用以下命令启动一个Kafka节点,注意使用不同的配置文件: ``` $ bin/kafka-server-start.sh config/server.properties ``` 如果我们需要启动多个节点,可以使用不同的配置文件,并在启动时设置不同的“broker.id”。启动一组Kafka节点后,它们将自动组成一个集群。 6. 测试 使用以下命令创建一个主题和消费者: ``` $ bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test $ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning ``` 然后在生产者端发送一些消息: ``` $ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test >test message 1 >test message 2 ``` 我们应该可以在消费者端看到这些消息。 7. 总结 在Linux环境下搭建Kafka集群需要一定的基础知识和技能,但只要按照上述步骤操作,应该能够很容易地搭建一个稳定的、高性能的Kafka环境。当然,在运维过程中也需要注意Kafka的一些常见问题,如副本同步延迟、消息丢失等。不过这些问题已经超出了本文的范围。 ### 回答3: Kafka是一个高性能、可扩展、分布式的消息队列,由于它的高可靠性和高吞吐量,越来越多的企业选择使用Kafka作为消息中间件。为满足大规模数据处理和高并发请求的需求,必须通过搭建Kafka集群来保证其性能和可靠性。 一、环境准备 1.安装Java环境:Kafka运行需要Java环境,安装JDK。 2.下载和安装KafkaKafka官方网站下载.tar.gz格式的压缩包,解压缩至指定路径即可。 3.配置Kafka:修改config文件夹下server.properties配置文件,设置Kafka的基本参数。 4.准备Zookeeper环境:Kafka集群依赖于Zookeeper环境,需要先安装Zookeeper。 5.配置Zookeeper:修改Zookeeper的配置文件config/zookeeper.properties,设置Zookeeper的基本参数。 二、搭建Kafka集群 1.编辑Kafka配置文件:修改Kafka的配置文件config/server.properties,设置Kafka节点通信机制,以及数据保存路径等参数。 2.启动Zookeeper:启动Zookeeper,确保Zookeeper正常工作。 3.启动Kafka服务器:执行bin/kafka-server-start.sh config/server.properties命令启动Kafka服务器,启动成功后就可以在本机访问Kafka。 4.配置Kafka集群: 在每个Kafka节点上修改配置文件,设置broker.id、zookeeper.connect、port等参数,然后依次启动所有节点。 5.测试Kafka集群: 在集群中的任何一个节点上创建一个主题,向主题中发送消息并消费消息,以确保Kafka集群的正常工作。 三、集群管理 管理Kafka集群需要使用kafka-manager或kafka-web-console等工具,可以通过Web界面来管理Kafka集群的主题、分区、消费者以及监控Kafka的各项指标,方便用户进行集群管理。 总之,通过上述步骤,可以快速搭建一个高可靠、高吞吐量的Kafka集群,为企业提供无缝的数据传输、消息中间件服务。同时,对于管理者而言,还需要做好监控和维护工作,保证 kafka 集群持续稳定的工作,最终满足各种复杂业务的数据流转和处理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值