> 技术文档 > Kafka本地配置+idea连接调用_idea kafka插件

Kafka本地配置+idea连接调用_idea kafka插件

目前学习到kafka这个处理大数据的分布式应用,在配置本地服务并调用时遇到了困难,现在理解后,出一篇文章😁

首先要在本地安装zookeeper和kafka。

一、Zookeeper的安装与配置

1. 下载压缩包:官网途径:
https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gzhttps://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gz2. 解压后进入D:\\JavaProperties\\apache-zookeeper-3.6.4-bin

如下图位置,路径名称可以自定义。

        2.1 新建文件夹 data

        2.2 进入 conf 文件夹,复制 zoo_sample.cfg ,在原位置粘贴并改名为 zoo.cfg,如下图:

        这里有个小技巧分享一下:点击工具栏上的 查看/显示,可以显示隐藏文件,文件扩展名

        2.3 配置zoo.cfg文件

        打开zoo.cfg后,修改 dataDir 和 clientPort 两个字段,后者默认为 2181,可以不修改

        前者路径分隔要使用“\\\\”

        2.4 配置系统环境变量

        第一步,先完成ZOOKEEPER_HOME的配置,如下图顺序

        

        第二步,配置Path变量

        按如下步骤配置

        

3. 检查是否配置完成

win+r,输入cmd,在终端中输入 zkServer,出现如下输出就表示配置成功。注意配置的端口是否正确

二、Kafka的安装与配置

1. 下载压缩包:官网途径:

https://archive.apache.org/dist/kafka/3.5.1/kafka_2.12-3.5.1.tgzhttps://archive.apache.org/dist/kafka/3.5.1/kafka_2.12-3.5.1.tgz2. 进入D:\\JavaProperties\\kafka_2.12-3.5.1,新建文件夹kafka-logs

        2.1 修改下图所选文件的配置

        2.2 具体修改项

listeners=PLAINTEXT://localhost:9092log.dirs=D:\\\\JavaProperties\\\\kafka_2.12-3.5.1\\\\kafka-logszookeeper.connect=localhost:9093

        最后一项,若未修改zookeeper的默认端口,则将9093改为2181

3. 检查是否配置完成

        3.1 首先打开zookeeper

        3.2 新开窗口,进入kafka安装目录,输入启动命令:

.\\bin\\windows\\kafka-server-start.bat .\\config\\server.properties

  

  

三、Idea连接Kafka本地服务器并调用

1. 创建项目,连接Kafka

2. 安装 Kafka 和 Big Data Tools Core 插件,需要科学上网

3. 连接本地服务器

要让终端在后台运行 Kafka 服务,才能正确连接

4. Kafka 配置

因为本地运行的 Kafka 服务占用了 8080 端口,所以改spring工程端口号

模拟Sender 和 Reciver,代码如下

Sender:

package com.vikTorx.demo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.kafka.core.KafkaTemplate;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controller@RequestMapping(\"kafka\")public class KafkaSender { @Autowired private KafkaTemplate kafkaTemplate; //发送消息方法 @RequestMapping(\"/send\") @ResponseBody public String send() { kafkaTemplate.send(\"Recipe\", \"Hongshaorou\", \"美味好吃\"); return \"success\"; }}

Reciver:

package com.vikTorx.demo;import java.util.Optional;import org.apache.kafka.clients.consumer.ConsumerRecord;import org.springframework.kafka.annotation.KafkaListener;import org.springframework.stereotype.Component;@Componentpublic class KafkaReceiver { // 完善此处的代码 @KafkaListener(topics = \"Recipe\") public void listen(ConsumerRecord record) { Optional kafkaMessages = Optional.ofNullable(record.value()); if (kafkaMessages.isPresent()) { Object message = kafkaMessages.get(); System.out.println(\"message = \" + message); } }}

5. 结果展示

浏览器输入http://127.0.0.1:8081/kafka/send 发送请求,在Idea终端查看结果

ok,全部完成啦,求点赞