一.背景

      之前公司需要API网关管理软件ApacheShenYu,我相信把调用的记录都存到一个数据库。他支持日志推送到kafka,所以,我准备尝试一下通过kafka接收调用的日志信息。第一步,当然是安装kafka了。

二.ApacheKafka的下载

打开下载界面Apache Kafka

我点击的是这个。

三.ApacheKafka在windows下面的安装

      kafka依赖于zookeeper,都在下载的包里面了。安装解压后需要放到盘符的根目录下面,我之前没有放根目录有点问题,后续空了再查找详细原因。

     1.解压到D:\kafka_2.13-3.7.1

     2.创建目录 

      D:\kafka_2.13-3.7.1\data\zookeeper

      D:\kafka_2.13-3.7.1\data\kafka

     3.修改配置文件

     1)D:\kafka_2.13-3.7.1\config\zookeeper.properties

    修改dataDir即可

    dataDir=D:/kafka_2.13-3.7.1/data/zookeeper

    2)D:\kafka_2.13-3.7.1\config\server.properties

    修改 log.dirs即可

    log.dirs=D:/kafka_2.13-3.7.1/data/kafka

四.ApacheKafka启动

   1.先启动zookeeper

   打开cmd,运行启动命令及参数   

cd /d D:\kafka_2.13-3.7.1\bin\windows
zookeeper-server-start.bat ../../config/zookeeper.properties

     仔细看,如果有INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory),应该就启动正常了。

   2.启动kafka

     打开cmd,运行启动命令及参数   

cd /d D:\kafka_2.13-3.7.1\bin\windows
kafka-server-start.bat ../../config/server.properties

     如果有下面两句,一般就没有问题了。

    Connecting to zookeeper on localhost:2181 (kafka.server.KafkaServer)
    Initializing a new session to localhost:2181. (kafka.zookeeper.ZooKeeperClient)

五.测试ApacheKafka是否正常

    1.创建一个topic    

  新打开一个cmd窗口,输入如下两个命令:

cd /d D:\kafka_2.13-3.7.1\bin\windows
kafka-console-producer.bat  --bootstrap-server localhost:9092 --topic test-topic

    这样,我们就创建了一个叫test-topic的主题了。

   2.接收消息

      再新打开一个cmd窗口,输入如下两个命令:  

cd /d D:\kafka_2.13-3.7.1\bin\windows
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test-topic

   这样,我们开始监听test-topic主题了。

    3.发送与接收查看

     在刚刚创建窗口输入hello,你就可以在监听窗口收到hello了。如下图:

   

六.中文乱码的处理

    唉!手贱,本想写文章就简单说下思路就行了。但是输入了个中文,看到了乱码,我就受不了,解决吧!

   暂时留在这里,后续修改。。。

七.退出

    开发状态,也不用管优雅了。直接关闭相关的cmd窗口,就退出了topic的监听,关闭了kafka、zookeeper了。后面生产部署才去了解优雅的启动与关闭吧!

    

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐