From a82d7f594eff7a063028e41b972535158db696fa Mon Sep 17 00:00:00 2001 From: zengqiao Date: Fri, 24 Feb 2023 17:49:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B63.3.0=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E7=89=88=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- km-biz/pom.xml | 5 + .../impl/MultiClusterPhyManagerImpl.java | 30 +++ km-common/pom.xml | 6 - .../km/common/constant/ESConstant.java | 2 - km-console/.env | 2 +- .../packages/config-manager-fe/src/app.tsx | 12 +- .../packages/layout-clusters-fe/src/app.tsx | 43 +-- .../src/components/ChartOperateBar/index.tsx | 29 ++ .../components/DraggableCharts/ChartList.tsx | 2 +- .../src/pages/MutliClusterPage/List.tsx | 13 + .../layout-clusters-fe/src/pages/index.tsx | 1 - .../impl/ClusterMetricServiceImpl.java | 41 +-- .../km/core/service/config/ConfigUtils.java | 2 +- .../state/impl/HealthStateServiceImpl.java | 2 +- .../kafka/ClusterMetricVersionItems.java | 31 --- .../km-rebalance/pom.xml | 23 +- .../algorithm}/KafkaRebalanceMain.java | 12 +- .../OptimizationFailureException.java | 2 +- .../executor/ExecutionRebalance.java | 24 +- .../executor/common/BalanceActionHistory.java | 2 +- .../executor/common/BalanceDetailed.java | 2 +- .../executor/common/BalanceGoal.java | 2 +- .../executor/common/BalanceOverview.java | 4 +- .../executor/common/BalanceParameter.java | 2 +- .../executor/common/BalanceTask.java | 2 +- .../executor/common/BalanceThreshold.java | 4 +- .../executor/common/BrokerBalanceState.java | 2 +- .../algorithm}/executor/common/HostEnv.java | 2 +- .../executor/common/OptimizerResult.java | 16 +- .../executor/common/TopicChangeHistory.java | 2 +- .../rebalance/algorithm}/metric/Metric.java | 2 +- .../algorithm}/metric/MetricStore.java | 2 +- .../rebalance/algorithm}/metric/Metrics.java | 6 +- .../ElasticsearchMetricStore.java | 8 +- .../km/rebalance/algorithm}/model/Broker.java | 2 +- .../rebalance/algorithm}/model/Capacity.java | 2 +- .../algorithm}/model/ClusterModel.java | 4 +- .../km/rebalance/algorithm}/model/Load.java | 2 +- .../rebalance/algorithm}/model/Partition.java | 2 +- .../km/rebalance/algorithm}/model/Rack.java | 2 +- .../rebalance/algorithm}/model/Replica.java | 2 +- .../model/ReplicaPlacementInfo.java | 2 +- .../rebalance/algorithm}/model/Resource.java | 2 +- .../rebalance/algorithm}/model/Supplier.java | 10 +- .../algorithm/optimizer/ActionAcceptance.java | 5 + .../algorithm}/optimizer/ActionType.java | 2 +- .../algorithm}/optimizer/AnalyzerUtils.java | 14 +- .../algorithm}/optimizer/BalancingAction.java | 2 +- .../optimizer/ExecutionProposal.java | 4 +- .../algorithm}/optimizer/GoalOptimizer.java | 10 +- .../optimizer/OptimizationOptions.java | 6 +- .../optimizer/goals/AbstractGoal.java | 10 +- .../optimizer/goals/DiskDistributionGoal.java | 12 +- .../algorithm/optimizer/goals/Goal.java | 17 ++ .../goals/NetworkInboundDistributionGoal.java | 12 +- .../NetworkOutboundDistributionGoal.java | 4 +- .../goals/ResourceDistributionGoal.java | 12 +- .../goals/TopicLeadersDistributionGoal.java | 24 +- .../goals/TopicReplicaDistributionGoal.java | 18 +- .../km/rebalance/algorithm/package-info.java | 7 + .../algorithm}/utils/CommandLineUtils.java | 2 +- .../rebalance/algorithm}/utils/GoalUtils.java | 14 +- .../algorithm}/utils/MetadataUtils.java | 2 +- .../common/BalanceMetricConstant.java | 35 +++ .../bean/dto/ClusterBalanceIntervalDTO.java | 2 +- .../bean/dto/ClusterBalanceOverviewDTO.java | 2 +- .../bean/dto/ClusterBalancePreviewDTO.java | 2 +- .../bean/dto/ClusterBalanceStrategyDTO.java | 2 +- .../bean/entity/ClusterBalanceInterval.java | 2 +- .../bean/entity/ClusterBalanceItemState.java | 6 +- .../entity/job/ClusterBalanceJobConfig.java | 2 +- .../entity/job/ClusterBalanceReassign.java | 2 +- .../job/ClusterBalanceReassignDetail.java | 4 +- .../job/ClusterBalanceReassignExtendData.java | 2 +- .../job/content/JobClusterBalanceContent.java | 4 +- .../AbstractClusterBalanceDetailData.java | 2 +- ...sterBalanceDetailDataGroupByPartition.java | 2 +- .../ClusterBalanceDetailDataGroupByTopic.java | 2 +- .../job/detail/ClusterBalancePlanDetail.java | 2 +- .../bean/po/ClusterBalanceJobConfigPO.java | 2 +- .../common}/bean/po/ClusterBalanceJobPO.java | 2 +- .../bean/po/ClusterBalanceReassignPO.java | 2 +- .../bean/vo/ClusterBalanceHistorySubVO.java | 2 +- .../bean/vo/ClusterBalanceHistoryVO.java | 2 +- .../bean/vo/ClusterBalanceIntervalVO.java | 2 +- .../bean/vo/ClusterBalanceJobConfigVO.java | 4 +- .../bean/vo/ClusterBalanceOverviewSubVO.java | 2 +- .../bean/vo/ClusterBalanceOverviewVO.java | 2 +- .../bean/vo/ClusterBalancePlanDetailVO.java | 2 +- .../common}/bean/vo/ClusterBalancePlanVO.java | 2 +- .../bean/vo/ClusterBalanceStateSubVO.java | 2 +- .../bean/vo/ClusterBalanceStateVO.java | 2 +- .../converter/ClusterBalanceConverter.java | 36 +-- .../ClusterBalanceReassignConverter.java | 14 +- .../enums/ClusterBalanceStateEnum.java | 2 +- .../common}/enums/ClusterBalanceTypeEnum.java | 2 +- .../km/rebalance/common}/package-info.java | 2 +- .../core}/job/ClusterBalanceJobHandler.java | 37 ++- .../km/rebalance/core}/package-info.java | 2 +- .../ClusterBalanceJobConfigService.java | 4 +- .../service/ClusterBalanceJobService.java | 8 +- .../ClusterBalanceReassignService.java | 8 +- .../core}/service/ClusterBalanceService.java | 13 +- .../ClusterBalanceJobConfigServiceImpl.java | 8 +- .../impl/ClusterBalanceJobServiceImpl.java | 36 +-- .../ClusterBalanceReassignServiceImpl.java | 16 +- .../impl/ClusterBalanceServiceImpl.java | 199 +++++++++----- .../ClusterBalanceJobConfigDao.java | 4 +- .../persistence}/ClusterBalanceJobDao.java | 4 +- .../ClusterBalanceReassignDao.java | 5 +- ...m.rebalance.algorithm.optimizer.goals.Goal | 5 + .../src/main/resources/MetricsQuery.json | 0 .../mybatis/ClusterBalanceJobMapper.xml | 4 +- .../mybatis/ClusterBalanceReassignMapper.xml | 15 +- .../know/streaming/km/rebalance/Test.java | 16 +- .../src/test/resources/log4j.properties | 0 km-extends/km-license/pom.xml | 40 --- .../km/license/LicenseInterceptor.java | 69 ----- .../km/license/LicenseWebConfig.java | 24 -- .../streaming/km/license/bean/KmLicense.java | 11 - .../km/license/bean/KmLicenseUsageDetail.java | 24 -- .../km/license/bean/LicenseInfo.java | 34 --- .../km/license/bean/LicenseResult.java | 12 - .../km/license/bean/LicenseUsage.java | 24 -- .../km/license/service/LicenseService.java | 18 -- .../service/impl/LicenseServiceImpl.java | 253 ------------------ .../rebalance/optimizer/ActionAcceptance.java | 5 - .../km/rebalance/optimizer/goals/Goal.java | 17 -- ...treaming.km.rebalance.optimizer.goals.Goal | 5 - km-rest/pom.xml | 5 - .../rebalance/ClusterBalanceController.java | 10 +- .../api/v3/license}/LicenseController.java | 10 +- .../km/rest/config/DataSourceConfig.java | 2 +- km-rest/src/main/resources/application.yml | 7 - km-rest/src/main/resources/logback-spring.xml | 2 +- .../rebalance/job/ClusterBalanceJobTask.java | 8 +- pom.xml | 5 +- 137 files changed, 591 insertions(+), 1082 deletions(-) rename {km-extends => km-enterprise}/km-rebalance/pom.xml (79%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/KafkaRebalanceMain.java (94%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/exception/OptimizationFailureException.java (83%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/ExecutionRebalance.java (79%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/BalanceActionHistory.java (95%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/BalanceDetailed.java (98%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/BalanceGoal.java (84%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/BalanceOverview.java (94%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/BalanceParameter.java (98%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/BalanceTask.java (91%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/BalanceThreshold.java (86%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/BrokerBalanceState.java (98%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/HostEnv.java (94%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/OptimizerResult.java (93%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/executor/common/TopicChangeHistory.java (95%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/metric/Metric.java (92%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/metric/MetricStore.java (67%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/metric/Metrics.java (85%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/metric/elasticsearch/ElasticsearchMetricStore.java (93%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/Broker.java (99%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/Capacity.java (92%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/ClusterModel.java (98%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/Load.java (93%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/Partition.java (98%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/Rack.java (95%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/Replica.java (98%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/ReplicaPlacementInfo.java (94%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/Resource.java (86%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/model/Supplier.java (92%) create mode 100644 km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ActionAcceptance.java rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/ActionType.java (82%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/AnalyzerUtils.java (85%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/BalancingAction.java (93%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/ExecutionProposal.java (94%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/GoalOptimizer.java (82%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/OptimizationOptions.java (89%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/goals/AbstractGoal.java (94%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/goals/DiskDistributionGoal.java (56%) create mode 100644 km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/Goal.java rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/goals/NetworkInboundDistributionGoal.java (58%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/goals/NetworkOutboundDistributionGoal.java (68%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/goals/ResourceDistributionGoal.java (95%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/goals/TopicLeadersDistributionGoal.java (90%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/optimizer/goals/TopicReplicaDistributionGoal.java (95%) create mode 100644 km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/package-info.java rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/utils/CommandLineUtils.java (86%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/utils/GoalUtils.java (82%) rename {km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm}/utils/MetadataUtils.java (98%) create mode 100644 km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/BalanceMetricConstant.java rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/dto/ClusterBalanceIntervalDTO.java (91%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/dto/ClusterBalanceOverviewDTO.java (87%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/dto/ClusterBalancePreviewDTO.java (93%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/dto/ClusterBalanceStrategyDTO.java (96%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/ClusterBalanceInterval.java (86%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/ClusterBalanceItemState.java (81%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/job/ClusterBalanceJobConfig.java (94%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/job/ClusterBalanceReassign.java (91%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/job/ClusterBalanceReassignDetail.java (73%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/job/ClusterBalanceReassignExtendData.java (90%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/job/content/JobClusterBalanceContent.java (87%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/job/detail/AbstractClusterBalanceDetailData.java (93%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/job/detail/ClusterBalanceDetailDataGroupByPartition.java (79%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/job/detail/ClusterBalanceDetailDataGroupByTopic.java (83%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/entity/job/detail/ClusterBalancePlanDetail.java (95%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/po/ClusterBalanceJobConfigPO.java (95%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/po/ClusterBalanceJobPO.java (96%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/po/ClusterBalanceReassignPO.java (94%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalanceHistorySubVO.java (88%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalanceHistoryVO.java (91%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalanceIntervalVO.java (85%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalanceJobConfigVO.java (88%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalanceOverviewSubVO.java (91%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalanceOverviewVO.java (92%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalancePlanDetailVO.java (95%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalancePlanVO.java (94%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalanceStateSubVO.java (93%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/bean/vo/ClusterBalanceStateVO.java (92%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/converter/ClusterBalanceConverter.java (94%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/converter/ClusterBalanceReassignConverter.java (94%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/enums/ClusterBalanceStateEnum.java (89%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/enums/ClusterBalanceTypeEnum.java (87%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common}/package-info.java (85%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/job/ClusterBalanceJobHandler.java (90%) rename {km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/package-info.java (85%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/service/ClusterBalanceJobConfigService.java (76%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/service/ClusterBalanceJobService.java (86%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/service/ClusterBalanceReassignService.java (80%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/service/ClusterBalanceService.java (76%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/service/impl/ClusterBalanceJobConfigServiceImpl.java (89%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/service/impl/ClusterBalanceJobServiceImpl.java (92%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/service/impl/ClusterBalanceReassignServiceImpl.java (96%) rename {km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core}/service/impl/ClusterBalanceServiceImpl.java (82%) rename {km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence}/ClusterBalanceJobConfigDao.java (74%) rename {km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence}/ClusterBalanceJobDao.java (77%) rename {km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance => km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence}/ClusterBalanceReassignDao.java (77%) create mode 100644 km-enterprise/km-rebalance/src/main/resources/META-INF/services/com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.Goal rename {km-extends => km-enterprise}/km-rebalance/src/main/resources/MetricsQuery.json (100%) rename {km-persistence => km-enterprise/km-rebalance}/src/main/resources/mybatis/ClusterBalanceJobMapper.xml (94%) rename {km-persistence => km-enterprise/km-rebalance}/src/main/resources/mybatis/ClusterBalanceReassignMapper.xml (77%) rename {km-extends => km-enterprise}/km-rebalance/src/test/java/com/xiaojukeji/know/streaming/km/rebalance/Test.java (84%) rename {km-extends => km-enterprise}/km-rebalance/src/test/resources/log4j.properties (100%) delete mode 100644 km-extends/km-license/pom.xml delete mode 100644 km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/LicenseInterceptor.java delete mode 100644 km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/LicenseWebConfig.java delete mode 100644 km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/KmLicense.java delete mode 100644 km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/KmLicenseUsageDetail.java delete mode 100644 km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseInfo.java delete mode 100644 km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseResult.java delete mode 100644 km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseUsage.java delete mode 100644 km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/service/LicenseService.java delete mode 100644 km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/service/impl/LicenseServiceImpl.java delete mode 100644 km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ActionAcceptance.java delete mode 100644 km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/Goal.java delete mode 100644 km-extends/km-rebalance/src/main/resources/META-INF/services/com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.Goal rename {km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/controller => km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/api/v3/license}/LicenseController.java (66%) rename km-task/src/main/java/com/xiaojukeji/know/streaming/km/task/{ => kafka}/enterprise/rebalance/job/ClusterBalanceJobTask.java (84%) diff --git a/km-biz/pom.xml b/km-biz/pom.xml index b8c3457b..d9a228ab 100644 --- a/km-biz/pom.xml +++ b/km-biz/pom.xml @@ -29,6 +29,11 @@ km-core ${project.parent.version} + + com.xiaojukeji.kafka + km-rebalance + ${project.parent.version} + diff --git a/km-biz/src/main/java/com/xiaojukeji/know/streaming/km/biz/cluster/impl/MultiClusterPhyManagerImpl.java b/km-biz/src/main/java/com/xiaojukeji/know/streaming/km/biz/cluster/impl/MultiClusterPhyManagerImpl.java index 7e379c99..984b2152 100644 --- a/km-biz/src/main/java/com/xiaojukeji/know/streaming/km/biz/cluster/impl/MultiClusterPhyManagerImpl.java +++ b/km-biz/src/main/java/com/xiaojukeji/know/streaming/km/biz/cluster/impl/MultiClusterPhyManagerImpl.java @@ -15,6 +15,7 @@ import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result; import com.xiaojukeji.know.streaming.km.common.bean.vo.cluster.ClusterPhyBaseVO; import com.xiaojukeji.know.streaming.km.common.bean.vo.cluster.ClusterPhyDashboardVO; import com.xiaojukeji.know.streaming.km.common.bean.vo.metrics.line.MetricMultiLinesVO; +import com.xiaojukeji.know.streaming.km.common.constant.Constant; import com.xiaojukeji.know.streaming.km.common.converter.ClusterVOConverter; import com.xiaojukeji.know.streaming.km.common.enums.health.HealthStateEnum; import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil; @@ -24,6 +25,10 @@ import com.xiaojukeji.know.streaming.km.common.utils.ValidateUtils; import com.xiaojukeji.know.streaming.km.core.service.cluster.ClusterMetricService; import com.xiaojukeji.know.streaming.km.core.service.cluster.ClusterPhyService; import com.xiaojukeji.know.streaming.km.core.service.version.metrics.kafka.ClusterMetricVersionItems; +import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource; +import com.xiaojukeji.know.streaming.km.rebalance.common.BalanceMetricConstant; +import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.ClusterBalanceItemState; +import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -40,6 +45,9 @@ public class MultiClusterPhyManagerImpl implements MultiClusterPhyManager { @Autowired private ClusterMetricService clusterMetricService; + @Autowired + private ClusterBalanceService clusterBalanceService; + @Override public ClusterPhysState getClusterPhysState() { List clusterPhyList = clusterPhyService.listAllClusters(); @@ -153,6 +161,11 @@ public class MultiClusterPhyManagerImpl implements MultiClusterPhyManager { ClusterMetrics clusterMetrics = clusterMetricService.getLatestMetricsFromCache(vo.getId()); clusterMetrics.getMetrics().putIfAbsent(ClusterMetricVersionItems.CLUSTER_METRIC_HEALTH_STATE, (float) HealthStateEnum.UNKNOWN.getDimension()); + Result balanceMetricsResult = this.getClusterLoadReBalanceInfo(vo.getId()); + if (balanceMetricsResult.hasData()) { + clusterMetrics.putMetric(balanceMetricsResult.getData().getMetrics()); + } + metricsList.add(clusterMetrics); } @@ -174,4 +187,21 @@ public class MultiClusterPhyManagerImpl implements MultiClusterPhyManager { dto.setClusterPhyIds(clusterIdList); return dto; } + + private Result getClusterLoadReBalanceInfo(Long clusterPhyId) { + Result stateResult = clusterBalanceService.getItemStateFromCacheFirst(clusterPhyId); + if (stateResult.failed()) { + return Result.buildFromIgnoreData(stateResult); + } + + ClusterBalanceItemState state = stateResult.getData(); + + ClusterMetrics metric = ClusterMetrics.initWithMetrics(clusterPhyId, BalanceMetricConstant.CLUSTER_METRIC_LOAD_RE_BALANCE_ENABLE, state.getEnable()? Constant.YES: Constant.NO); + metric.putMetric(BalanceMetricConstant.CLUSTER_METRIC_LOAD_RE_BALANCE_CPU, state.getResItemState(Resource.CPU).floatValue()); + metric.putMetric(BalanceMetricConstant.CLUSTER_METRIC_LOAD_RE_BALANCE_NW_IN, state.getResItemState(Resource.NW_IN).floatValue()); + metric.putMetric(BalanceMetricConstant.CLUSTER_METRIC_LOAD_RE_BALANCE_NW_OUT, state.getResItemState(Resource.NW_OUT).floatValue()); + metric.putMetric(BalanceMetricConstant.CLUSTER_METRIC_LOAD_RE_BALANCE_DISK, state.getResItemState(Resource.DISK).floatValue()); + + return Result.buildSuc(metric); + } } diff --git a/km-common/pom.xml b/km-common/pom.xml index b1dc65a7..63c94a48 100644 --- a/km-common/pom.xml +++ b/km-common/pom.xml @@ -22,12 +22,6 @@ - - com.xiaojukeji.kafka - km-rebalance - ${project.parent.version} - - org.springframework spring-web diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/constant/ESConstant.java b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/constant/ESConstant.java index 07cef36f..85bf2084 100644 --- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/constant/ESConstant.java +++ b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/constant/ESConstant.java @@ -36,8 +36,6 @@ public class ESConstant { public static final Integer DEFAULT_RETRY_TIME = 3; - public static final String PARTITION_INDEX = "ks_kafka_partition_metric"; - /** * 获取Topic-Latest指标时,单次允许的Topic数 */ diff --git a/km-console/.env b/km-console/.env index a892cff7..15a0e919 100644 --- a/km-console/.env +++ b/km-console/.env @@ -1,2 +1,2 @@ -BUSINESS_VERSION='false' +BUSINESS_VERSION='true' PUBLIC_PATH='' diff --git a/km-console/packages/config-manager-fe/src/app.tsx b/km-console/packages/config-manager-fe/src/app.tsx index 2f29654d..c653b814 100644 --- a/km-console/packages/config-manager-fe/src/app.tsx +++ b/km-console/packages/config-manager-fe/src/app.tsx @@ -31,12 +31,7 @@ export const { Provider, Consumer } = React.createContext('zh'); const defaultLanguage = 'zh'; -const AppContent = (props: { - getLicenseInfo?: (cbk: (msg: string) => void) => void | undefined; - licenseEventBus?: Record | undefined; -}) => { - const { getLicenseInfo, licenseEventBus } = props; - +const AppContent = (props: any) => { return (
@@ -44,7 +39,7 @@ const AppContent = (props: { { - getLicenseInfo?.((msg) => licenseEventBus?.emit('licenseError', msg)); + // getLicenseInfo?.((msg) => licenseEventBus?.emit('licenseError', msg)); return Promise.resolve(true); }} noMatch={() => } @@ -55,7 +50,6 @@ const AppContent = (props: { }; const App = (props: any) => { - const { getLicenseInfo, licenseEventBus } = props; const intlMessages = _.get(localeMap[defaultLanguage], 'intlMessages', intlZhCN); const locale = _.get(localeMap[defaultLanguage], 'intl', 'zh-CN'); const antdLocale = _.get(localeMap[defaultLanguage], 'dantd', dantdZhCN); @@ -65,7 +59,7 @@ const App = (props: any) => { - + diff --git a/km-console/packages/layout-clusters-fe/src/app.tsx b/km-console/packages/layout-clusters-fe/src/app.tsx index b945a9c0..e734f47c 100755 --- a/km-console/packages/layout-clusters-fe/src/app.tsx +++ b/km-console/packages/layout-clusters-fe/src/app.tsx @@ -72,51 +72,12 @@ const logout = () => { localStorage.removeItem('userInfo'); }; -const LicenseLimitModal = () => { - const [visible, setVisible] = useState(false); - const [msg, setMsg] = useState(''); - - useLayoutEffect(() => { - licenseEventBus.on('licenseError', (desc: string) => { - !visible && setVisible(true); - setMsg(desc); - }); - return () => { - licenseEventBus.removeAll('licenseError'); - }; - }, []); - - return ( - - - 许可证限制 - - } - footer={null} - onCancel={() => setVisible(false)} - > -
-
- {msg},前往帮助文档 -
-
-
- ); -}; - const AppContent = (props: { setlanguage: (language: string) => void }) => { const { pathname } = useLocation(); const history = useHistory(); const userInfo = localStorage.getItem('userInfo'); const [curActiveAppName, setCurActiveAppName] = useState(''); const [versionInfo, setVersionInfo] = useState(); - useEffect(() => { if (pathname.startsWith('/config')) { setCurActiveAppName('config'); @@ -179,7 +140,7 @@ const AppContent = (props: { setlanguage: (language: string) => void }) => { }} onMount={(customProps: any) => { judgePage404(); - registerApps(systemsConfig, { ...customProps, getLicenseInfo, licenseEventBus }, () => { + registerApps(systemsConfig, { ...customProps }, () => { // postMessage(); }); }} @@ -200,7 +161,6 @@ const AppContent = (props: { setlanguage: (language: string) => void }) => { }} /> - ); @@ -234,7 +194,6 @@ export default function App(): JSX.Element { - } /> diff --git a/km-console/packages/layout-clusters-fe/src/components/ChartOperateBar/index.tsx b/km-console/packages/layout-clusters-fe/src/components/ChartOperateBar/index.tsx index bfff9b4b..56837b50 100644 --- a/km-console/packages/layout-clusters-fe/src/components/ChartOperateBar/index.tsx +++ b/km-console/packages/layout-clusters-fe/src/components/ChartOperateBar/index.tsx @@ -33,6 +33,7 @@ interface PropsType { }; onChange: (options: KsHeaderOptions) => void; openMetricFilter: () => void; + setScreenType?: any; } interface ScopeData { @@ -56,12 +57,29 @@ const GRID_SIZE_OPTIONS = [ }, ]; +// connect 筛选逻辑补充 +const CONNECT_OPTIONS = [ + { + label: '全部', + value: 'all', + }, + { + label: 'Cluster', + value: 'Connect', + }, + { + label: 'Connector', + value: 'Connector', + }, +]; + const MetricOperateBar = ({ nodeSelect = {}, hideNodeScope = false, hideGridSelect = false, onChange: onChangeCallback, openMetricFilter, + setScreenType, }: PropsType): JSX.Element => { const [gridNum, setGridNum] = useState(GRID_SIZE_OPTIONS[1].value); const [rangeTime, setRangeTime] = useState<[number, number]>(() => { @@ -139,6 +157,17 @@ const MetricOperateBar = ({
+ {/* connect 单独逻辑 */} + {setScreenType && ( +