Add km module kafka

This commit is contained in:
leewei
2023-02-14 14:57:39 +08:00
parent 229140f067
commit 469baad65b
4310 changed files with 736354 additions and 46204 deletions

View File

@@ -0,0 +1,241 @@
# 滴滴LogIKM安装部署手册
[TOC]
---
## 1、安装包说明
|软件包|包名称|备注说明|
|---|---|---|---|
|kafka| kafka_2.12-2.5.0-d-204.tgz| kafka安装包|
|kafka-manager| kafka-manager-2.3.0.tar| kafka-manager安装包|
|kafka-service-discovery| kafka-sd-2.5.0-d-100.tar| kafka服务发现安装包|
|zookeeper| zookeeper-3.4.14.tar| zk安装包|
## 2、安装顺序
1. 安装`kafka-manager`
2. 安装`zookeeper`
3. 安装`kafka`
4. 安装`kafka-service-discovery`
---
### 2.1、安装kafka-manager
#### 2.1.1、环境要求
- **`java-8`**,要求预先安装`JDK8`
#### 2.1.2、安装步骤
1. 解压`kafka-manager-2.0.0.tar.gz`
```
$ tar -xvzf kafka-manager-2.3.0.tar.gz
x kafka-manager/
x kafka-manager/application.yml
x kafka-manager/create_mysql_table.sql
x kafka-manager/kafka-manager.jar
$
```
2. 初始化`mysql`&
```
mysql库可以任意指定只需要和kafka-manager的配置文件里面一致即可。
mysql -uXXXX -pXXX -h XXX.XXX.XXX.XXX -PXXXX < ./create_mysql_table.sql
```
3. 修改配置文件`application.yml`
```
修改mysql配置
spring:
application:
name: kafkamanager
datasource:
kafka-manager:
jdbc-url: jdbc:mysql://{mysql_addr}:{mysql_port}/{mysql_db}?characterEncoding=UTF-8&serverTimezone=GMT%2B8
username: {mysql_username}
password: {mysql_password}
driver-class-name: com.mysql.jdbc.Driver
```
4. 启动`kafka-manager`
```
nohup java -jar kafka-manager.jar --spring.config.location=./application.yml > /dev/null 2>&1 &
```
---
### 2.2、安装zookeeper
和网上的一些文章基本一致,可以直接百度一下,或者参看下面的说明。
1. 解压安装包
```
tar -zxvf zookeeper-3.4.14.tar.gz
```
2. 修改配置文件(先在一台节点上配置)
```
拷贝新的配置:
cp conf/zoo_sample.cfg conf/zoo.cfg
修改配置:
#如果没有该目录先去创建这里以tmp根目录为例事先在tmp下创建好zookeeper-3.4.14/data
dataDir=/tmp/zookeeper-3.4.14/data
#zk节点有几个就配置几个从1递增下面的示例是有3个zk节点注意host换成节点ip
server.1=host1:2888:3888
server.2=host2:2888:3888
server.3=host3:2888:3888
```
3. 创建一个myid文件
```
在 上述dataDir=/tmp/zookeeper-3.4.14/data 目录下创建myid文件vi myid
然后将里面的内容设置为对应的id.
如配置文件中该主机对应的server.N的N是多少则myid中的数值就为多少比如当前的节点作为zk的1号节点内容就写1
```
4. 其他机器重复上述过程
5. 启动集群,
```
./zkServer.sh start
./zkServer.sh status #查看集群状态
```
---
### 2.3、安装 Kafka
#### 2.3.1、环境要求
- **`java-11`**,即要求预先安装`JDK11`
#### 2.3.2、安装步骤
1. 获取集群ID
```shell
访问kafka-manager(默认账号密码: admin/admin)
'运维管控' -> '集群列表' -> '注册集群'
zookeeper地址填写zk地址(加上namespace)
bootstrapServers填写kafka引擎节点地址多个用英文逗号分隔. 例如: xxx.xxx.xxx.xxx:9093,xxx.xxx.xxx.xxx:9093
集群类型选共享集群
安全协议填写如下:
{
"security.protocol": "SASL_PLAINTEXT",
"sasl.mechanism": "PLAIN",
"sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"dkm_admin\" password=\"km_kMl4N8as1Kp0CCY\";"
}
注册成功后会生成集群ID后面kafka引擎配置需要
```
2. 初始化安装包
这里以 `kafka_2.12-2.5.0-d-204.tgz` 包为例。
```shell
# 解压压缩包:
tar -zxf kafka_2.12-2.5.0-d-204.tgz
```
3. 配置文件
```shell
# 配置数据地址
log.dirs=将其配置为数据盘的地址。
# 监听地址
listeners=PLAINTEXT://IP:9092,SASL_PLAINTEXT://IP:9093
# 配置zk地址
修改zookeeper.connect将其配置为kafka集群的zk地址(加上namespace)
zookeeper.connect=xxx.xxx.xxx.xxx:2181,xxx.xxx.xxx.xxx:2181/xxxxxxx 多个zk节点用英文逗号分隔
# 修改 gateway.url
修改gateway.url将其配置为为kafka-manager的地址。例如http://127.0.0.1:8080/gateway
如果不清楚kafka-manager的地址可以访问swagger来查看例如http://127.0.0.1:8080/swagger-ui.html
查看【GATEWAY-服务发现相关接口(REST)】,请求地址里/api的前缀即为kafka-manager的应用根前缀。
例如/gateway/api/xxxx
# 修改cluster.id
修改cluster.id将其修改为为该集群添加进kafka-manager之后的集群ID(上述集群ID)
# 其他配置
依据需要进行相应的调整
```
4. 启动`kafka`
```
进入/bin目录
执行: nohup ./kafka-server-start.sh ../config/server.properties > /dev/null 2>&1 &
```
5. 集群模式
```
多台机器,重复上述过程即可
```
---
### 2.4、安装 `kafka-service-discovery`
#### 2.4.1、环境要求
- **`java-11`**,即要求预先安装`JDK11`
#### 2.4.2、安装步骤
1. 配置`kafka-gateway`
这一步比较特殊,当前没有操作界面,需要手动往`kafka-manager``MySQL gateway_config`表中,手动写入如下数据:
```
INSERT INTO gateway_config(type, name, value, version) VALUES ('SERVICE_DISCOVERY_CLUSTER_ID', '{clusterId}', '{bootstrapServers}', 1);
{clusterId}是新加集群的集群ID 例如: 1
{bootstrapServers}是新加集群的集群服务地址(集群Broker地址) 例如: xxx:xxx.xxx.xxx:9093,xxx.xxx.xxx.xxx:9093
version > 0 即可建议从1开始.
```
2. 解压`kafka-sd-2.5.0-d-100.tar`文件
```
解压压缩包tar -zxvf kafka-sd-2.5.0-d-100.tar
```
3. 配置文件(kafka-service-discovery/config/server.prperties)修改
```
修改log.dirs将其配置为日志输出地址。
修改gateway.address将其配置为为kafka-manager的地址。例如http://127.0.0.1:8080/gateway
如果不清楚kafka-manager的地址可以访问swagger来查看例如http://127.0.0.1:8080/swagger-ui.html
查看【GATEWAY-服务发现相关接口(REST)】,请求地址里/api的前缀即为kafka-manager的应用根前缀。
例如/gateway/api/xxxx
```
4. 启动`kafka-service-discovery`
```
进入kafka-service-discovery/bin目录
执行: nohup ./kafka-server-start.sh ../config/server.properties > /dev/null 2>&1 &
```