DataSphere Studio1.0本地调试开发指南
本指南仅做本地调试开发参考,不做线上部署参考,修改内容后可能会存在打包问题(未做测试)
数据库准备
新建数据库dds,前后执行db目录下的dss_ddl.sql、dss_dml.sql脚本文件
Maven构建打包获取dss-appconns下面相关的lib包便于后面调试
如果您是本地第一次使用,必须在最外层工程pom.xml所在目录先执行以下命令:
1 | mvn -N install |
在最外层工程pom.xml所在目录执行以下命令
1 | mvn clean install |
获取安装包,在工程的assembly->target目录下:
1 | wedatasphere-dss-x.x.x-dist.tar.gz |
解压安装包到指定目录,得到安装包内dss-appconns目录的路径,例如:
/Users/roger/Downloads/wedatasphere-dss-1.0.0-dist/dss-1.0.0/dss-appconns
配置文件修改
把conf目录下的通用配置文件application-dss.yml、log4j2.xml、dss.properties、token.properties、log4j.properties5个人配置问价分别拷贝到dss-apps/dss-apiservice-server、dss-apps/dss-datapipe-server、dss-framewor/dss-framework-orchestrator-server、dss-framewor/dss-framework-project-server、dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server、dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server模块的Resources目录下面,需要自己新建Resources目录,然后再把剩余的每个模块所对应的文件分别拷贝到每个模块所对应的Resources目录

并设置标记好为resource目录

修改每个模块中配置文件中注册中心、数据库、服务名等配置信息(PS:也可以先修改后拷贝到每个模块)
application-dss.yml:

dss.properties:

如果你没配置当前dss运行的环境是开发环境还是生产环境的话,默认是DEV,需要修改两个服务名,一遍出现网关无法通过服务名去转发请求的情况
修改dss-framework-orchestrator-server.properties的spring.spring.application.name的值为dss-framework-orchestrator-server-dev

修改dss-workflow-server.properties的spring.spring.application.name的值为dss-workflow-server-dev

修改POM文件
- 修改
dss-apps/dss-apiservice-server的pom.xml避免运行中可能会出现classNotFound的错误:
增加以下内容:
1 | <dependency> |
- 修改
dss-framewor/dss-framework-orchestrator-server的pom.xml避免运行中可能会出现classNotFound的错误:
增加以下内容:
1 | <dependency> |
修改以下内容:
旧:
1 | <dependency> |
新:
1 | <dependency> |
- 修改
dss-framewor/dss-framework-project-server的pom.xml避免运行中可能会出现classNotFound的错误:
增加以下内容:
1 | <dependency> |
- 修改
dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server的pom.xml避免运行中可能会出现classNotFound的错误:
修改以下内容:
旧:
1 | <dependency> |
新:
1 | <dependency> |
- 修改
dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server的pom.xml避免运行中可能会出现classNotFound的错误:
增加以下内容:
1 | <dependency> |
修改以下内容:
旧:
1 | <dependency> |
新:
1 | <dependency> |
修改代码避免创建工作流出现appconn空指针异常
修改DefaultLinkedAppConnResolver.java这个类:
旧:
1 |
|
新:
1 |
|
至于为啥这里会出现空指针,还有待研究
配置IDEA启动
IDEA新增六个Application,对应前面的六个模块,运行主类都在每个模块的scala目录下面,记得勾选scope dependence


DSSOrchestratorServerApplication需要设置VM运行参数
1 | -DserviceName=dss-framework-orchestrator-server |
DSSProjectServerApplication需要设置VM运行参数
1 | -DserviceName=dss-framework-project-server |
DSSDatapipeServerApplication需要设置VM运行参数
1 | -DserviceName=dss-datapipe-server |
DSSWorkflowServerApplication需要设置VM运行参数
1 | -DserviceName=dss-workflow-server |
DSSApiServiceServerApplication需要设置VM运行参数
1 | -DserviceName=dss-apiservice-server |
DSSFowExecutionServerApplication需要设置VM运行参数
1 | -DserviceName=dss-flow-execution-server |
JVM参数解析:
-DserviceName这个参数主要用于服务查找对应的properties配置文件
-DDSS_HOME和-DDSS_INSTALL_HOME_VAL这个参数主要用于在发现appconns插件依赖相关的lib包(本文步骤二的解压路径),并且在DSSProjectServerApplication项目启动初始化的时候会上传到hadoop的hdfs文件系统中,便于后面的流程使用
数据库修改
在项目启动后的一些使用过程中,可能会出现一些appconn lib无法找到导致的异常,需要去手动修改一下数据库
修改dss_appconn这张表的appconn_class_path字段的内容,修改为你本地存储这些lib的路径(本文步骤二的解压路径),例如:

前端本地调试设置
修改web文件下下面的vue.config.js文件,修改devServe下面的内容如下:
修改target的内容为你网关的地址,例如:

其他问题
spark提交任务的时候会读取当前系统用户,如果是分布式部署dss和linkis的话,就会出现linkis所在的机器没有dss所在机器的用户,就会出现Permission denied: user=Administrator, access=WRITE, inode="/user":root:supergroup:drwxr-xr-x的异常,可以在linkis所在的服务器上执行以下命令即可解决:
1 | adduser Administrator |