• Kafka 单机部署搭建及其基本使用


    最近在搞Flink 框架 其中数据源需要模拟kafka取数据 ,于是自己搭建了一套单机的kafka环境,以便用于测试。现整理如下的笔记,发上来和大家分享。后续还会有kafka的相关笔记,会与大家继续分享!

    当前文档所部署服务器 IP地址为192.168.118.218 hostname 为web

    一、 kafka环境搭建

    下载kafka很简单,可以使用源码的方式和安装包的方式安装。这里使用安装包的方式进行安装,只需要进行解压运行即可。
    源码下载地址:https://archive.apache.org/dist/kafka/2.5.0/kafka-2.5.0-src.tgz
    安装包下载地址:https://archive.apache.org/dist/kafka/2.5.0/kafka_2.12-2.5.0.tgz

    (1)、解压kafka_2.12-2.5.0.tgz,得到 "kafka_2.12-2.5.0 " 文件夹。

    tar -zxvf kafka_2.12-2.5.0.tgz
    
    • 1

    (2)、kafka需要安装zookeeper使用,但kafka集成zookeeper,在单机搭建时可直接使用。使用需配置kafka_2.12-2.5.0/config 下的“zookeeper.properties”

    cd kafka_2.12-2.5.0/config
    
    • 1

    注:经过部署发现 kafka必须配置zookeeper 否则无法启动 无论是单机还是集群,必须,必须,必须开启

    (3)、配置"zookeeper.properties"。修改dataDir和clientPort。前者是快照存放地址(自己随意配置),后者是客户端连接zookeeper服务的端口。默认端口2181 最好默认不修改

    vim kafka_2.12-2.5.0/config/zookeeper.properties
    
    • 1

    (4)、配置kafka_2.12-2.5.0/config下的“server.properties”,修改log.dirs和zookeeper.connect。前者是日志存放文件夹,后者是zookeeper连接地址(端口和clientPort保持一致)。

    vim kafka_2.12-2.5.0/config/server.properties
    
    • 1

    注:这里的web 为服务器的hostname 能不能写ip呢大家可以试试,我这里写的是我的hostname

    注:若需要外部访问 一定需要配置listeners 默认为本机IP 端口默认9092如图:

    到此,kafka的单机环境就搭建成功了。

    二 kafka的相关命令

    (1) 开启kafka自带zookeeper

    前台运行:

    ./bin/zookeeper-server-start.sh ./config/zookeeper.properties
    
    • 1

    后台运行:

    ./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
    
    • 1

    (2) 开启kafka

    前台运行:

    bin/kafka-server-start.sh config/server.properties
    
    • 1

    后台运行:

    ./bin/kafka-server-start.sh -daemon ./config/server.properties
    
    • 1

    使用jps命令查看是否正常了

    [root@web config]# jps
    10978 QuorumPeerMain
    31613 ConsoleConsumer
    31150 Kafka
    41839 Jps
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (3)创建kafka主题:

    topic为test

    ./bin/kafka-topics.sh --create --zookeeper 192.168.118.128:2181 --replication-factor 1 --partitions 1 --topic test
    
    #也可以使用下面命令 与上面命令等效
    ./bin/kafka-topics.sh --create --zookeeper web:2181 --replication-factor 1 --partitions 1 --topic test
    
    • 1
    • 2
    • 3
    • 4

    其中zookeeper 可以使用hostname 也可以使用IP,若使用hostname,请注意hosts 即/etc/hosts 与hostname最好保持一致!

    (4)显示kafka所有主题:

    ./bin/kafka-topics.sh --list --zookeeper 192.168.118.128:2181
    
    #也可以使用下面命令 与上面命令等效
    ./bin/kafka-topics.sh --list --zookeeper web:2181
    
    
    
    
    [root@web kafka_2.12-2.5.0]# ./bin/kafka-topics.sh --list --zookeeper 192.168.118.128:2181
    __consumer_offsets
    test
    test1
    test2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    (5)查看某个主题的详细信息:

    ./bin/kafka-topics.sh --zookeeper 192.168.118.128:2181 --describe ?--topic test2
    
    
    Topic: test2	PartitionCount: 2	ReplicationFactor: 1	Configs: 
    	Topic: test2	Partition: 0	Leader: 0	Replicas: 0	Isr: 0
    	Topic: test2	Partition: 1	Leader: 0	Replicas: 0	Isr: 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    (6)创建kafka生产者:

    ./bin/kafka-console-producer.sh --broker-list 192.168.118.128:9092 --topic test2
    
    • 1

    (7)创建kafka消费者

    ./bin/kafka-console-consumer.sh --bootstrap-server 192.168.118.128:9092 --topic test2 --from-beginning
    
    • 1

    –from-beginning 是从头开始消费

    如下图所示:

    解释:

    –zookeeper:后面接的是你配置的zookeeper地址

    –broker-list:默认端口为9092.可自行更改

  • 相关阅读:
    TCP/IP之IP地址分类
    【C++】队列
    人机验证reCAPTCHA v3使用完备说明
    面向对象分析与设计(图书管理系统)--实验4活动图
    SR和GBN的区别
    基于文件上传漏洞获得网站 shell 权限
    【c++ primer 笔记】第10章 泛型算法
    css3-盒子模型、内外边距、圆角边框
    Selenium自动化测试之Selenium IDE
    seata相关图形,dljd,cat
  • 原文地址:https://blog.csdn.net/web17886480312/article/details/126034345