Files
KnowStreaming/docs/zh/Kafka安装/LogIKM安装部署手册.md
2023-02-14 14:57:39 +08:00

242 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 滴滴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 &
```