# Kafka ## 1. Kafka基本概念及配置 - 官方QuickStart: https://kafka.apache.org/quickstart - 官方文档: https://kafka.apache.org/documentation/ - 最新版本 3.2.0 【截止2022-7-20】 - 学习版本 kafka_2.11-2.4.0【前面是scala后面是kafka】 zookeeper-3.5.7【截止2022-7-20】 ### 1.1 概念 - 概述 - Kafka 是分布式的流处理平台 - Kafka 是基于Zookeeper的分布式消息系统 - Kafka具有高吞吐率、高性能、实时、高可靠等特点 - Kafka 的组成概念 - Topic: 一个虚拟的概念, 由1到多个Partitions组成 - Partition: 实际消息存储单位 - Producer: 消息生产者 - Consumer: 消息消费者 - ### 1.2 安装Zookeeper(快捷) ```shell # 修改配置文件 cp zoo_sample.cfg zoo.cfg # 需要修改参数 dataDir=指定一个存储配置文件的目录 # 启动 ./zkServer.sh start # 连接测试 ./zkCli.sh ``` ### 1.3 安装Kafka ```shell # 修改基本的配置文件 vim server.properties # 需要修改的配置项 listeners=PLAINTEXT://[你的ip地址]:9092 advertised.listeners=PLAINTEXT://[你的ip地址]:9092 log.dirs=你的kafka的日志目录 zookeeper.connect=[你的ip地址]:2181 ``` ### 1.5 kafka的基本操作 ```shell # 1、启动Kafka - todo 这个命令会让控制台有日志生成不太方便 bin/kafka-server-start.sh config/server.properties & # 2、停止Kafka bin/kafka-server-stop.sh # 3、创建Topic bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic jiangzh-topic # 4、查看已经创建的Topic信息 bin/kafka-topics.sh --list --zookeeper localhost:2181 # 5、发送消息 bin/kafka-console-producer.sh --broker-list 192.168.220.128:9092 --topic jiangzh-topic # 6、接收消息 bin/kafka-console-consumer.sh --bootstrap-server 192.168.220.128:9092 --topic jiangzh-topic --from-beginning # {"orderId":"002","price":"80"} ``` ## 2. Kafka客户端操作 ## 3. Producer生产者 ## 4. Consumer ## 5. Stream ## 6. Connect ## 7. Kafka集群部署与开发 ## 8. Kafka集群监控、安全与最佳实践 ## 9. Kafka面试点梳理