栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

背景

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

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

    kafka3 不再一定依赖zookeeper,它自带两种模式:Kraft模式 和 基于zookeeper启动的模式(如果可以这么叫的话)Kraft模式 是新的,基于zookeeper启动的模式是旧的,原有的,并且未来会去掉。kafka3 不支持jdk8目前kafka3的Kraft模式 不是很稳定,不太建议用在生产环境。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
        

        效果如图:

          查看启动后的效果
        实际使用

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

        命令行方式使用

        创建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

        依赖信息:

        
        
            4.0.0
        
            
                spring-boot-starter-parent
                org.springframework.boot
                2.1.9.RELEASE
            
        
            org.example
            sb-kafka-demo
            1.0-SNAPSHOT
        
        
            
                
                    org.springframework.boot
                    spring-boot-starter-web
                
        
                
                    org.springframework.kafka
                    spring-kafka
                
        
                
                    org.springframework.boot
                    spring-boot-configuration-processor
                    true
                
            
        
        

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

        注意事项

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

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

        上个收发成功的图

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

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

        转载请注明:文章转载自 www.mshxw.com
        本文地址:https://www.mshxw.com/it/777892.html
        我们一直用心在做
        关于我们 文章归档 网站地图 联系我们

        版权所有 (c)2021-2022 MSHXW.COM

        ICP备案号:晋ICP备2021003244-6号