Skip to content

Commit 028d891

Browse files
authored
Merge pull request #588 from didi/dev_v3.0.0-beta.2
合并v3.0.0 beta.2
2 parents 97f5f05 + 0df55ec commit 028d891

File tree

13 files changed

+4802
-4684
lines changed

13 files changed

+4802
-4684
lines changed

Releases_Notes.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,59 @@
11

2+
3+
## v3.0.0-beta.2
4+
5+
**文档**
6+
- 新增登录系统对接文档
7+
- 优化前端工程打包构建部分文档说明
8+
- FAQ补充KnowStreaming连接特定JMX IP的说明
9+
10+
11+
**Bug修复**
12+
- 修复logi_security_oplog表字段过短,导致删除Topic等操作无法记录的问题
13+
- 修复ES查询时,抛java.lang.NumberFormatException: For input string: "{"value":0,"relation":"eq"}" 问题
14+
- 修复LogStartOffset和LogEndOffset指标单位错误问题
15+
- 修复进行副本变更时,旧副本数为NULL的问题
16+
- 修复集群Group列表,在第二页搜索时,搜索时返回的分页信息错误问题
17+
- 修复重置Offset时,返回的错误信息提示不一致的问题
18+
- 修复集群查看,系统查看,LoadRebalance等页面权限点缺失问题
19+
- 修复查询不存在的Topic时,错误信息提示不明显的问题
20+
- 修复Windows用户打包前端工程报错的问题
21+
- package-lock.json锁定前端依赖版本号,修复因依赖自动升级导致打包失败等问题
22+
- 系统管理子应用,补充后端返回的Code码拦截,解决后端接口返回报错不展示的问题
23+
- 修复用户登出后,依旧可以访问系统的问题
24+
- 修复巡检任务配置时,数值显示错误的问题
25+
- 修复Broker/Topic Overview 图表和图表详情问题
26+
- 修复Job扩缩副本任务明细数据错误的问题
27+
- 修复重置Offset时,分区ID,Offset数值无限制问题
28+
- 修复扩缩/迁移副本时,无法选中Kafka系统Topic的问题
29+
- 修复Topic的Config页面,编辑表单时不能正确回显当前值的问题
30+
- 修复Broker Card返回数据后依旧展示加载态的问题
31+
32+
33+
34+
**体验优化**
35+
- 缩短新增集群后,集群信息加载的耗时
36+
- 集群Broker列表,增加Controller角色信息
37+
- 优化默认密码为admin/admin
38+
- 副本变更任务结束后,增加进行优先副本选举的操作
39+
- Task模块任务分为Metrics、Common、Metadata三类任务,每类任务配备独立线程池,减少对Job模块的线程池,以及不同类任务之间的相互影响
40+
- 删除代码中存在的多余无用文件
41+
- 自动新增ES索引模版及近7天索引,减少用户搭建时需要做的事项
42+
- 优化前端工程打包流程
43+
- 优化登录页文案,页面左侧栏内容,单集群详情样式,Topic列表趋势图等
44+
- 首次进入Broker/Topic图表详情时,进行预缓存数据从而优化体验
45+
- 优化Topic详情Partition Tab的展示
46+
- 多集群列表页增加编辑功能
47+
- 优化副本变更时,迁移时间支持分钟级别粒度
48+
- logi-security版本升级至2.10.13
49+
- logi-elasticsearch-client版本升级至1.0.24
50+
51+
52+
**能力提升**
53+
- 支持Ldap登录认证
54+
55+
---
56+
257
## v3.0.0-beta.1
358

459
**文档**
@@ -35,6 +90,7 @@
3590
- 增加周期任务,用于主动创建缺少的ES模版及索引的能力,减少额外的脚本操作
3691
- 增加JMX连接的Broker地址可选择的能力
3792

93+
---
3894

3995
## v3.0.0-beta.0
4096

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
21
![Logo](https://user-images.githubusercontent.com/71620349/185368586-aed82d30-1534-453d-86ff-ecfa9d0f35bd.png)
32

4-
53
# `Know Streaming` 源码编译打包手册
64

75
## 1、环境信息
@@ -11,7 +9,7 @@
119
`windows7+``Linux``Mac`
1210

1311
**环境依赖**
14-
12+
1513
- Maven 3.6.3 (后端)
1614
- Node v12.20.0/v14.17.3 (前端)
1715
- Java 8+ (后端)
@@ -25,27 +23,23 @@
2523

2624
具体见下面描述。
2725

28-
29-
3026
### 2.1、前后端合并打包
3127

3228
1. 下载源码;
3329
2. 进入 `KS-KM` 工程目录,执行 `mvn -Prelease-package -Dmaven.test.skip=true clean install -U` 命令;
3430
3. 打包命令执行完成后,会在 `km-dist/target` 目录下面生成一个 `KnowStreaming-*.tar.gz` 的安装包。
3531

36-
37-
### 2.2、前端单独打包
32+
### 2.2、前端单独打包
3833

3934
1. 下载源码;
40-
2. 进入 `KS-KM/km-console` 工程目录;
41-
3. 执行 `npm run build`命令,会在 `KS-KM/km-console` 目录下生成一个名为 `pub` 的前端静态资源包;
42-
35+
2. 跳转到 [前端打包构建文档](https://github.com/didi/KnowStreaming/blob/master/km-console/README.md) 按步骤进行。打包成功后,会在 `km-rest/src/main/resources` 目录下生成名为 `templates` 的前端静态资源包;
36+
3. 如果上一步过程中报错,请查看 [FAQ](https://github.com/didi/KnowStreaming/blob/master/docs/user_guide/faq.md) 第 8.10 条;
4337

44-
45-
### 2.3、后端单独打包
38+
### 2.3、后端单独打包
4639

4740
1. 下载源码;
4841
2. 修改顶层 `pom.xml` ,去掉其中的 `km-console` 模块,如下所示;
42+
4943
```xml
5044
<modules>
5145
<!-- <module>km-console</module>-->
@@ -62,10 +56,7 @@
6256
<module>km-rest</module>
6357
<module>km-dist</module>
6458
</modules>
65-
```
66-
3. 执行 `mvn -U clean package -Dmaven.test.skip=true`命令;
67-
4. 执行完成之后会在 `KS-KM/km-rest/target` 目录下面生成一个 `ks-km.jar` 即为KS的后端部署的Jar包,也可以执行 `mvn -Prelease-package -Dmaven.test.skip=true clean install -U` 生成的tar包也仅有后端服务的功能;
68-
69-
70-
59+
```
7160

61+
3. 执行 `mvn -U clean package -Dmaven.test.skip=true`命令;
62+
4. 执行完成之后会在 `KS-KM/km-rest/target` 目录下面生成一个 `ks-km.jar` 即为 KS 的后端部署的 Jar 包,也可以执行 `mvn -Prelease-package -Dmaven.test.skip=true clean install -U` 生成的 tar 包也仅有后端服务的功能;

docs/install_guide/版本升级手册.md

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,43 @@
44

55
### 6.2.0、升级至 `master` 版本
66

7+
暂无
8+
9+
### 6.2.1、升级至 `v3.0.0-beta.2`版本
10+
11+
**配置变更**
12+
13+
```yaml
14+
15+
# 新增配置
16+
spring:
17+
logi-security: # know-streaming 依赖的 logi-security 模块的数据库的配置,默认与 know-streaming 的数据库配置保持一致即可
18+
login-extend-bean-name: logiSecurityDefaultLoginExtendImpl # 使用的登录系统Service的Bean名称,无需修改
19+
20+
# 线程池大小相关配置,在task模块中,新增了三类线程池,
21+
# 从而减少不同类型任务之间的相互影响,以及减少对logi-job内的线程池的影响
22+
thread-pool:
23+
task: # 任务模块的配置
24+
metrics: # metrics采集任务配置
25+
thread-num: 18 # metrics采集任务线程池核心线程数
26+
queue-size: 180 # metrics采集任务线程池队列大小
27+
metadata: # metadata同步任务配置
28+
thread-num: 27 # metadata同步任务线程池核心线程数
29+
queue-size: 270 # metadata同步任务线程池队列大小
30+
common: # 剩余其他任务配置
31+
thread-num: 15 # 剩余其他任务线程池核心线程数
32+
queue-size: 150 # 剩余其他任务线程池队列大小
33+
34+
# 删除配置,下列配置将不再使用
35+
thread-pool:
36+
task: # 任务模块的配置
37+
heaven: # 采集任务配置
38+
thread-num: 20 # 采集任务线程池核心线程数
39+
queue-size: 1000 # 采集任务线程池队列大小
40+
41+
```
42+
43+
744
**SQL变更**
845

946
```sql
@@ -41,7 +78,7 @@ ALTER TABLE `logi_security_oplog`
4178

4279
---
4380

44-
### 6.2.1、升级至 `v3.0.0-beta.1`版本
81+
### 6.2.2、升级至 `v3.0.0-beta.1`版本
4582

4683

4784
**SQL变更**
@@ -62,7 +99,7 @@ ALTER COLUMN `operation_methods` set default '';
6299
---
63100

64101

65-
### 6.2.2`2.x`版本 升级至 `v3.0.0-beta.0`版本
102+
### 6.2.3`2.x`版本 升级至 `v3.0.0-beta.0`版本
66103

67104
**升级步骤:**
68105

docs/user_guide/faq.md

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
# FAQ
1+
# FAQ
32

43
## 8.1、支持哪些 Kafka 版本?
54

@@ -110,20 +109,60 @@ SECURITY.TRICK_USERS
110109

111110
但是还有一点需要注意,绕过的用户仅能调用他有权限的接口,比如一个普通用户,那么他就只能调用普通的接口,不能去调用运维人员的接口。
112111

113-
## 8.8、Specified key was too long; max key length is 767 bytes
112+
## 8.8、Specified key was too long; max key length is 767 bytes
114113

115-
**原因:**不同版本的InoDB引擎,参数‘innodb_large_prefix’默认值不同,即在5.6默认值为OFF,5.7默认值为ON
114+
**原因:** 不同版本的 InoDB 引擎,参数‘innodb_large_prefix’默认值不同,即在 5.6 默认值为 OFF,5.7 默认值为 ON
116115

117-
对于引擎为InnoDB,innodb_large_prefix=OFF,且行格式为Antelope即支持REDUNDANT或COMPACT时,索引键前缀长度最大为 767 字节。innodb_large_prefix=ON,且行格式为Barracuda即支持DYNAMIC或COMPRESSED时,索引键前缀长度最大为3072字节
116+
对于引擎为 InnoDB,innodb_large_prefix=OFF,且行格式为 Antelope 即支持 REDUNDANT 或 COMPACT 时,索引键前缀长度最大为 767 字节。innodb_large_prefix=ON,且行格式为 Barracuda 即支持 DYNAMIC 或 COMPRESSED 时,索引键前缀长度最大为 3072 字节
118117

119118
**解决方案:**
120119

121-
- 减少varchar字符大小低于767/4=191。
122-
- 将字符集改为latin1(一个字符=一个字节)。
123-
- 开启‘innodb_large_prefix’,修改默认行格式‘innodb_file_format’为Barracuda,并设置row_format=dynamic。
120+
- 减少 varchar 字符大小低于 767/4=191。
121+
- 将字符集改为 latin1(一个字符=一个字节)。
122+
- 开启‘innodb_large_prefix’,修改默认行格式‘innodb_file_format’为 Barracuda,并设置 row_format=dynamic。
123+
124+
## 8.9、出现 ESIndexNotFoundEXception 报错
125+
126+
**原因 :**没有创建 ES 索引模版
127+
128+
**解决方案:**执行 init_es_template.sh 脚本,创建 ES 索引模版即可。
129+
130+
## 8.10、km-console 打包构建失败
131+
132+
首先,**请确保您正在使用最新版本**,版本列表见 [Tags](https://github.com/didi/KnowStreaming/tags)。如果不是最新版本,请升级后再尝试有无问题。
133+
134+
常见的原因是由于工程依赖没有正常安装,导致在打包过程中缺少依赖,造成打包失败。您可以检查是否有以下文件夹,且文件夹内是否有内容
135+
136+
```
137+
KnowStreaming/km-console/node_modules
138+
KnowStreaming/km-console/packages/layout-clusters-fe/node_modules
139+
KnowStreaming/km-console/packages/config-manager-fe/node_modules
140+
```
141+
142+
如果发现没有对应的 `node_modules` 目录或着目录内容为空,说明依赖没有安装成功。请按以下步骤操作,
143+
144+
1. 手动删除上述三个文件夹(如果有)
145+
146+
2. 如果之前是通过 `mvn install` 打包 `km-console`,请到项目根目录(KnowStreaming)下重新输入该指令进行打包。观察打包过程有无报错。如有报错,请见步骤 4。
147+
148+
3. 如果是通过本地独立构建前端工程的方式(指直接执行 `npm run build`),请进入 `KnowStreaming/km-console` 目录,执行下述步骤(注意:执行时请确保您在使用 `node v12` 版本)
149+
150+
a. 执行 `npm run i`。如有报错,请见步骤 4。
151+
152+
b. 执行 `npm run build`。如有报错,请见步骤 4。
153+
154+
4. 麻烦联系我们协助解决。推荐提供以下信息,方面我们快速定位问题,示例如下。
155+
156+
```
157+
操作系统: Mac
158+
命令行终端:bash
159+
Node 版本: v12.22.12
160+
复现步骤: 1. -> 2.
161+
错误截图:
162+
```
124163

125-
## 8.9、出现ESIndexNotFoundEXception报错
164+
## 8.11、在 `km-console` 目录下执行 `npm run start` 时看不到应用构建和热加载过程?如何启动单个应用?
126165

127-
**原因 :**没有创建ES索引模版
166+
需要到具体的应用中执行 `npm run start`,例如 `cd packages/layout-clusters-fe` 后,执行 `npm run start`
128167

129-
**解决方案:**执行init_es_template.sh脚本,创建ES索引模版即可。
168+
应用启动后需要到基座应用中查看(需要启动基座应用,即 layout-clusters-fe)。

km-console/README.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
## 前提
22

3-
正常情况下,您应该通过 [本地源码启动手册](https://github.com/didi/KnowStreaming/blob/master/docs/dev_guide/%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E5%90%AF%E5%8A%A8%E6%89%8B%E5%86%8C.md) 来打包工程。如果您有需要在本地独立启动前端服务,请参考以下手册。
3+
通常情况下,您可以通过 [本地源码启动手册](https://github.com/didi/KnowStreaming/blob/master/docs/dev_guide/%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E5%90%AF%E5%8A%A8%E6%89%8B%E5%86%8C.md) 来打包工程。如果您需要在本地独立启动或打包前端服务,请参考以下手册。
44

5-
在进行以下的步骤之前,首先确保您已经安装了 `node`。如已安装,可以通过在终端执行 `node -v` 来获取到 node 版本,项目推荐使用 `node v12` 版本运行。
5+
在进行以下的步骤之前,首先确保您已经安装了 `node`。如已安装,可以通过在终端执行 `node -v` 来获取到 node 版本,项目推荐使用 `node v12` 版本运行(例如 `node v12.22.12`
66

77
另外,`windows` 用户请在 `git bash` 下运行下面的命令。
88

9-
## 一、安装项目依赖(必须)
9+
## 一、进入 km-console 目录
10+
11+
在终端执行以下步骤时,需要先进入 `KnowStreaming/km-console` 目录。
12+
13+
## 二、安装项目依赖(必须)
1014

1115
1. 安装 lerna(可选,安装后可以直接通过 lerna 的全局指令管理项目,如果不了解 lerna 可以不安装)
1216

@@ -20,9 +24,9 @@ npm install -g lerna
2024
npm run i
2125
```
2226

23-
我们默认保留了 `package-lock.json` 文件,以防止可能的依赖包自动升级导致的问题。依赖默认会通过 `https://registry.npmjs.org` 服务下载,如果您无法连通该服务器,请删除当前目录及 `packages/*` 子目录下的 `package-lock.json` 后,在当前目录下使用 `node v12` 版本执行命令 `npm run i`
27+
我们默认保留了 `package-lock.json` 文件,以防止可能的依赖包自动升级导致的问题。依赖默认会通过 taobao 镜像 `https://registry.npmmirror.com/` 服务下载
2428

25-
## 、启动项目
29+
## 、启动项目(可选,打包构建请直接看步骤三)
2630

2731
```
2832
npm run start
@@ -37,11 +41,10 @@ npm run start
3741

3842
如果启动失败,可以参见另外一种本地启动方式 [本地源码启动手册](https://github.com/didi/KnowStreaming/blob/master/docs/dev_guide/%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E5%90%AF%E5%8A%A8%E6%89%8B%E5%86%8C.md)
3943

40-
## 、构建项目
44+
## 、构建项目
4145

4246
```
4347
npm run build
44-
4548
```
4649

4750
项目构建成功后,会存放到 km-rest/src/main/resources/tamplates 目录下。
@@ -53,8 +56,10 @@ npm run build
5356
- config-manager-fe: 子应用 - 系统管理
5457
- ...
5558

56-
## 常见问题
59+
## QA
5760

5861
Q: 在 `km-console` 目录下执行 `npm run start` 时看不到应用构建和热加载过程?如何启动单个应用?
5962

6063
A: 需要到具体的应用中执行 `npm run start`,例如 `cd packages/layout-clusters-fe` 后,执行 `npm run start`
64+
65+
如遇到其它问题,请见 [faq](https://github.com/didi/KnowStreaming/blob/master/docs/user_guide/faq.md)

0 commit comments

Comments
 (0)