mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 11:52:08 +08:00
初始化3.0.0版本
This commit is contained in:
@@ -1,107 +0,0 @@
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
**一站式`Apache Kafka`集群指标监控与运维管控平台**
|
||||
|
||||
---
|
||||
|
||||
# 配置说明
|
||||
|
||||
```yaml
|
||||
server:
|
||||
port: 8080 # 服务端口
|
||||
tomcat:
|
||||
accept-count: 1000
|
||||
max-connections: 10000
|
||||
max-threads: 800
|
||||
min-spare-threads: 100
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: kafkamanager
|
||||
datasource:
|
||||
kafka-manager: # 数据库连接配置
|
||||
jdbc-url: jdbc:mysql://127.0.0.1:3306/kafka_manager?characterEncoding=UTF-8&serverTimezone=GMT%2B8 #数据库的地址
|
||||
username: admin # 用户名
|
||||
password: admin # 密码
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
|
||||
profiles:
|
||||
active: dev # 启用的配置
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 100MB
|
||||
max-request-size: 100MB
|
||||
|
||||
logging:
|
||||
config: classpath:logback-spring.xml
|
||||
|
||||
custom:
|
||||
idc: cn # 部署的数据中心, 忽略该配置, 后续会进行删除
|
||||
jmx:
|
||||
max-conn: 10 # 和单台 broker 的最大JMX连接数
|
||||
store-metrics-task:
|
||||
community:
|
||||
broker-metrics-enabled: true # 社区部分broker metrics信息收集开关, 关闭之后metrics信息将不会进行收集及写DB
|
||||
topic-metrics-enabled: true # 社区部分topic的metrics信息收集开关, 关闭之后metrics信息将不会进行收集及写DB
|
||||
didi:
|
||||
app-topic-metrics-enabled: false # 滴滴埋入的指标, 社区AK不存在该指标,因此默认关闭
|
||||
topic-request-time-metrics-enabled: false # 滴滴埋入的指标, 社区AK不存在该指标,因此默认关闭
|
||||
topic-throttled-metrics-enabled: false # 滴滴埋入的指标, 社区AK不存在该指标,因此默认关闭
|
||||
save-days: 7 #指标在DB中保持的天数,-1表示永久保存,7表示保存近7天的数据
|
||||
|
||||
# 任务相关的开关
|
||||
task:
|
||||
op:
|
||||
sync-topic-enabled: false # 未落盘的Topic定期同步到DB中
|
||||
order-auto-exec: # 工单自动化审批线程的开关
|
||||
topic-enabled: false # Topic工单自动化审批开关, false:关闭自动化审批, true:开启
|
||||
app-enabled: false # App工单自动化审批开关, false:关闭自动化审批, true:开启
|
||||
|
||||
account: # ldap相关的配置, 社区版本暂时支持不够完善,可以先忽略,欢迎贡献代码对这块做优化
|
||||
ldap:
|
||||
|
||||
kcm: # 集群升级部署相关的功能,需要配合夜莺及S3进行使用,这块我们后续专门补充一个文档细化一下,牵扯到kcm_script.sh脚本的修改
|
||||
enabled: false # 默认关闭
|
||||
storage:
|
||||
base-url: http://127.0.0.1 # 存储地址
|
||||
n9e:
|
||||
base-url: http://127.0.0.1:8004 # 夜莺任务中心的地址
|
||||
user-token: 12345678 # 夜莺用户的token
|
||||
timeout: 300 # 集群任务的超时时间,单位秒
|
||||
account: root # 集群任务使用的账号
|
||||
script-file: kcm_script.sh # 集群任务的脚本
|
||||
|
||||
monitor: # 监控告警相关的功能,需要配合夜莺进行使用
|
||||
enabled: false # 默认关闭,true就是开启
|
||||
n9e:
|
||||
nid: 2
|
||||
user-token: 1234567890
|
||||
mon:
|
||||
# 夜莺 mon监控服务 地址
|
||||
base-url: http://127.0.0.1:8032
|
||||
sink:
|
||||
# 夜莺 transfer上传服务 地址
|
||||
base-url: http://127.0.0.1:8006
|
||||
rdb:
|
||||
# 夜莺 rdb资源服务 地址
|
||||
base-url: http://127.0.0.1:80
|
||||
|
||||
# enabled: 表示是否开启监控告警的功能, true: 开启, false: 不开启
|
||||
# n9e.nid: 夜莺的节点ID
|
||||
# n9e.user-token: 用户的密钥,在夜莺的个人设置中
|
||||
# n9e.mon.base-url: 监控地址
|
||||
# n9e.sink.base-url: 数据上报地址
|
||||
# n9e.rdb.base-url: 用户资源中心地址
|
||||
|
||||
notify: # 通知的功能
|
||||
kafka: # 默认通知发送到kafka的指定Topic中
|
||||
cluster-id: 95 # Topic的集群ID
|
||||
topic-name: didi-kafka-notify # Topic名称
|
||||
order: # 部署的KM的地址
|
||||
detail-url: http://127.0.0.1
|
||||
```
|
||||
@@ -1,93 +0,0 @@
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
**一站式`Apache Kafka`集群指标监控与运维管控平台**
|
||||
|
||||
---
|
||||
|
||||
# 安装手册
|
||||
|
||||
## 1、环境依赖
|
||||
|
||||
如果是以Release包进行安装的,则仅安装`Java`及`MySQL`即可。如果是要先进行源码包进行打包,然后再使用,则需要安装`Maven`及`Node`环境。
|
||||
|
||||
- `Java 8+`(运行环境需要)
|
||||
- `MySQL 5.7`(数据存储)
|
||||
- `Maven 3.5+`(后端打包依赖)
|
||||
- `Node 10+`(前端打包依赖)
|
||||
|
||||
---
|
||||
|
||||
## 2、获取安装包
|
||||
|
||||
**1、Release直接下载**
|
||||
|
||||
这里如果觉得麻烦,然后也不想进行二次开发,则可以直接下载Release包,下载地址:[Github Release包下载地址](https://github.com/didi/Logi-KafkaManager/releases)
|
||||
|
||||
如果觉得Github的下载地址太慢了,也可以进入`Logi-KafkaManager`的用户群获取,群地址在README中。
|
||||
|
||||
|
||||
**2、源代码进行打包**
|
||||
|
||||
下载好代码之后,进入`Logi-KafkaManager`的主目录,执行`mvn -Prelease-kafka-manager -Dmaven.test.skip=true clean install -U `命令即可,
|
||||
执行完成之后会在`distribution/target`目录下面生成一个`kafka-manager-*.tar.gz`。
|
||||
和一个`kafka-manager-*.zip` 文件,随便任意一个压缩包都可以;
|
||||
当然此时同级目录有一个已经解压好的文件夹;
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 3. 解压安装包
|
||||
解压完成后; 在文件目录中可以看到有`kafka-manager/conf/create_mysql_table.sql` 有个mysql初始化文件
|
||||
先初始化DB
|
||||
|
||||
|
||||
## 4、MySQL-DB初始化
|
||||
|
||||
执行[create_mysql_table.sql](../../distribution/conf/create_mysql_table.sql)中的SQL命令,从而创建所需的MySQL库及表,默认创建的库名是`logi_kafka_manager`。
|
||||
|
||||
```
|
||||
# 示例:
|
||||
mysql -uXXXX -pXXX -h XXX.XXX.XXX.XXX -PXXXX < ./create_mysql_table.sql
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5.修该配置
|
||||
请将`conf/application.yml.example` 文件复制一份出来命名为`application.yml` 放在同级目录:conf/application.yml ;
|
||||
并且修改配置; 当然不修改的话 就会用默认的配置;
|
||||
至少 mysql配置成自己的吧
|
||||
|
||||
|
||||
## 6、启动/关闭
|
||||
解压包中有启动和关闭脚本
|
||||
`kafka-manager/bin/shutdown.sh`
|
||||
`kafka-manager/bin/startup.sh`
|
||||
|
||||
执行 sh startup.sh 启动
|
||||
执行 sh shutdown.sh 关闭
|
||||
|
||||
|
||||
|
||||
### 6、使用
|
||||
|
||||
本地启动的话,访问`http://localhost:8080`,输入帐号及密码(默认`admin/admin`)进行登录。更多参考:[kafka-manager 用户使用手册](../user_guide/user_guide_cn.md)
|
||||
|
||||
### 7. 升级
|
||||
|
||||
如果是升级版本,请查看文件 [kafka-manager 升级手册](../../distribution/upgrade_config.md)
|
||||
在您下载的启动包(V2.5及其后)中也有记录,在 kafka-manager/upgrade_config.md 中
|
||||
|
||||
|
||||
### 8. 在IDE中启动
|
||||
> 如果想参与开发或者想在IDE中启动的话
|
||||
> 先执行 `mvn -Dmaven.test.skip=true clean install -U `
|
||||
>
|
||||
> 然后这个时候可以选择去 [pom.xml](../../pom.xml) 中将`kafka-manager-console`模块注释掉;
|
||||
> 注释是因为每次install的时候都会把前端文件`kafka-manager-console`重新打包进`kafka-manager-web`
|
||||
>
|
||||
> 完事之后,只需要直接用IDE启动运行`kafka-manager-web`模块中的
|
||||
> com.xiaojukeji.kafka.manager.web.MainApplication main方法就行了
|
||||
@@ -1,132 +0,0 @@
|
||||
---
|
||||
|
||||

|
||||
|
||||
**一站式`Apache Kafka`集群指标监控与运维管控平台**
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 基于Docker部署Logikm
|
||||
|
||||
为了方便用户快速的在自己的环境搭建Logikm,可使用docker快速搭建
|
||||
|
||||
### 部署Mysql
|
||||
|
||||
```shell
|
||||
docker run --name mysql -p 3306:3306 -d registry.cn-hangzhou.aliyuncs.com/zqqq/logikm-mysql:5.7.37
|
||||
```
|
||||
|
||||
可选变量参考[文档](https://hub.docker.com/_/mysql)
|
||||
|
||||
默认参数
|
||||
|
||||
* MYSQL_ROOT_PASSWORD:root
|
||||
|
||||
|
||||
|
||||
### 部署Logikm Allinone
|
||||
|
||||
> 前后端部署在一起
|
||||
|
||||
```shell
|
||||
docker run --name logikm -p 8080:8080 --link mysql -d registry.cn-hangzhou.aliyuncs.com/zqqq/logikm:2.6.0
|
||||
```
|
||||
|
||||
参数详解:
|
||||
|
||||
* -p 映射容器8080端口至宿主机的8080
|
||||
* --link 连接mysql容器
|
||||
|
||||
|
||||
|
||||
### 部署前后端分离
|
||||
|
||||
#### 部署后端 Logikm-backend
|
||||
|
||||
```shell
|
||||
docker run --name logikm-backend --link mysql -d registry.cn-hangzhou.aliyuncs.com/zqqq/logikm-backend:2.6.0
|
||||
```
|
||||
|
||||
可选参数:
|
||||
|
||||
* -e LOGI_MYSQL_HOST mysql连接地址,默认mysql
|
||||
* -e LOGI_MYSQL_PORT mysql端口,默认3306
|
||||
* -e LOGI_MYSQL_DATABASE 数据库,默认logi_kafka_manager
|
||||
* -e LOGI_MYSQL_USER mysql用户名,默认root
|
||||
* -e LOGI_MYSQL_PASSWORD mysql密码,默认root
|
||||
|
||||
#### 部署前端 Logikm-front
|
||||
|
||||
```shell
|
||||
docker run --name logikm-front -p 8088:80 --link logikm-backend -d registry.cn-hangzhou.aliyuncs.com/zqqq/logikm-front:2.6.0
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Logi后端可配置参数
|
||||
|
||||
docker run 运行参数 -e 可指定环境变量如下
|
||||
|
||||
| 环境变量 | 变量解释 | 默认值 |
|
||||
| ------------------- | ------------- | ------------------ |
|
||||
| LOGI_MYSQL_HOST | mysql连接地址 | mysql |
|
||||
| LOGI_MYSQL_PORT | mysql端口 | 3306 |
|
||||
| LOGI_MYSQL_DATABASE | 数据库 | logi_kafka_manager |
|
||||
| LOGI_MYSQL_USER | mysql用户名 | root |
|
||||
| LOGI_MYSQL_PASSWORD | mysql密码 | root |
|
||||
|
||||
|
||||
|
||||
|
||||
## 基于Docker源码构建
|
||||
|
||||
根据此文档用户可自行通过Docker 源码构建 Logikm
|
||||
|
||||
### 构建Mysql
|
||||
|
||||
```shell
|
||||
docker build -t mysql:{TAG} -f container/dockerfiles/mysql/Dockerfile container/dockerfiles/mysql
|
||||
```
|
||||
|
||||
### 构建Allinone
|
||||
|
||||
将前后端打包在一起
|
||||
|
||||
```shell
|
||||
docker build -t logikm:{TAG} .
|
||||
```
|
||||
|
||||
可选参数 --build-arg :
|
||||
|
||||
* MAVEN_VERSION maven镜像tag
|
||||
* JAVA_VERSION java镜像tag
|
||||
|
||||
|
||||
|
||||
### 构建前后端分离
|
||||
|
||||
前后端分离打包
|
||||
|
||||
#### 构建后端
|
||||
|
||||
```shell
|
||||
docker build --build-arg CONSOLE_ENABLE=false -t logikm-backend:{TAG} .
|
||||
```
|
||||
|
||||
参数:
|
||||
|
||||
* MAVEN_VERSION maven镜像tag
|
||||
* JAVA_VERSION java镜像tag
|
||||
|
||||
* CONSOLE_ENABLE=false 不构建console模块
|
||||
|
||||
#### 构建前端
|
||||
|
||||
```shell
|
||||
docker build -t logikm-front:{TAG} -f kafka-manager-console/Dockerfile kafka-manager-console
|
||||
```
|
||||
|
||||
可选参数:
|
||||
|
||||
* --build-arg:OUTPUT_PATH 修改默认打包输出路径,默认当前目录下的dist
|
||||
@@ -1,94 +0,0 @@
|
||||
---
|
||||
|
||||

|
||||
|
||||
**一站式`Apache Kafka`集群指标监控与运维管控平台**
|
||||
|
||||
---
|
||||
|
||||
## nginx配置-安装手册
|
||||
|
||||
# 一、独立部署
|
||||
|
||||
请参考参考:[kafka-manager 安装手册](install_guide_cn.md)
|
||||
|
||||
# 二、nginx配置
|
||||
|
||||
## 1、独立部署配置
|
||||
|
||||
```
|
||||
#nginx 根目录访问配置如下
|
||||
location / {
|
||||
proxy_pass http://ip:port;
|
||||
}
|
||||
```
|
||||
|
||||
## 2、前后端分离&配置多个静态资源
|
||||
|
||||
以下配置解决`nginx代理多个静态资源`,实现项目前后端分离,版本更新迭代。
|
||||
|
||||
### 1、源码下载
|
||||
|
||||
根据所需版本下载对应代码,下载地址:[Github 下载地址](https://github.com/didi/Logi-KafkaManager)
|
||||
|
||||
### 2、修改webpack.config.js 配置文件
|
||||
|
||||
修改`kafka-manager-console`模块 `webpack.config.js`
|
||||
以下所有<font color='red'>xxxx</font>为nginx代理路径和打包静态文件加载前缀,<font color='red'>xxxx</font>可根据需求自行更改。
|
||||
|
||||
```
|
||||
cd kafka-manager-console
|
||||
vi webpack.config.js
|
||||
|
||||
# publicPath默认打包方式根目录下,修改为nginx代理访问路径。
|
||||
let publicPath = '/xxxx';
|
||||
```
|
||||
|
||||
### 3、打包
|
||||
|
||||
```
|
||||
|
||||
npm cache clean --force && npm install
|
||||
|
||||
```
|
||||
|
||||
ps:如果打包过程中报错,运行`npm install clipboard@2.0.6`,相反请忽略!
|
||||
|
||||
### 4、部署
|
||||
|
||||
#### 1、前段静态文件部署
|
||||
|
||||
静态资源 `../kafka-manager-web/src/main/resources/templates`
|
||||
|
||||
上传到指定目录,目前以`root目录`做demo
|
||||
|
||||
#### 2、上传jar包并启动,请参考:[kafka-manager 安装手册](install_guide_cn.md)
|
||||
|
||||
#### 3、修改nginx 配置
|
||||
|
||||
```
|
||||
location /xxxx {
|
||||
# 静态文件存放位置
|
||||
alias /root/templates;
|
||||
try_files $uri $uri/ /xxxx/index.html;
|
||||
index index.html;
|
||||
}
|
||||
|
||||
location /api {
|
||||
proxy_pass http://ip:port;
|
||||
}
|
||||
#后代端口建议使用/api,如果冲突可以使用以下配置
|
||||
#location /api/v2 {
|
||||
# proxy_pass http://ip:port;
|
||||
#}
|
||||
#location /api/v1 {
|
||||
# proxy_pass http://ip:port;
|
||||
#}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
237
docs/install_guide/单机部署手册.md
Normal file
237
docs/install_guide/单机部署手册.md
Normal file
@@ -0,0 +1,237 @@
|
||||
## 前言
|
||||
|
||||
- 本文以 Centos7 系统为例,系统基础配置要求:4 核 8G
|
||||
- 按照本文可以快速部署一套单机模式的 KnowStreaming 环境
|
||||
- 本文以 v3.0.0-bete 版本为例进行部署,如需其他版本请关注[官网](https://knowstreaming.com/)
|
||||
- 部署完成后可以通过浏览器输入 IP:PORT 进行访问,默认用户名密码: admin/admin2022\_
|
||||
- KnowStreaming 同样支持分布式集群模式,如需部署高可用集群,[请联系我们](https://knowstreaming.com/support-center)
|
||||
|
||||
## 1.1、软件版本及依赖
|
||||
|
||||
| 软件名 | 版本要求 | 默认端口 |
|
||||
| ------------- | -------- | -------- |
|
||||
| Mysql | v5.7+ | 3306 |
|
||||
| Elasticsearch | v6+ | 8060 |
|
||||
| JDK | v8+ | - |
|
||||
| Centos | v6+ | - |
|
||||
| Ubantu | v16+ | - |
|
||||
|
||||
## 1.2、部署方式选择
|
||||
|
||||
- Shell 部署(单机版本)
|
||||
|
||||
- 容器化部署(需准备 K8S 环境)
|
||||
|
||||
- 根据操作手册进行手动部署
|
||||
|
||||
## 1.3、Shell 部署
|
||||
|
||||
### 1.3.1、在线方式安装
|
||||
|
||||
#在服务器中下载安装脚本,脚本中会重新安装Mysql
|
||||
wget https://s3-gzpu.didistatic.com/pub/knowstreaming/deploy_KnowStreaming.sh
|
||||
|
||||
#执行脚本
|
||||
sh deploy_KnowStreaming.sh
|
||||
|
||||
#访问测试
|
||||
127.0.0.1:8080
|
||||
|
||||
### 1.3.2、离线方式安装
|
||||
|
||||
#将安装包下载到本地且传输到目标服务器
|
||||
wget https://s3-gzpu.didistatic.com/pub/knowstreaming/KnowStreaming-3.0.0-beta—offline.tar.gz
|
||||
|
||||
#解压安装包
|
||||
tar -zxf KnowStreaming-3.0.0-beta—offline.tar.gz
|
||||
|
||||
#执行安装脚本
|
||||
sh deploy_KnowStreaming-offline.sh
|
||||
|
||||
#访问测试
|
||||
127.0.0.1:8080
|
||||
|
||||
## 1.4、容器化部署
|
||||
|
||||
### 1.4.1、环境依赖及版本要求
|
||||
|
||||
- Kubernetes >= 1.14 ,Helm >= 2.17.0
|
||||
|
||||
- 默认配置为全部安装(elasticsearch + mysql + knowstreaming)
|
||||
|
||||
- 如果使用已有的 elasticsearch(7.6.x) 和 mysql(5.7) 只需调整 values.yaml 部分参数即可
|
||||
|
||||
### 1.4.2、安装方式
|
||||
|
||||
#下载安装包
|
||||
wget https://s3-gzpu.didistatic.com/pub/knowstreaming/knowstreaming-3.0.0-hlem.tgz
|
||||
|
||||
#解压安装包
|
||||
tar -zxf knowstreaming-3.0.0-hlem.tgz
|
||||
|
||||
#执行命令(NAMESPACE需要更改为已存在的)
|
||||
helm install -n [NAMESPACE] knowstreaming knowstreaming-manager/
|
||||
|
||||
#获取KnowStreaming前端ui的service. 默认nodeport方式.(http://nodeIP:nodeport,默认用户名密码:admin/admin2022_)
|
||||
|
||||
## 1.5、手动部署
|
||||
|
||||
### 1.5.1、部署流程
|
||||
|
||||
基础依赖服务部署 ——> KnowStreaming 模块
|
||||
|
||||
### 1.5.2、基础依赖服务部署
|
||||
|
||||
#### 如现有环境中已经有相关服务,可跳过对其的安装
|
||||
|
||||
#### 基础依赖:JAVA11、Mysql、Elasticsearch
|
||||
|
||||
#### 1.5.2.1、安装 Mysql 服务
|
||||
|
||||
##### 1.5.2.1.1 yum 方式安装
|
||||
|
||||
#配置yum源
|
||||
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
|
||||
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
|
||||
|
||||
#执行安装
|
||||
yum -y install mysql-server mysql-client
|
||||
|
||||
#服务启动
|
||||
systemctl start mysqld
|
||||
|
||||
#获取初始密码并修改
|
||||
old_pass=`grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1`
|
||||
|
||||
mysql -NBe "alter user USER() identified by 'Didi_km_678';" --connect-expired-password -uroot -p$old_pass
|
||||
|
||||
##### 1.5.2.1.2、rpm 包方式安装
|
||||
|
||||
#下载安装包
|
||||
wget https://s3-gzpu.didistatic.com/knowsearch/mysql5.7.tar.gz
|
||||
|
||||
#解压到指定目录
|
||||
tar -zxf mysql5.7.tar.gz -C /tmp/
|
||||
|
||||
#执行安装
|
||||
yum -y localinstall /tmp/libaio-*.rpm /tmp/mysql-*.rpm
|
||||
|
||||
#服务启动
|
||||
systemctl start mysqld
|
||||
|
||||
|
||||
#获取初始密码并修改
|
||||
old_pass=`grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1`
|
||||
|
||||
mysql -NBe "alter user USER() identified by 'Didi_km_678';" --connect-expired-pa
|
||||
ssword -uroot -p$old_pass
|
||||
|
||||
#### 1.5.2.2、配置 JAVA 环境
|
||||
|
||||
#下载安装包
|
||||
wget https://s3-gzpu.didistatic.com/pub/jdk11.tar.gz #解压到指定目录
|
||||
tar -zxf jdk11.tar.gz -C /usr/local/ #更改目录名
|
||||
mv /usr/local/jdk-11.0.2 /usr/local/java11 #添加到环境变量
|
||||
echo "export JAVA_HOME=/usr/local/java11" >> ~/.bashrc
|
||||
echo "export CLASSPATH=/usr/java/java11/lib" >> ~/.bashrc
|
||||
echo "export PATH=\$JAVA_HOME/bin:\$PATH:\$HOME/bin" >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
|
||||
#### 1.5.2.3、Elasticsearch 实例搭建
|
||||
|
||||
#### Elasticsearch 元数据集群来支持平台核心指标数据的存储,如集群维度指标、节点维度指标等
|
||||
|
||||
#### 以下安装示例为单节点模式,如需集群部署可以参考[Elasticsearch 官方文档](https://www.elastic.co/guide/en/elasticsearch/reference/7.6/elasticsearch-intro.html)
|
||||
|
||||
#下载安装包
|
||||
wget https://s3-gzpu.didistatic.com/pub/elasticsearch.tar.gz
|
||||
|
||||
#创建ES数据存储目录
|
||||
mkdir -p /data/es_data
|
||||
|
||||
#创建ES所属用户
|
||||
useradd arius
|
||||
|
||||
#配置用户的打开文件数
|
||||
echo "arius soft nofile 655350" >>/etc/security/limits.conf
|
||||
echo "arius hard nofile 655350" >>/etc/security/limits.conf
|
||||
echo "vm.max_map_count = 655360" >>/etc/sysctl.conf
|
||||
sysctl -p
|
||||
|
||||
#解压安装包
|
||||
tar -zxf elasticsearch.tar.gz -C /data/
|
||||
|
||||
#更改目录所属组
|
||||
chown -R arius:arius /data/
|
||||
|
||||
#修改配置文件(参考以下配置)
|
||||
vim /data/elasticsearch/config/elasticsearch.yml
|
||||
cluster.name: km_es
|
||||
node.name: es-node1
|
||||
node.master: true
|
||||
node.data: true
|
||||
path.data: /data/es_data
|
||||
http.port: 8060
|
||||
discovery.seed_hosts: ["127.0.0.1:9300"]
|
||||
|
||||
#修改内存配置
|
||||
vim /data/elasticsearch/config/jvm.options
|
||||
-Xms2g
|
||||
-Xmx2g
|
||||
|
||||
#启动服务
|
||||
su - arius
|
||||
export JAVA_HOME=/usr/local/java11
|
||||
sh /data/elasticsearch/control.sh start
|
||||
|
||||
#确认状态
|
||||
sh /data/elasticsearch/control.sh status
|
||||
|
||||
### 1.5.3、KnowStreaming 服务部署
|
||||
|
||||
#### 以 KnowStreaming 为例
|
||||
|
||||
#下载安装包
|
||||
wget wget https://s3-gzpu.didistatic.com/pub/knowstreaming/KnowStreaming-3.0.0-beta.tar.gz
|
||||
|
||||
#解压安装包到指定目录
|
||||
tar -zxf KnowStreaming-3.0.0-beta.tar.gz -C /data/
|
||||
|
||||
#修改启动脚本并加入systemd管理
|
||||
cd /data/KnowStreaming/
|
||||
|
||||
#创建相应的库和导入初始化数据
|
||||
mysql -uroot -pDidi_km_678 -e "create database know_streaming;"
|
||||
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/ddl-ks-km.sql
|
||||
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/ddl-logi-job.sql
|
||||
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/ddl-logi-security.sql
|
||||
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/dml-ks-km.sql
|
||||
mysql -uroot -pDidi_km_678 know_streaming < ./init/sql/dml-logi.sql
|
||||
|
||||
#创建elasticsearch初始化数据
|
||||
sh ./init/template/template.sh
|
||||
|
||||
#修改配置文件
|
||||
vim ./conf/application.yml
|
||||
|
||||
#监听端口
|
||||
server:
|
||||
|
||||
port: 8080 # web 服务端口
|
||||
tomcat:
|
||||
accept-count: 1000
|
||||
max-connections: 10000
|
||||
|
||||
#elasticsearch地址
|
||||
es.client.address: 127.0.0.1:8060
|
||||
|
||||
#数据库配置(一共三处地方,修改正确的mysql地址和数据库名称以及用户名密码)
|
||||
jdbc-url: jdbc:mariadb://127.0.0.1:3306/know-streaming?.....
|
||||
username: root
|
||||
password: Didi_km_678
|
||||
|
||||
#启动服务
|
||||
cd /data/KnowStreaming/bin/
|
||||
sh startup.sh
|
||||
|
||||
#### 打开浏览器输入 IP 地址+端口测试(默认端口 8080),用户名密码: admin/admin2022\_
|
||||
70
docs/install_guide/源码编译打包手册.md
Normal file
70
docs/install_guide/源码编译打包手册.md
Normal file
@@ -0,0 +1,70 @@
|
||||
|
||||

|
||||
|
||||
|
||||
# `Know Streaming` 源码编译打包手册
|
||||
|
||||
## 1、环境信息
|
||||
|
||||
**系统支持**
|
||||
|
||||
`windows7+`、`Linux`、`Mac`
|
||||
|
||||
**环境依赖**
|
||||
|
||||
- Maven 3.6.3 (后端)
|
||||
- Node v12.20.0/v14.17.3 (前端)
|
||||
- Java 8+ (后端)
|
||||
|
||||
## 2、编译打包
|
||||
|
||||
整个工程中,除了`km-console`为前端模块之外,其他模块都是后端工程相关模块。
|
||||
|
||||
因此,如果前后端合并打包,则打对整个工程进行打包;如果前端单独打包,则仅打包 `km-console` 中的代码;如果是仅需要后端打包,则在顶层 `pom.xml` 中去掉 `km-console`模块,然后进行打包。
|
||||
|
||||
具体见下面描述。
|
||||
|
||||
|
||||
|
||||
### 2.1、前后端合并打包
|
||||
|
||||
1. 下载源码;
|
||||
2. 进入 `KS-KM` 工程目录,执行 `mvn -Prelease-package -Dmaven.test.skip=true clean install -U` 命令;
|
||||
3. 打包命令执行完成后,会在 `km-dist/target` 目录下面生成一个 `KnowStreaming-*.tar.gz` 的安装包。
|
||||
|
||||
|
||||
### 2.2、前端单独打包
|
||||
|
||||
1. 下载源码;
|
||||
2. 进入 `KS-KM/km-console` 工程目录;
|
||||
3. 执行 `npm run build`命令,会在 `KS-KM/km-console` 目录下生成一个名为 `pub` 的前端静态资源包;
|
||||
|
||||
|
||||
|
||||
### 2.3、后端单独打包
|
||||
|
||||
1. 下载源码;
|
||||
2. 修改顶层 `pom.xml` ,去掉其中的 `km-console` 模块,如下所示;
|
||||
```xml
|
||||
<modules>
|
||||
<!-- <module>km-console</module>-->
|
||||
<module>km-common</module>
|
||||
<module>km-persistence</module>
|
||||
<module>km-core</module>
|
||||
<module>km-biz</module>
|
||||
<module>km-extends/km-account</module>
|
||||
<module>km-extends/km-monitor</module>
|
||||
<module>km-extends/km-license</module>
|
||||
<module>km-extends/km-rebalance</module>
|
||||
<module>km-task</module>
|
||||
<module>km-collector</module>
|
||||
<module>km-rest</module>
|
||||
<module>km-dist</module>
|
||||
</modules>
|
||||
```
|
||||
3. 执行 `mvn -U clean package -Dmaven.test.skip=true`命令;
|
||||
4. 执行完成之后会在 `KS-KM/km-rest/target` 目录下面生成一个 `ks-km.jar` 即为KS的后端部署的Jar包,也可以执行 `mvn -Prelease-package -Dmaven.test.skip=true clean install -U` 生成的tar包也仅有后端服务的功能;
|
||||
|
||||
|
||||
|
||||
|
||||
37
docs/install_guide/版本升级手册.md
Normal file
37
docs/install_guide/版本升级手册.md
Normal file
@@ -0,0 +1,37 @@
|
||||
## 版本升级说明
|
||||
|
||||
### `2.x`版本 升级至 `3.0.0`版本
|
||||
|
||||
**升级步骤:**
|
||||
|
||||
1. 依旧使用**`2.x 版本的 DB`**,在上面初始化 3.0.0 版本所需数据库表结构及数据;
|
||||
2. 将 2.x 版本中的集群,在 3.0.0 版本,手动逐一接入;
|
||||
3. 将 Topic 业务数据,迁移至 3.0.0 表中,详见下方 SQL;
|
||||
|
||||
**注意事项**
|
||||
|
||||
- 建议升级 3.0.0 版本过程中,保留 2.x 版本的使用,待 3.0.0 版本稳定使用后,再下线 2.x 版本;
|
||||
- 3.0.0 版本仅需要`集群信息`及`Topic的描述信息`。2.x 版本的 DB 的其他数据 3.0.0 版本都不需要;
|
||||
- 部署 3.0.0 版本之后,集群、Topic 等指标数据都为空,3.0.0 版本会周期进行采集,运行一段时间之后就会有该数据了,因此不会将 2.x 中的指标数据进行迁移;
|
||||
|
||||
**迁移数据**
|
||||
|
||||
```sql
|
||||
-- 迁移Topic的备注信息。
|
||||
-- 需在 3.0.0 部署完成后,再执行该SQL。
|
||||
-- 考虑到 2.x 版本中还存在增量数据,因此建议改SQL周期执行,是的增量数据也能被迁移至 3.0.0 版本中。
|
||||
|
||||
UPDATE ks_km_topic
|
||||
INNER JOIN
|
||||
(SELECT
|
||||
topic.cluster_id AS cluster_id,
|
||||
topic.topic_name AS topic_name,
|
||||
topic.description AS description
|
||||
FROM topic WHERE description != ''
|
||||
) AS t
|
||||
|
||||
ON ks_km_topic.cluster_phy_id = t.cluster_id
|
||||
AND ks_km_topic.topic_name = t.topic_name
|
||||
AND ks_km_topic.id > 0
|
||||
SET ks_km_topic.description = t.description;
|
||||
```
|
||||
Reference in New Issue
Block a user