package com.didichuxing.datachannel.arius.admin.biz.template.srv.dcdr;
import static com.didichuxing.datachannel.arius.admin.common.constant.template.TemplateDeployRoleEnum.MASTER;
import static com.didichuxing.datachannel.arius.admin.common.constant.template.TemplateDeployRoleEnum.SLAVE;
import com.alibaba.fastjson.JSON;
import com.didichuxing.datachannel.arius.admin.biz.task.OpTaskManager;
import com.didichuxing.datachannel.arius.admin.biz.template.srv.base.impl.BaseTemplateSrvImpl;
import com.didichuxing.datachannel.arius.admin.common.Tuple;
import com.didichuxing.datachannel.arius.admin.common.bean.common.Result;
import com.didichuxing.datachannel.arius.admin.common.bean.dto.task.OpTaskDTO;
import com.didichuxing.datachannel.arius.admin.common.bean.dto.task.OpTaskProcessDTO;
import com.didichuxing.datachannel.arius.admin.common.bean.dto.template.DCDRMasterSlaveSwitchDTO;
import com.didichuxing.datachannel.arius.admin.common.bean.dto.template.TemplatePhysicalCopyDTO;
import com.didichuxing.datachannel.arius.admin.common.bean.dto.template.TemplatePhysicalDCDRDTO;
import com.didichuxing.datachannel.arius.admin.common.bean.entity.cluster.ClusterPhy;
import com.didichuxing.datachannel.arius.admin.common.bean.entity.task.OpTask;
import com.didichuxing.datachannel.arius.admin.common.bean.entity.task.detail.DCDRSingleTemplateMasterSlaveSwitchDetail;
import com.didichuxing.datachannel.arius.admin.common.bean.entity.task.detail.DCDRTaskDetail;
import com.didichuxing.datachannel.arius.admin.common.bean.entity.task.detail.DCDRTasksDetail;
import com.didichuxing.datachannel.arius.admin.common.bean.entity.template.IndexTemplate;
import com.didichuxing.datachannel.arius.admin.common.bean.entity.template.IndexTemplatePhy;
import com.didichuxing.datachannel.arius.admin.common.bean.entity.template.IndexTemplateWithPhyTemplates;
import com.didichuxing.datachannel.arius.admin.common.bean.po.template.IndexTemplatePO;
import com.didichuxing.datachannel.arius.admin.common.bean.vo.task.WorkTaskVO;
import com.didichuxing.datachannel.arius.admin.common.bean.vo.template.DCDRSingleTemplateMasterSlaveSwitchDetailVO;
import com.didichuxing.datachannel.arius.admin.common.bean.vo.template.DCDRTasksDetailVO;
import com.didichuxing.datachannel.arius.admin.common.bean.vo.template.TemplateDCDRInfoVO;
import com.didichuxing.datachannel.arius.admin.common.constant.AuthConstant;
import com.didichuxing.datachannel.arius.admin.common.constant.arius.AriusUser;
import com.didichuxing.datachannel.arius.admin.common.constant.dcdr.DCDRStatusEnum;
import com.didichuxing.datachannel.arius.admin.common.constant.dcdr.DCDRSwithTypeEnum;
import com.didichuxing.datachannel.arius.admin.common.constant.operaterecord.OperateTypeEnum;
import com.didichuxing.datachannel.arius.admin.common.constant.operaterecord.OperationEnum;
import com.didichuxing.datachannel.arius.admin.common.constant.task.OpTaskStatusEnum;
import com.didichuxing.datachannel.arius.admin.common.constant.task.OpTaskTypeEnum;
import com.didichuxing.datachannel.arius.admin.common.constant.template.TemplateDCDRStepEnum;
import com.didichuxing.datachannel.arius.admin.common.constant.template.TemplateServiceEnum;
import com.didichuxing.datachannel.arius.admin.common.event.template.DCDRLinkAbnormalIndicesRebuildEvent;
import com.didichuxing.datachannel.arius.admin.common.exception.AdminOperateException;
import com.didichuxing.datachannel.arius.admin.common.exception.ESOperateException;
import com.didichuxing.datachannel.arius.admin.common.exception.NotFindSubclassException;
import com.didichuxing.datachannel.arius.admin.common.threadpool.AriusTaskThreadPool;
import com.didichuxing.datachannel.arius.admin.common.util.AriusObjUtils;
import com.didichuxing.datachannel.arius.admin.common.util.BatchProcessor;
import com.didichuxing.datachannel.arius.admin.common.util.ConvertUtil;
import com.didichuxing.datachannel.arius.admin.common.util.ESVersionUtil;
import com.didichuxing.datachannel.arius.admin.common.util.FutureUtil;
import com.didichuxing.datachannel.arius.admin.common.util.ListUtils;
import com.didichuxing.datachannel.arius.admin.common.util.ProjectUtils;
import com.didichuxing.datachannel.arius.admin.core.component.SpringTool;
import com.didichuxing.datachannel.arius.admin.core.service.es.ESIndexService;
import com.didichuxing.datachannel.arius.admin.core.service.es.ESTemplateService;
import com.didichuxing.datachannel.arius.admin.core.service.template.dcdr.ESDCDRService;
import com.didichuxing.datachannel.arius.admin.core.service.template.logic.IndexTemplateService;
import com.didichuxing.datachannel.arius.admin.persistence.component.ESOpTimeoutRetry;
import com.didiglobal.knowframework.elasticsearch.client.response.indices.catindices.CatIndexResult;
import com.didiglobal.knowframework.elasticsearch.client.response.indices.stats.IndexNodes;
import com.didiglobal.knowframework.log.ILog;
import com.didiglobal.knowframework.log.LogFactory;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.collect.Lists;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* 索引DCDR服务实现
* @author zqr
* @date 2020-09-09
*/
@Service
public class TemplateDCDRManagerImpl extends BaseTemplateSrvImpl implements TemplateDCDRManager {
private static final ILog LOGGER = LogFactory.getLog(TemplateDCDRManagerImpl.class);
private static final String DCDR_TEMPLATE_NAME_FORMAT = "%s_to_%s";
private static final String DCDR_INDEX_SETTING = "dcdr.replica_index";
private static final int DCDR_SWITCH_STEP_1 = 1;
private static final int DCDR_SWITCH_STEP_2 = 2;
private static final int DCDR_SWITCH_STEP_3 = 3;
private static final int DCDR_SWITCH_STEP_4 = 4;
private static final int DCDR_SWITCH_STEP_5 = 5;
private static final int DCDR_SWITCH_STEP_6 = 6;
private static final int DCDR_SWITCH_STEP_7 = 7;
private static final int DCDR_SWITCH_STEP_8 = 8;
private static final int DCDR_SWITCH_STEP_9 = 9;
private static final String DCDR_SWITCH_TODO = "TODO";
private static final String DCDR_SWITCH_DONE = "DONE";
private static final String DCDR_SWITCH_FAIL = "FAIL";
private static final String SEPARATOR = "@@@";
private static final String SUCCESS_INFO = "Successful Execution";
private static final String[] DCDR_SWITCH_STEP_ARR_SMOOTH = new String[] { TemplateDCDRStepEnum.STEP_1.getValue(),
TemplateDCDRStepEnum.STEP_2.getValue(),
TemplateDCDRStepEnum.STEP_3.getValue(),
TemplateDCDRStepEnum.STEP_4.getValue(),
TemplateDCDRStepEnum.STEP_5.getValue(),
没有合适的资源?快使用搜索试试~ 我知道了~
面向Elasticsearch研发与运维人员,围绕集群、索引构建的零侵入、多租户的Elasticsearch GUI管控平台
共2000个文件
java:1860个
xml:53个
md:28个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 12 浏览量
2023-10-15
11:34:56
上传
评论
收藏 90.8MB ZIP 举报
温馨提示
KnowSearch是面向Elasticsearch研发与运维人员,围绕集群、索引构建的零侵入、多租户的Elasticsearch GUI管控平台。历经滴滴PB级海量索引数据考验、金融级1000+ES集群运营实战打磨,围绕Elasticsearch构建的可见、可管、可控的服务体系。
资源推荐
资源详情
资源评论
收起资源包目录
面向Elasticsearch研发与运维人员,围绕集群、索引构建的零侵入、多租户的Elasticsearch GUI管控平台 (2000个子文件)
TemplateDCDRManagerImpl.java 97KB
ClusterPhyManagerImpl.java 90KB
TemplateLogicManagerImpl.java 72KB
GatewayMetricsManagerTest.java 68KB
MonitorClusterJob.java 67KB
AriusStatsIndexInfoESDAO.java 62KB
IndexTemplateServiceImpl.java 62KB
ClusterLogicManagerImpl.java 62KB
EcmTaskManagerImpl.java 56KB
ClusterPhyMetricsManagerTest.java 56KB
TemplateLogicMappingManagerImpl.java 56KB
GatewayJoinESDAO.java 55KB
ClusterDynamicConfigsEnum.java 54KB
MonitorCollectMetrics.java 52KB
ESIndexDAO.java 50KB
ClusterPhyManagerTest.java 49KB
GatewayNodeMetricsDAO.java 48KB
TemplatePhyManagerImpl.java 47KB
DslsConstant.java 46KB
ESClusterDAO.java 46KB
IndicesManagerImpl.java 46KB
RestCommonController.java 42KB
BaseAriusStatsESDAO.java 41KB
ESIndexServiceImpl.java 40KB
ClusterContextManagerImpl.java 39KB
AriusStatsNodeInfoESDAO.java 39KB
ProjectExtendManagerImpl.java 39KB
IndexTemplatePhyServiceImpl.java 39KB
ClusterLogicServiceImpl.java 38KB
ClusterRoleHostServiceImpl.java 37KB
ClusterRegionManagerImpl.java 37KB
AriusStatsDashBoardInfoESDAO.java 36KB
ClusterLogicOverviewMetricsHandle.java 36KB
CustomDataSource.java 36KB
ClusterOverviewMetricsHandle.java 35KB
ESGatewayClient.java 34KB
PipelineManagerImpl.java 31KB
ESTemplateDAO.java 30KB
MonitorJobHandler.java 30KB
EcmHandleServiceImpl.java 30KB
ClusterMonitorJobHandler.java 30KB
ESQueryRequestBuilder.java 29KB
ExpireManagerImpl.java 27KB
LogicClusterMonitorJobHandler.java 26KB
IndexTemplateServiceImpl.java 25KB
ESClusterNodeServiceImpl.java 25KB
GatewayManagerImpl.java 25KB
IndexCatInfoCollector.java 25KB
ProjectLogicTemplateAuthServiceImpl.java 25KB
WorkOrderManagerImpl.java 25KB
IndexCatESDAO.java 24KB
ClusterNodeManagerImpl.java 24KB
HttpRestHandler.java 23KB
IndexPlanManagerImpl.java 23KB
ESClusterServiceImpl.java 23KB
GatewayIndexMetricsDAO.java 23KB
ProjectClusterLogicAuthServiceImpl.java 23KB
ESUserManagerImpl.java 23KB
GatewayMetricsManagerImpl.java 22KB
UserExtendManagerImpl.java 22KB
TemplatePhyMappingManagerImpl.java 22KB
ESMultiGetRequest.java 22KB
ClusterRegionServiceImpl.java 22KB
GatewayAppMetricsDAO.java 21KB
ClusterPhyServiceImpl.java 21KB
GatewayDslMetricsDAO.java 21KB
ESPluginServiceImpl.java 21KB
BaseHttpRestController.java 20KB
AriusAdminRemoteServiceTests.java 20KB
GatewayMetricsService.java 20KB
ESUpdateClient.java 20KB
DashboardMetricsManagerTest.java 19KB
NettyHttpServerTransport.java 19KB
CustomDataSource.java 19KB
DslTemplateESDAO.java 19KB
ESBase.java 19KB
DashboardMetricsManagerImpl.java 19KB
MetricsValueConvertUtils.java 19KB
NodeDashBoardCollector.java 18KB
ESTemplateServiceImpl.java 17KB
ClusterOpIndecreaseHandler.java 17KB
GatewayManagerTest.java 17KB
DateTimeUtil.java 16KB
AriusConfigInfoServiceImpl.java 16KB
TemplateSrvManagerImpl.java 16KB
ClusterPhyServiceTest.java 16KB
ESIndicesAdmin.java 16KB
ClusterOpNewHandler.java 15KB
DslAggsAnalyzerServiceImpl.java 15KB
TemplateLogicAliasManagerImpl.java 15KB
EcmHostHandler.java 15KB
DslRewriterServiceImpl.java 15KB
IndexDashBoardCollector.java 15KB
TemplateLogicSettingsManagerImpl.java 15KB
IndexTemplateService.java 15KB
AriusConfigConstant.java 15KB
IndexNameUtils.java 15KB
ClusterPhyMetricsManagerImpl.java 14KB
BaseRequestVisitor.java 14KB
ESShardDAO.java 14KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6649
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功