You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
2.1 KiB
Markdown
106 lines
2.1 KiB
Markdown
2 years ago
|
|
||
|
# 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面试点梳理
|