Loading docs/zh_CN/后端部署文档.md +2 −2 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ ## 1、准备工作 目前最新安装包版本是1.0.3,下载地址: [码云下载](https://gitee.com/easyscheduler/EasyScheduler/attach_files/) ,下载escheduler-backend-1.0.3.tar.gz(后端简称escheduler-backend),escheduler-ui-1.0.3.tar.gz(前端简称escheduler-ui) 目前最新安装包版本是1.0.4,下载地址: [码云下载](https://gitee.com/easyscheduler/EasyScheduler/attach_files/) ,下载escheduler-backend-1.0.4.tar.gz(后端简称escheduler-backend),escheduler-ui-1.0.4.tar.gz(前端简称escheduler-ui) #### 准备一: 基础软件安装(必装项请自行安装) Loading Loading @@ -149,7 +149,7 @@ install.sh : 一键部署脚本 ### 2.2 编译源码来部署 将源码包release版本1.0.3下载后,解压进入根目录 将源码包release版本1.0.4下载后,解压进入根目录 * 执行编译命令: Loading escheduler-alert/src/main/java/cn/escheduler/alert/utils/MailUtils.java +1 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,7 @@ public class MailUtils { return retMap; }catch (Exception e){ handleException(receivers, retMap, e); return retMap; } } return retMap; Loading escheduler-api/src/main/java/cn/escheduler/api/controller/ResourcesController.java +2 −2 Original line number Diff line number Diff line Loading @@ -195,9 +195,9 @@ public class ResourcesController extends BaseController{ ) { try { logger.info("login user {}, verfiy resource alias: {},resource type: {}", loginUser.getUserName(), alias); loginUser.getUserName(), alias,type); return resourceService.verifyResourceName(alias, type); return resourceService.verifyResourceName(alias,type,loginUser); } catch (Exception e) { logger.error(VERIFY_RESOURCE_BY_NAME_AND_TYPE_ERROR.getMsg(), e); return error(Status.VERIFY_RESOURCE_BY_NAME_AND_TYPE_ERROR.getCode(), Status.VERIFY_RESOURCE_BY_NAME_AND_TYPE_ERROR.getMsg()); Loading escheduler-api/src/main/java/cn/escheduler/api/enums/Status.java +1 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,7 @@ public enum Status { RESOURCE_SUFFIX_FORBID_CHANGE(20008, "resource suffix not allowed to be modified"), UDF_RESOURCE_SUFFIX_NOT_JAR(20009, "UDF resource suffix name must be jar"), HDFS_COPY_FAIL(20009, "hdfs copy {0} -> {1} fail"), RESOURCE_FILE_EXIST(20010, "resource file {0} already exists in hdfs,please delete it or change name!"), Loading escheduler-api/src/main/java/cn/escheduler/api/service/ResourcesService.java +52 −0 Original line number Diff line number Diff line Loading @@ -420,6 +420,41 @@ public class ResourcesService extends BaseService { return result; } /** * verify resource by name and type * @param name * @param type * @param loginUser * @return */ public Result verifyResourceName(String name, ResourceType type,User loginUser) { Result result = new Result(); putMsg(result, Status.SUCCESS); Resource resource = resourcesMapper.queryResourceByNameAndType(name, type.ordinal()); if (resource != null) { logger.error("resource type:{} name:{} has exist, can't create again.", type, name); putMsg(result, Status.RESOURCE_EXIST); } else { // query tenant String tenantCode = tenantMapper.queryById(loginUser.getTenantId()).getTenantCode(); try { String hdfsFilename = getHdfsFileName(type,tenantCode,name); if(HadoopUtils.getInstance().exists(hdfsFilename)){ logger.error("resource type:{} name:{} has exist in hdfs {}, can't create again.", type, name,hdfsFilename); putMsg(result, Status.RESOURCE_FILE_EXIST,hdfsFilename); } } catch (Exception e) { logger.error(e.getMessage(),e); putMsg(result,Status.HDFS_OPERATION_ERROR); } } return result; } /** * verify resource by name and type * Loading Loading @@ -815,6 +850,23 @@ public class ResourcesService extends BaseService { return hdfsFileName; } /** * get hdfs file name * * @param resourceType * @param tenantCode * @param hdfsFileName * @return */ private String getHdfsFileName(ResourceType resourceType, String tenantCode, String hdfsFileName) { if (resourceType.equals(ResourceType.FILE)) { hdfsFileName = HadoopUtils.getHdfsFilename(tenantCode, hdfsFileName); } else if (resourceType.equals(ResourceType.UDF)) { hdfsFileName = HadoopUtils.getHdfsUdfFilename(tenantCode, hdfsFileName); } return hdfsFileName; } /** * get authorized resource list * Loading Loading
docs/zh_CN/后端部署文档.md +2 −2 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ ## 1、准备工作 目前最新安装包版本是1.0.3,下载地址: [码云下载](https://gitee.com/easyscheduler/EasyScheduler/attach_files/) ,下载escheduler-backend-1.0.3.tar.gz(后端简称escheduler-backend),escheduler-ui-1.0.3.tar.gz(前端简称escheduler-ui) 目前最新安装包版本是1.0.4,下载地址: [码云下载](https://gitee.com/easyscheduler/EasyScheduler/attach_files/) ,下载escheduler-backend-1.0.4.tar.gz(后端简称escheduler-backend),escheduler-ui-1.0.4.tar.gz(前端简称escheduler-ui) #### 准备一: 基础软件安装(必装项请自行安装) Loading Loading @@ -149,7 +149,7 @@ install.sh : 一键部署脚本 ### 2.2 编译源码来部署 将源码包release版本1.0.3下载后,解压进入根目录 将源码包release版本1.0.4下载后,解压进入根目录 * 执行编译命令: Loading
escheduler-alert/src/main/java/cn/escheduler/alert/utils/MailUtils.java +1 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,7 @@ public class MailUtils { return retMap; }catch (Exception e){ handleException(receivers, retMap, e); return retMap; } } return retMap; Loading
escheduler-api/src/main/java/cn/escheduler/api/controller/ResourcesController.java +2 −2 Original line number Diff line number Diff line Loading @@ -195,9 +195,9 @@ public class ResourcesController extends BaseController{ ) { try { logger.info("login user {}, verfiy resource alias: {},resource type: {}", loginUser.getUserName(), alias); loginUser.getUserName(), alias,type); return resourceService.verifyResourceName(alias, type); return resourceService.verifyResourceName(alias,type,loginUser); } catch (Exception e) { logger.error(VERIFY_RESOURCE_BY_NAME_AND_TYPE_ERROR.getMsg(), e); return error(Status.VERIFY_RESOURCE_BY_NAME_AND_TYPE_ERROR.getCode(), Status.VERIFY_RESOURCE_BY_NAME_AND_TYPE_ERROR.getMsg()); Loading
escheduler-api/src/main/java/cn/escheduler/api/enums/Status.java +1 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,7 @@ public enum Status { RESOURCE_SUFFIX_FORBID_CHANGE(20008, "resource suffix not allowed to be modified"), UDF_RESOURCE_SUFFIX_NOT_JAR(20009, "UDF resource suffix name must be jar"), HDFS_COPY_FAIL(20009, "hdfs copy {0} -> {1} fail"), RESOURCE_FILE_EXIST(20010, "resource file {0} already exists in hdfs,please delete it or change name!"), Loading
escheduler-api/src/main/java/cn/escheduler/api/service/ResourcesService.java +52 −0 Original line number Diff line number Diff line Loading @@ -420,6 +420,41 @@ public class ResourcesService extends BaseService { return result; } /** * verify resource by name and type * @param name * @param type * @param loginUser * @return */ public Result verifyResourceName(String name, ResourceType type,User loginUser) { Result result = new Result(); putMsg(result, Status.SUCCESS); Resource resource = resourcesMapper.queryResourceByNameAndType(name, type.ordinal()); if (resource != null) { logger.error("resource type:{} name:{} has exist, can't create again.", type, name); putMsg(result, Status.RESOURCE_EXIST); } else { // query tenant String tenantCode = tenantMapper.queryById(loginUser.getTenantId()).getTenantCode(); try { String hdfsFilename = getHdfsFileName(type,tenantCode,name); if(HadoopUtils.getInstance().exists(hdfsFilename)){ logger.error("resource type:{} name:{} has exist in hdfs {}, can't create again.", type, name,hdfsFilename); putMsg(result, Status.RESOURCE_FILE_EXIST,hdfsFilename); } } catch (Exception e) { logger.error(e.getMessage(),e); putMsg(result,Status.HDFS_OPERATION_ERROR); } } return result; } /** * verify resource by name and type * Loading Loading @@ -815,6 +850,23 @@ public class ResourcesService extends BaseService { return hdfsFileName; } /** * get hdfs file name * * @param resourceType * @param tenantCode * @param hdfsFileName * @return */ private String getHdfsFileName(ResourceType resourceType, String tenantCode, String hdfsFileName) { if (resourceType.equals(ResourceType.FILE)) { hdfsFileName = HadoopUtils.getHdfsFilename(tenantCode, hdfsFileName); } else if (resourceType.equals(ResourceType.UDF)) { hdfsFileName = HadoopUtils.getHdfsUdfFilename(tenantCode, hdfsFileName); } return hdfsFileName; } /** * get authorized resource list * Loading