Add km module kafka

This commit is contained in:
leewei
2023-02-14 16:27:47 +08:00
parent 229140f067
commit 0b8160a714
4039 changed files with 718112 additions and 46204 deletions

View File

@@ -0,0 +1,106 @@
#### 环境要求
- Java11
- IDEA 示例以2022.3.1版本为准,其他版本可能存在差异)
- Gradle 5.6.2 (自动下载,无需提前准备)
#### 环境配置
##### 1. **下载源码**
```
$ git clone https://giturl/kafka.git
```
##### 2. **切换分支**
```
$ git checkout -b kafka-2.5.0-d-350-dev origin/kafka-2.5.0-d-350
```
##### 3. **生成IDEA项目文件**
```
$ cd kafka
$ ./gradlew idea
```
然后使用IDEA打开kafka.ipr文件
##### 4. **IDEA配置**
下载Scala插件 ![kafka-dev-idea-scala-plugin](assets/kafka-dev-idea-scala-plugin.png)
Project Settings -> Project -> Project JDK改为Java11 ![IDEA JDK](assets/kafka-dev-jdk.png)
##### 5. **生成消息协议文件**
```
./gradlew jar
或者
./gradlew clients:processMessages
```
> 至此已经可以正常在IDEA下查看Kafka源码了
##### 6. **编译Kafka Release包**
```
./gradlew clean releaseTarGz
```
或者IDEA上执行
![Release](assets/kafka-dev-build-release.png)
#### 运行环境
##### 1. **修改配置文件**
**config/server.properties**
主要修改以下配置
```
broker.id=0 // Broker节点ID可以保持默认
listeners=PLAINTEXT://:9092 // 监听地址,或者认证方式参考以下额外参数
log.dirs=kafka-logs // 数据目录
zookeeper.connect=localhost:2181 // ZK地址
认证方式额外参数(根据实际情况调整):
listeners=SASL_PLAINTEXT://:9093,PLAINTEXT://:9092
sasl.enabled.mechanisms=PLAIN
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
增强版Kafka额外配置参数
cluster.id=0 // LogiKM中接入的集群ID
gateway.url=http://logikm-ip:8080/gateway // LogiKM地址
```
##### 2. **修改IDEA运行配置**
![kafka-dev-idea-run-config](assets/kafka-dev-idea-run-config.png)
> 记得Add VM options
```
VM options: -Dlog4j.configuration=file:config/log4j.properties -Dkafka.logs.dir=server-logs
Main class: kafka.Kafka
Program arguments: config/server.properties
如果是认证方式额外参数:
-Djava.security.auth.login.config=config/kafka_server_jaas.conf
```
##### 3. **运行Kafka**
![kafka-dev-run-kafka](assets/kafka-dev-run-kafka.png)