Skip to content

Commit 41637dc

Browse files
authored
合并主分支
2 parents 6549944 + feac0a0 commit 41637dc

File tree

110 files changed

+2055
-1745
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+2055
-1745
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,16 @@
5151
- 无需侵入改造 `Apache Kafka` ,一键便能纳管 `0.10.x` ~ `3.x.x` 众多版本的Kafka,包括 `ZK``Raft` 运行模式的版本,同时在兼容架构上具备良好的扩展性,帮助您提升集群管理水平;
5252

5353
- 🌪️  **零成本、界面化**
54-
- 提炼高频 CLI 能力,设计合理的产品路径,提供清新美观的 GUI 界面,支持 Cluster、Broker、Topic、Group、Message、ACL 等组件 GUI 管理,普通用户5分钟即可上手;
54+
- 提炼高频 CLI 能力,设计合理的产品路径,提供清新美观的 GUI 界面,支持 Cluster、Broker、Zookeeper、Topic、ConsumerGroup、Message、ACL、Connect 等组件 GUI 管理,普通用户5分钟即可上手;
5555

5656
- 👏  **云原生、插件化**
5757
- 基于云原生构建,具备水平扩展能力,只需要增加节点即可获取更强的采集及对外服务能力,提供众多可热插拔的企业级特性,覆盖可观测性生态整合、资源治理、多活容灾等核心场景;
5858

5959
- 🚀  **专业能力**
60-
- 集群管理:支持集群一键纳管,健康分析、核心组件观测 等功能;
60+
- 集群管理:支持一键纳管,健康分析、核心组件观测 等功能;
6161
- 观测提升:多维度指标观测大盘、观测指标最佳实践 等功能;
6262
- 异常巡检:集群多维度健康巡检、集群多维度健康分 等功能;
63-
- 能力增强:Topic扩缩副本、Topic副本迁移 等功能;
63+
- 能力增强:集群负载均衡、Topic扩缩副本、Topic副本迁移 等功能;
6464

6565

6666
 

Releases_Notes.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,39 @@
11

22

3+
## v3.0.0-beta.3
4+
5+
**文档**
6+
- FAQ 补充权限识别失败问题的说明
7+
- 同步更新文档,保持与官网一致
8+
9+
10+
**Bug修复**
11+
- Offset 信息获取时,过滤掉无 Leader 的分区
12+
- 升级 oshi-core 版本至 5.6.1 版本,修复 Windows 系统获取系统指标失败问题
13+
- 修复 JMX 连接被关闭后,未进行重建的问题
14+
- 修复因 DB 中 Broker 信息不存在导致 TotalLogSize 指标获取时抛空指针问题
15+
- 修复 dml-logi.sql 中,SQL 注释错误的问题
16+
- 修复 startup.sh 中,识别操作系统类型错误的问题
17+
- 修复配置管理页面删除配置失败的问题
18+
- 修复系统管理应用文件引用路径
19+
- 修复 Topic Messages 详情提示信息点击跳转 404 的问题
20+
- 修复扩副本时,当前副本数不显示问题
21+
22+
23+
**体验优化**
24+
- Topic-Messages 页面,增加返回数据的排序以及按照Earliest/Latest的获取方式
25+
- 优化 GroupOffsetResetEnum 类名为 OffsetTypeEnum,使得类名含义更准确
26+
- 移动 KafkaZKDAO 类,及 Kafka Znode 实体类的位置,使得 Kafka Zookeeper DAO 更加内聚及便于识别
27+
- 后端补充 Overview 页面指标排序的功能
28+
- 前端 Webpack 配置优化
29+
- Cluster Overview 图表取消放大展示功能
30+
- 列表页增加手动刷新功能
31+
- 接入/编辑集群,优化 JMX-PORT,Version 信息的回显,优化JMX信息的展示
32+
- 提高登录页面图片展示清晰度
33+
- 部分样式和文案优化
34+
35+
---
36+
337
## v3.0.0-beta.2
438

539
**文档**

bin/startup.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ error_exit ()
99
[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
1010

1111
if [ -z "$JAVA_HOME" ]; then
12-
if $darwin; then
12+
if [ "Darwin" = "$(uname -s)" ]; then
1313

1414
if [ -x '/usr/libexec/java_home' ] ; then
1515
export JAVA_HOME=`/usr/libexec/java_home`

docs/install_guide/单机部署手册.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ sh deploy_KnowStreaming-offline.sh
5959

6060
### 2.1.3、容器部署
6161

62+
#### 2.1.3.1、Helm
63+
6264
**环境依赖**
6365

6466
- Kubernetes >= 1.14 ,Helm >= 2.17.0
@@ -87,6 +89,103 @@ helm pull knowstreaming/knowstreaming-manager
8789

8890
 
8991

92+
#### 2.1.3.2、Docker Compose
93+
```yml
94+
version: "3"
95+
96+
services:
97+
98+
knowstreaming-manager:
99+
image: knowstreaming/knowstreaming-manager:0.2.0-test
100+
container_name: knowstreaming-manager
101+
privileged: true
102+
restart: always
103+
depends_on:
104+
- elasticsearch-single
105+
- knowstreaming-mysql
106+
expose:
107+
- 80
108+
command:
109+
- /bin/sh
110+
- /ks-start.sh
111+
environment:
112+
TZ: Asia/Shanghai
113+
114+
SERVER_MYSQL_ADDRESS: knowstreaming-mysql:3306
115+
SERVER_MYSQL_DB: know_streaming
116+
SERVER_MYSQL_USER: root
117+
SERVER_MYSQL_PASSWORD: admin2022_
118+
119+
SERVER_ES_ADDRESS: elasticsearch-single:9200
120+
121+
JAVA_OPTS: -Xmx1g -Xms1g
122+
123+
# extra_hosts:
124+
# - "hostname:x.x.x.x"
125+
# volumes:
126+
# - /ks/manage/log:/logs
127+
knowstreaming-ui:
128+
image: knowstreaming/knowstreaming-ui:0.2.0-test1
129+
container_name: knowstreaming-ui
130+
restart: always
131+
ports:
132+
- '18092:80'
133+
environment:
134+
TZ: Asia/Shanghai
135+
depends_on:
136+
- knowstreaming-manager
137+
# extra_hosts:
138+
# - "hostname:x.x.x.x"
139+
140+
elasticsearch-single:
141+
image: docker.io/library/elasticsearch:7.6.2
142+
container_name: elasticsearch-single
143+
restart: always
144+
expose:
145+
- 9200
146+
- 9300
147+
# ports:
148+
# - '9200:9200'
149+
# - '9300:9300'
150+
environment:
151+
TZ: Asia/Shanghai
152+
ES_JAVA_OPTS: -Xms512m -Xmx512m
153+
discovery.type: single-node
154+
# volumes:
155+
# - /ks/es/data:/usr/share/elasticsearch/data
156+
157+
knowstreaming-init:
158+
image: knowstreaming/knowstreaming-manager:0.2.0-test
159+
container_name: knowstreaming_init
160+
depends_on:
161+
- elasticsearch-single
162+
command:
163+
- /bin/bash
164+
- /es_template_create.sh
165+
environment:
166+
TZ: Asia/Shanghai
167+
SERVER_ES_ADDRESS: elasticsearch-single:9200
168+
169+
170+
knowstreaming-mysql:
171+
image: knowstreaming/knowstreaming-mysql:0.2.0-test
172+
container_name: knowstreaming-mysql
173+
restart: always
174+
environment:
175+
TZ: Asia/Shanghai
176+
MYSQL_ROOT_PASSWORD: admin2022_
177+
MYSQL_DATABASE: know_streaming
178+
MYSQL_ROOT_HOST: '%'
179+
expose:
180+
- 3306
181+
# ports:
182+
# - '3306:3306'
183+
# volumes:
184+
# - /ks/mysql/data:/data/mysql
185+
```
186+
187+
 
188+
90189
### 2.1.4、手动部署
91190

92191
**部署流程**

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

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ thread-pool:
4040

4141
```
4242

43-
44-
**SQL变更**
43+
**SQL 变更**
4544

4645
```sql
4746
-- 多集群管理权限2022-09-06新增
@@ -80,12 +79,11 @@ ALTER TABLE `logi_security_oplog`
8079

8180
### 6.2.2、升级至 `v3.0.0-beta.1`版本
8281

83-
84-
**SQL变更**
82+
**SQL 变更**
8583

8684
1、在`ks_km_broker`表增加了一个监听信息字段。
87-
2、为`logi_security_oplog`表operation_methods字段设置默认值''。
88-
因此需要执行下面的sql对数据库表进行更新
85+
2、为`logi_security_oplog`表 operation_methods 字段设置默认值''。
86+
因此需要执行下面的 sql 对数据库表进行更新
8987

9088
```sql
9189
ALTER TABLE `ks_km_broker`
@@ -98,7 +96,6 @@ ALTER COLUMN `operation_methods` set default '';
9896

9997
---
10098

101-
10299
### 6.2.3、`2.x`版本 升级至 `v3.0.0-beta.0`版本
103100

104101
**升级步骤:**
@@ -123,14 +120,14 @@ ALTER COLUMN `operation_methods` set default '';
123120
UPDATE ks_km_topic
124121
INNER JOIN
125122
(SELECT
126-
topic.cluster_id AS cluster_id,
127-
topic.topic_name AS topic_name,
128-
topic.description AS description
123+
topic.cluster_id AS cluster_id,
124+
topic.topic_name AS topic_name,
125+
topic.description AS description
129126
FROM topic WHERE description != ''
130127
) AS t
131128

132-
ON ks_km_topic.cluster_phy_id = t.cluster_id
133-
AND ks_km_topic.topic_name = t.topic_name
134-
AND ks_km_topic.id > 0
135-
SET ks_km_topic.description = t.description;
129+
ON ks_km_topic.cluster_phy_id = t.cluster_id
130+
AND ks_km_topic.topic_name = t.topic_name
131+
AND ks_km_topic.id > 0
132+
SET ks_km_topic.description = t.description;
136133
```

docs/user_guide/faq.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,3 +166,19 @@ Node 版本: v12.22.12
166166
需要到具体的应用中执行 `npm run start`,例如 `cd packages/layout-clusters-fe` 后,执行 `npm run start`
167167

168168
应用启动后需要到基座应用中查看(需要启动基座应用,即 layout-clusters-fe)。
169+
170+
171+
## 8.12、权限识别失败问题
172+
1、使用admin账号登陆KnowStreaming时,点击系统管理-用户管理-角色管理-新增角色,查看页面是否正常。
173+
174+
<img src="http://img-ys011.didistatic.com/static/dc2img/do1_gwGfjN9N92UxzHU8dfzr" width = "400" >
175+
176+
2、查看'/logi-security/api/v1/permission/tree'接口返回值,出现如下图所示乱码现象。
177+
![接口返回值](http://img-ys011.didistatic.com/static/dc2img/do1_jTxBkwNGU9vZuYQQbdNw)
178+
179+
3、查看logi_security_permission表,看看是否出现了中文乱码现象。
180+
181+
根据以上几点,我们可以确定是由于数据库乱码造成的权限识别失败问题。
182+
183+
+ 原因:由于数据库编码和我们提供的脚本不一致,数据库里的数据发生了乱码,因此出现权限识别失败问题。
184+
+ 解决方案:清空数据库数据,将数据库字符集调整为utf8,最后重新执行[dml-logi.sql](https://github.com/didi/KnowStreaming/blob/master/km-dist/init/sql/dml-logi.sql)脚本导入数据即可。

docs/user_guide/用户使用手册.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
下面是用户第一次使用我们产品的典型体验路径:
1313

14-
![text](http://img-ys011.didistatic.com/static/dc2img/do1_YehqxqmsVaqU5gf3XphI)
14+
![text](http://img-ys011.didistatic.com/static/dc2img/do1_qgqPsAY46sZeBaPUCwXY)
1515

1616
## 5.3、常用功能
1717

km-biz/src/main/java/com/xiaojukeji/know/streaming/km/biz/group/impl/GroupManagerImpl.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import com.xiaojukeji.know.streaming.km.common.bean.vo.group.GroupTopicOverviewVO;
2020
import com.xiaojukeji.know.streaming.km.common.constant.MsgConstant;
2121
import com.xiaojukeji.know.streaming.km.common.enums.AggTypeEnum;
22-
import com.xiaojukeji.know.streaming.km.common.enums.GroupOffsetResetEnum;
22+
import com.xiaojukeji.know.streaming.km.common.enums.OffsetTypeEnum;
2323
import com.xiaojukeji.know.streaming.km.common.enums.group.GroupStateEnum;
2424
import com.xiaojukeji.know.streaming.km.common.exception.AdminOperateException;
2525
import com.xiaojukeji.know.streaming.km.common.exception.NotExistException;
@@ -199,12 +199,12 @@ private Result<Void> checkFieldLegal(GroupOffsetResetDTO dto) {
199199
return Result.buildFromRSAndMsg(ResultStatus.NOT_EXIST, MsgConstant.getTopicNotExist(dto.getClusterId(), dto.getTopicName()));
200200
}
201201

202-
if (GroupOffsetResetEnum.PRECISE_OFFSET.getResetType() == dto.getResetType()
202+
if (OffsetTypeEnum.PRECISE_OFFSET.getResetType() == dto.getResetType()
203203
&& ValidateUtils.isEmptyList(dto.getOffsetList())) {
204204
return Result.buildFromRSAndMsg(ResultStatus.PARAM_ILLEGAL, "参数错误,指定offset重置需传offset信息");
205205
}
206206

207-
if (GroupOffsetResetEnum.PRECISE_TIMESTAMP.getResetType() == dto.getResetType()
207+
if (OffsetTypeEnum.PRECISE_TIMESTAMP.getResetType() == dto.getResetType()
208208
&& ValidateUtils.isNull(dto.getTimestamp())) {
209209
return Result.buildFromRSAndMsg(ResultStatus.PARAM_ILLEGAL, "参数错误,指定时间重置需传时间信息");
210210
}
@@ -213,7 +213,7 @@ private Result<Void> checkFieldLegal(GroupOffsetResetDTO dto) {
213213
}
214214

215215
private Result<Map<TopicPartition, Long>> getPartitionOffset(GroupOffsetResetDTO dto) {
216-
if (GroupOffsetResetEnum.PRECISE_OFFSET.getResetType() == dto.getResetType()) {
216+
if (OffsetTypeEnum.PRECISE_OFFSET.getResetType() == dto.getResetType()) {
217217
return Result.buildSuc(dto.getOffsetList().stream().collect(Collectors.toMap(
218218
elem -> new TopicPartition(dto.getTopicName(), elem.getPartitionId()),
219219
PartitionOffsetDTO::getOffset,
@@ -222,9 +222,9 @@ private Result<Map<TopicPartition, Long>> getPartitionOffset(GroupOffsetResetDTO
222222
}
223223

224224
OffsetSpec offsetSpec = null;
225-
if (GroupOffsetResetEnum.PRECISE_TIMESTAMP.getResetType() == dto.getResetType()) {
225+
if (OffsetTypeEnum.PRECISE_TIMESTAMP.getResetType() == dto.getResetType()) {
226226
offsetSpec = OffsetSpec.forTimestamp(dto.getTimestamp());
227-
} else if (GroupOffsetResetEnum.EARLIEST.getResetType() == dto.getResetType()) {
227+
} else if (OffsetTypeEnum.EARLIEST.getResetType() == dto.getResetType()) {
228228
offsetSpec = OffsetSpec.earliest();
229229
} else {
230230
offsetSpec = OffsetSpec.latest();

km-biz/src/main/java/com/xiaojukeji/know/streaming/km/biz/topic/TopicStateManager.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.xiaojukeji.know.streaming.km.biz.topic;
22

3+
import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.PaginationSortDTO;
34
import com.xiaojukeji.know.streaming.km.common.bean.dto.topic.TopicRecordDTO;
45
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
56
import com.xiaojukeji.know.streaming.km.common.bean.vo.topic.TopicBrokersPartitionsSummaryVO;

0 commit comments

Comments
 (0)