Kafka的安装及测试(Window)

What is Kafka?

  • Kafka(http://kafka.apache.org)是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。kafka是一种高吞吐量的分布式发布订阅的消息队列系统,具有高性能和高吞吐率

基本术语

  • Broker(代理)
      Kafka集群包含一个或多个服务器,这种服务器被称为broker
  • Topic(主题)
      每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic(在物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
  • Partition(分区)
      Partition是物理上的概念,每个Topic包含一个或多个Partition.(一般为kafka节点数cpu的总核数)
  • Producer(生产者)
      负责发布消息到Kafka broker
  • Consumer(消费者)
      从Kafka broker读取消息的客户端
  • Consumer Group(消费者组)
      每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的Group)
  • kafka结构图
    在这里插入图片描述

环境部署

一、安装jdk

  我们从上图中看到了Zookeeper,至于Zookeeper是什么我会在下一点简单介绍,Zookeeper的运行需要jdk支持,所以我们需要安装jdk,具体的安装过程本文这里不做详细介绍,可参考:Windows7/10下 JDK安装及环境配置

二、安装Zookeeper

  • Zookeeper是什么
      ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。简单来说 Zookeeper 就是动物园管理员,他是用来管 hadoop(大象)、Hive(蜜蜂)、pig(小猪)的管理员, Apache Hbase 和 Apache Solr 的分布式集群都用到了 Zookeeper。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
  • Kafka和Zookerper的关系
      Kafka可以使用Zookeeper来实现集群的动态扩展,不需要更改客户端(producer和consumer)的配置。broker会在Zookeeper注册并保持相关的元数据(topic,partition信息等)更新。而客户端会在Zookeeper上注册相关的watcher。一旦Zookeeper发生变化,客户端能及时感知并作出相应调整。这样就保证了添加或去除broker时,各broker间仍能自动实现负载均衡。
  • Zookeeper的安装
    ①到官网上下载安装包:Zookeeper官网地址
    在这里插入图片描述
    ②选择合适的版本,如我这里选择的是 apache-zookeeper-3.5.7,其中包含两个文件
    apache-zookeeper-3.5.7.tar.gzapache-zookeeper-3.5.7-bin.tar.gz都下下来。在这里插入图片描述在这里插入图片描述
    ③解压这两个文件,解压后将apache-zookeeper-3.5.7-bin目录下的lib目录拷贝至apache-zookeeper-3.5.7主目录下,然后将apache-zookeeper-3.5.7\conf目录下的zoo_sample.cfg粘贴复制到同目录下并命名为zoo.cfg,打开zoo.cfg配置dataDir、dataLogDir的路径。
    zoo.cfg配置
    ④配置系统环境变量,在Path后增加D:\SoftWare\Zookeeper\apache-zookeeper-3.5.7\bin
  • Zookeeper的测试
    在windows中打开新的cmd窗口,输入zkServer命令启动,启动成功应该是这样的
    在这里插入图片描述
    注意:我们可以看到Zookeeper的默认端口是2181,这个端口我们可以在zoo.cfg进行修改。博主第一次安装启动测试的时候出现了如下的问题,最关键的问题是没有将apache-zookeeper-3.5.7-bin目录下的lib目录拷贝至apache-zookeeper-3.5.7主目录下,如果有小伙伴出现如下问题估计就是这里遗漏了哦。
    在这里插入图片描述

    三、安装Kafka

    ①到官网上下载安装包:Kafka官网地址。博主这里选择了Scala 2.12- kafka_2.12-2.4.0.tgz (asc, sha512) 版本,你要问我因为啥?哈哈,官方建议的。在这里插入图片描述
    ②解压该文件至需要保存的目录,修改kafka_2.12-2.4.0\config目录下的server.properties文件中的log.dirs路径
    在这里插入图片描述
    ③配置系统环境变量,在Path后增加D:\SoftWare\Kafka\kafka_2.12-2.4.0\bin\windows
  • Kafka的测试
    ①启动测试:在Kafka文件根目录D:\SoftWare\Kafka\kafka_2.12-2.4.0启动cmd,输入命令.\bin\windows\kafka-server-start.bat .\config\server.properties,日志信息出现started(kafka.server.KafkaServer)字样即代表启动成功。
    在这里插入图片描述
    注意:Kafka启动需要保持Zookeeper的cmd启动窗口不关闭。
    ②Topic的创建:保持Kafka的cmd启动窗口不关闭,在根目录另起一个cmd窗口,输入命令.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic random,日志信息出现Created topic random.字样即代表创建成功。
    • 查看所有topic
      .\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --list
      
    • 查看topic详细信息
      .\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --describe
      

③Producer的创建:保持Kafka的cmd启动窗口不关闭,在根目录另起一个cmd窗口,输入命令.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic random,日志信息出现>字样即代表创建成功。
在这里插入图片描述
④Consumer的创建:保持Kafka的cmd启动窗口不关闭,在根目录另起一个cmd窗口,输入命令.\bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic random,日志信息出现zookeeper is not a recognized option字样,这是因为新版本kafka中,–zookeeper这种启动方式已删除,我们需改为新版本支持的启动方式,输入命令.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic random --from-beginning
在这里插入图片描述
⑤生产消费的测试:在Producer的cmd窗口输入需要测试的信息,如 hello kafka,在Consumer的cmd窗口会自动出现对应的信息,代表测试成功。效果如下:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上安装Kafka并进行测试,您可以按照以下步骤进行操作: 1. 首先,确保您的Linux系统已经安装了Java。您可以在终端中运行以下命令来检查Java的安装情况: ``` java -version ``` 如果您没有安装Java,请根据您的Linux发行版进行安装。 2. 下载Kafka。您可以通过访问Kafka的官方网站(https://kafka.apache.org/downloads)来下载最新版本的Kafka。选择合适的二进制文件下载链接。 3. 解压下载的Kafka压缩文件。您可以使用以下命令将其解压到所需的目录中(例如/opt目录): ``` tar -xzf kafka_<version>.tgz -C /opt ``` 4. 进入Kafka目录: ``` cd /opt/kafka_<version> ``` 5. 启动Zookeeper服务。Kafka依赖于Zookeeper来管理集群状态。您可以在启动之前编辑`config/zookeeper.properties`文件以进行必要的配置更改。然后,运行以下命令启动Zookeeper服务: ``` bin/zookeeper-server-start.sh config/zookeeper.properties ``` 6. 启动Kafka服务。在另一个终端窗口中,运行以下命令启动Kafka服务器: ``` bin/kafka-server-start.sh config/server.properties ``` 7. 创建一个主题。您可以使用以下命令创建一个名为`test`的主题: ``` bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 ``` 8. 发布和消费消息。在同一个终端窗口中,使用以下命令发布一些消息: ``` bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092 ``` 在另一个终端窗口中,使用以下命令消费消息: ``` bin/kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning ``` 这样,您就可以在Kafka中发布和消费消息了。 请注意,以上步骤假设您已经在单个节点上安装并运行Kafka。如果您希望在多个节点上设置Kafka集群,还需要进行其他配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值