0


Kafka和Zookeeper的安装与使用指南

在分布式系统的世界中,Kafka是一种高性能的消息队列系统,而Zookeeper则作为分布式协调服务的基础工具之一,为Kafka的高效运行提供支持。本指南将详细介绍在Windows和Linux系统中安装和配置Zookeeper和Kafka的步骤,并包含一些常用命令和经验总结,帮助你更好地掌握这些工具。

1. Zookeeper的安装与配置

1.1 Windows环境下的安装与启动

(1)安装路径

  • Zookeeper安装在 C:\software\zookeeper
  • Kafka安装在 C:\software\kafka

(2)启动Zookeeper

  • 检查Zookeeper是否启动:使用命令 netstat -ano | findstr 2181 检查Zookeeper服务是否已启动。
  • 后台启动:通过脚本 C:\software\kafka\bin\windows\0zk_backRun.vbs 以后台方式启动Zookeeper。
  • 前台启动:通过脚本 C:\software\kafka\bin\windows\0zookeeper-start.bat 在前台窗口启动Zookeeper。
1.2 Linux环境下的安装与配置

(1)下载与解压

  • 下载Zookeeper安装包:Zookeeper下载链接。
  • 将安装包上传到Linux服务器后,解压至 /usr/local/zookeeper
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz

(2)配置Zookeeper

  • 进入 conf 目录,并复制 zoo_sample.cfgzoo.cfg
cp zoo_sample.cfg zoo.cfg
  • 编辑 zoo.cfg 文件,确保 dataDir 属性指向合适的目录:
dataDir=/tmp/zookeeper
clientPort=2181

(3)启动、关闭、查看Zookeeper服务

  • 启动Zookeeper:
./zkServer.sh start
  • 关闭Zookeeper:
./zkServer.sh stop
  • 查看Zookeeper状态:
./zkServer.sh status

2. Kafka的安装与配置

2.1 Windows环境下的安装与启动

(1)安装路径
Kafka安装在

C:\software\kafka

(2)启动Kafka

  • 在启动Kafka前,确保Zookeeper已经启动。可以通过 zkServer.sh 启动Zookeeper。
  • 启动Kafka服务:
C:\software\kafka\bin\windows\1kafka-start.bat
2.2 Linux环境下的安装与启动

(1)下载与解压

  • 通过官网直接下载Kafka安装包。
  • 解压安装包并进入Kafka目录:
tar -xzf kafka_2.12-2.8.0.tgz
cd kafka_2.12-2.8.0

(2)配置Kafka

  • 修改Kafka的配置文件 server.properties,确保Zookeeper的连接配置正确:
vi config/server.properties

修改

zookeeper.connect

配置项为自己安装的Zookeeper地址和端口号:

zookeeper.connect=192.168.1.*:2081

(3)启动Kafka

  • 确保Zookeeper已经启动,然后启动Kafka:
bin/kafka-server-start.sh config/server.properties

3. Kafka和Zookeeper的常用命令

(1)启动Zookeeper

  • Windows
skServer
  • Linux
./zkServer.sh start

(2)启动Kafka

  • Windows
.\bin\windows\kafka-server-start.bat .\config\server.properties
  • Linux
./kafka-server-start.sh ../config/server.properties
nohup ./kafka-server-start.sh ../config/server.properties &

(3)创建主题

  • Windows
.\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic <Your-Topic-Name>
  • Linux
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic <Your-Topic-Name>

(4)创建生产者

  • Windows
.\kafka-console-producer.bat --broker-list localhost:9092 --topic <Your-Topic-Name>
  • Linux
./kafka-console-producer.sh --broker-list localhost:9092 --topic <Your-Topic-Name>

(5)创建消费者

  • Windows
.\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic <Your-Topic-Name> --from-beginning
  • Linux
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic <Your-Topic-Name> --from-beginning

(6)查询主题

  • Windows
.\kafka-topics.bat --list --zookeeper localhost:2181
  • Linux
./kafka-topics.sh --list --zookeeper localhost:2181

(7)删除主题

./kafka-topics.sh --delete --zookeeper localhost:2181 --topic <Topic-Name>

(8)查询Consumer Group

  • 查询Kafka中所有的消费组:
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
./kafka-consumer-groups.sh --zookeeper localhost:2181 --list

(9)查看消费情况

bin/kafka-consumer-groups.sh --describe --bootstrap-server localhost:9092 --group <Your-Group-Name>
.\kafka-consumer-groups.bat --describe --bootstrap-server <Your-Bootstrap-Server> --group <Your-Group-Name>

4. Kafka消费者Offset处理

Kafka消费者在处理消息时,Offset的管理是一个重要的环节。以下是一些关于Offset处理的要点:

(1)未提交Offset:在消费者运行期间,如果Offset没有提交,则程序不会重复消费。但重启后,会从最后一次提交的Offset开始消费,导致之前未提交的消息被重新消费。

(2)部分提交Offset:如果消费者在某些消息处理后提交了Offset,而其他消息未提交,服务端将仅记录已提交的最新Offset。这意味着,即使重启,Kafka也不会重新消费已提交之后的消息。

(3)重启消费者后的Offset处理:如果在消费过程中未提交Offset,重新初始化客户端消费者时,将从服务端获取最新的Offset。此时,可以重新消费未提交Offset的消息。

5. 启动Kafka时遇到的常见问题及解决方法

(1)文件占用导致启动失败:在Windows系统中,有时启动Kafka时会提示文件被占用。这时可以尝试以管理员身份运行CMD,并使用命令行启动Kafka,避免权限不足导致的问题。

(2)Zookeeper服务未启动:在启动Kafka之前,必须确保Zookeeper服务已经启动。如果未启动Kafka可能会因为无法连接Zookeeper而失败。


本指南总结了在Windows和Linux

环境下安装和配置Kafka与Zookeeper的过程,并提供了常用命令和Offset管理的要点。如果你在实际操作中遇到问题,可以参考本指南中的命令和步骤来排查和解决问题。希望这些内容能帮助你更好地理解和使用Kafka与Zookeeper。


本文转载自: https://blog.csdn.net/AngelCryToo/article/details/141064563
版权归原作者 张3蜂 所有, 如有侵权,请联系我们删除。

“Kafka和Zookeeper的安装与使用指南”的评论:

还没有评论