Linkis 配置参数介绍

    1. Linkis 服务端参数,主要包含Linkis本身的参数和Spring的参数
    2. Linkis SDK、Restful等客户端端调用提交的参数
    3. Linkis 管理台参数
    1. Linkis本身的参数 linkis本身的参数支持在配置文件里面进行设置,也支持通过环境变量和系统属性进行设置,推荐使用配置文件进行设置。 Linkis配置文件格式如下所示:
    1. ├── application-eureka.yml
    2. ├── application-linkis.yml
    3. ├── linkis-cg-engineconnmanager-io.properties
    4. ├── linkis-cg-engineconnmanager.properties
    5. ├── linkis-cg-engineplugin.properties
    6. ├── linkis-cg-entrance.properties
    7. ├── linkis-cg-linkismanager.properties
    8. ├── linkis.properties ──linkis global properties
    9. ├── linkis-ps-bml.properties
    10. ├── linkis-ps-cs.properties
    11. ├── linkis-ps-datasource.properties
    12. ├── linkis-ps-publicservice.properties
    13. ├── log4j2.xml
    1. # spring port default
    2. server.port=9102
    3. # in linkis conf need spring prefix
    4. spring.server.port=9102
    1. {
    2. "executionContent": {"code": "show tables", "runType": "sql"},
    3. "variable":{ //代码中需要的自定义变量
    4. "k1":"v1"
    5. },
    6. "configuration":{
    7. "special":{ //特殊配置参数 如日志路径,结果集路径等
    8. "k2":"v2"
    9. },
    10. "runtime":{ //运行时参数,执行配置参数,如JDBC引擎的的数据库连接参数,presto引擎的数据源参数
    11. "k3":"v3"
    12. },
    13. "startup":{ //启动参数,如启动EC的内存参数,spark引擎参数、hive引擎参数等
    14. "k4":"v4" 如:spark.executor.memory:5G 设置Spark的执行器内存,底层Sparkhive等引擎参数keyName是和原生参数一致的
    15. }
    16. }
    17. },
    18. "engineType": "spark-2.4.3",
    19. "userCreator": "hadoop-IDE"
    20. }

    2.SDK如何设置参数:

    1. JobSubmitAction jobSubmitAction = JobSubmitAction.builder()
    2. .addExecuteCode(code)
    3. .setStartupParams(startupMap) //启动参数,如启动EC的内存参数,spark引擎参数、hive引擎参数等, 如:spark.executor.memory:5G 设置Spark的执行器内存,底层Spark、hive等引擎参数keyName是和原生参数一致的
    4. .setRuntimeParams(runTimeMap) //引擎,执行配置参数,如JDBC引擎的的数据库连接参数,presto引擎的数据源参数
    5. .setVariableMap(varMap) //代码中需要的自定义变量
    6. .setLabels(labels) //标签参数,支持设置引擎版本、用户和提应用等
    7. .setUser(user) //submit user
    8. .addExecuteUser(user) // execute user
    9. .build();

    注意: 客户端参数提交时,只有引擎相关参数和标签参数,以及Yarn队列设置可以生效,其他Linkis服务端参数和资源限制参数,如任务和引擎并发参数wds.linkis.rm.instances不支持任务设置

    1. Map<String, Object> labels = new HashMap<String, Object>();
    2. labels.put(LabelKeyConstant.ENGINE_TYPE_KEY, "spark-2.4.3"); // 指定引擎类型和版本
    3. labels.put(LabelKeyConstant.USER_CREATOR_TYPE_KEY, user + "-IDE");// 指定运行的用户和您的APPName
    4. labels.put(LabelKeyConstant.CODE_TYPE_KEY, "sql"); // 指定运行的脚本类型:spark支持:sql、scala、py;Hive:hql;shell:sh;python:python;presto:psql
    5. labels.put(LabelKeyConstant.JOB_RUNNING_TIMEOUT_KEY, "10000");//job运行10s没完成自动发起Kill,单位为s
    6. labels.put(LabelKeyConstant.JOB_QUEUING_TIMEOUT_KEY, "10000");//job排队超过10s没完成自动发起Kill,单位为s
    7. labels.put(LabelKeyConstant.RETRY_TIMEOUT_KEY, "10000");//job因为资源等原因失败重试的等待时间,单位为ms,如因为队列资源不足的失败,会默认按间隔发起10次重试
    8. labels.put(LabelKeyConstant.TENANT_KEY,"hduser02");//租户标签,任务如果指定了租户参数则任务会被路由到单独的ECM机器
    9. labels.put(LabelKeyConstant.EXECUTE_ONCE_KEY,"");//执行一次标签,该参数不建议设置,设置后引擎不会复用任务运行完就会结束引擎,只有某个任务参数有特殊化的可以进行设置

      引擎配置参数: 主要指定引擎的启动参数和运行时参数,这些参数支持在客户端进行设置,建议使用客户端进行个性化提交设置,页面只设置默认值