文章更新时间:2021/10/28

一、安装JDK

  过程就不过多介绍了...

二、安装Zookeeper

安装过程可以参考此处~

三、安装并配置kafka

下载kafka

Kafka下载地址: http://kafka.apache.org/downloads

解压文件

kafka学习(二)kafka安装与命令行调用_kafka

修改配置文件

kafka学习(二)kafka安装与命令行调用_zookeeper_02

一些主要的配置信息
#1、broker实例id 这个是kafka集群区分每个节点的唯一标志符
broker.id=0

#2、监听的端口号
listeners=PLAINTEXT://:9092

#3、消息的存放路径
log.dirs=G:\kafka\kafka_2.11-2.4.1\logs

#4、kafka消息的保留时间,默认为7天即168小时【单位为:小时】
log.retention.hours=168

#5、log文件存放着msg,这里设置的是log文件的最大大小,默认最大为1个G【单位为:byte】
log.segment.bytes=1073741824

#6、kafka链接的zk地址
zookeeper.connect=localhost:2181

#7、kafka链接的超时时间
zookeeper.connection.timeout.ms=6000

#8、默认的分区数量
num.partitions=1
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

四、启动并测试kafka【以windows操作示例】

启动ZK

kafka学习(二)kafka安装与命令行调用_命令行_03

启动kafka

kafka学习(二)kafka安装与命令行调用_kafka_04

##使用配置文件启动kafka
kafka-server-start.bat ..\..\config\server.properties
  • 1.
  • 2.

创建topic

再次进入kafka的bat脚本目录,输入cmd打开命令行窗口,输入以下命令,创建kafka的消息topics【topic名为zhTest】

##表示创建一个名为zhTest的Topic,分区为1,副本也为1
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic zhTest
  • 1.
  • 2.

replication-factor:表示在不同的broker中保存几份副本。

  partitions:表示分区数。设置为1表示该topic(同一个brocker上)存在有多少个分区。PS:每个分区的数据是不重复的,用于提高吞吐量。

查看topic

kafka-topics.bat --list --zookeeper localhost:2181  ##查看localhost:2181上存在的topic信息
  • 1.

启动生产者

  再次进入kafka的bat脚本目录,输入cmd打开命令行窗口,输入以下命令,创建Producer:

##此命令为修改命令行窗口的名称,此命令可不执行,直接执行下面的命令去启动生产者
title producer

##此命令为启动生产者,向zhTest这个Topic生产消息
kafka-console-producer.bat --broker-list localhost:9092 --topic zhTest
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

  可在窗口中输入消息内容:

kafka学习(二)kafka安装与命令行调用_kafka_05

启动消费者

  再次进入kafka的bat脚本目录,输入cmd打开命令行窗口,输入以下命令,创建consumer:

##此命令为修改命令行窗口的名称,此命令可不执行,直接执行下面的命令去启动消费者
title consumer
##--from-beginning参数表示从开头开始消费消息
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic zhTest --from-beginning
  • 1.
  • 2.
  • 3.
  • 4.

  可在窗口中输出消息内容:

kafka学习(二)kafka安装与命令行调用_命令行_06

  PS:某些博文里会推荐使用

kafka-console-consumer.bat --zookeeper localhost:2181 --topic testDemo
  • 1.

  这个命令来启动消费者,这里说明一下,低版本的kafka是用这个命令来启动消费者并进行消息消费的,由于本文使用的kafka版本较高,所以才用的上面那个命令行进行消费者启动,并消费信息。