CentOS7.x 安装和使用kafka(命令行使用、java操作)

背景

在这里插入图片描述

今天是2022年3月23日
目前官网能下载到的最新的kafka已经是kafka-3.1.0-src.tgz版本

查了一阵子,发现kafka3 是一个大版本。
变化内容诸如(仅限个人理解,不一定全面和绝对准确):

  1. kafka3 不再一定依赖zookeeper,它自带两种模式:Kraft模式基于zookeeper启动的模式(如果可以这么叫的话)
  2. Kraft模式 是新的,基于zookeeper启动的模式是旧的,原有的,并且未来会去掉。
  3. kafka3 不支持jdk8
  4. 目前kafka3的Kraft模式 不是很稳定,不太建议用在生产环境。
  5. kafka3目前教程不多,网上找到的多是kafka2的例子

结论:先装kafka2学习

实操

1. 按照官网操作

在这里插入图片描述
安装包自行下载,很容易。

2. 按文档执行安装

$ tar -xzf kafka_2.13-3.1.0.tgz
$ cd kafka_2.13-3.1.0
# Start the ZooKeeper service
# Note: Soon, ZooKeeper will no longer be required by Apache Kafka.
$ bin/zookeeper-server-start.sh config/zookeeper.properties

我的操作后的效果如图:
在这里插入图片描述

# Start the Kafka broker service
$ bin/kafka-server-start.sh config/server.properties

效果如图:
在这里插入图片描述

  1. 查看启动后的效果
    在这里插入图片描述

实际使用

官方文档里就非常详细准确了,可完全照着做

命令行方式使用

创建event

bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

发消息:

bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092

Ctrl + C 终止。

展示消息:

bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092

操作如图:
在这里插入图片描述

java代码方式使用

我仿照了这个文章的做法,但启动报错,并未成功。
https://segmentfault.com/a/1190000015316875

后经过调整,springboot启动成功、kafka也正常收发消息,算是完成了demo。
地址:
https://gitee.com/codejam_org/springboot-kafka-demo

依赖信息:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.1.9.RELEASE</version>
    </parent>

    <groupId>org.example</groupId>
    <artifactId>sb-kafka-demo</artifactId>
    <version>1.0-SNAPSHOT</version>


    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>
</project>

具体java代码见demo,亲测成功。

注意事项
  1. 特别补充一下,如果你的kafka-server 和 java项目不在同一台机器的话,需要设置一下允许kafka远程访问。
    参考地址:https://blog.csdn.net/u012887259/article/details/102425818

  2. 使用的kafka是 2.13版本的,springboot是 2.1.9-RELEASE版本的

上个收发成功的图

在这里插入图片描述

在这里插入图片描述

当前(2022年3月23日)网页备份

对先后启动zk和kafka有用,对java操作无用,放在这里只是个备份
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值