计算中间件 Apache Linkis参数解读

导语:本文主要对Linkis的参数体系进行介绍,包括Linkis服务端参数、客户端参数、管理台参数的介绍。

1. 参数分类

Linkis参数主要分为以下三个部分:

  • Linkis 服务端参数,主要包含Linkis本身的参数和Spring的参数

  • Linkis SDK、Restful等客户端端调用提交的参数

  • Linkis 管理台参数

  • 2. Linkis 服务端参数

    (1)Linkis本身的参数

    linkis本身的参数支持在配置文件里面进行设置,也支持通过环境变量和系统属性进行设置,推荐使用配置文件进行设置。

    Linkis配置文件格式如下所示:

    ├──conf  配置目录  │   ├── application-eureka.yml│   ├── application-linkis.yml│   ├── linkis-cg-engineconnmanager.properties│   ├── linkis-cg-engineplugin.properties│   ├── linkis-cg-entrance.properties│   ├── linkis-cg-linkismanager.properties│   ├── linkis-mg-gateway.properties│   ├── linkis-ps-cs.properties│   ├── linkis-ps-data-source-manager.properties│   ├── linkis-ps-metadatamanager.properties│   ├── linkis-ps-publicservice.properties│   ├── linkis.properties│   ├── log4j2-console.xml│   ├── log4j2.xml

    每个服务会加载两个属性配置文件,一个为公用的主配置文件linkis.properties,以及服务配置文件linkis-serviceName.properties。设置的优先级为服务配置文件高于主配置文件建议通用的参数放置在主配置文件,个性配置文件放在服务配置文件

    (2)Spring 参数Linkis服务是基于SpringBoot应用的,Spring相关的参数支持在application-linkis.yml进行设置,也支持在linkis配置文件里面进行配置。在linkis配置文件里面配置需要加上spring.的前缀。如下:

    # spring port default server.port=9102# in linkis conf need spring prefixspring.server.port=9102

    3. Linkis 客户端参数

    Linkis客户端参数主要是指任务提交时的参数,主要在提交接口里面进行指定的参数。

    (1)restful 如何设置参数:

    {    "executionContent": {"code": "show tables", "runType":  "sql"},    "params": { // 提交参数                        "variable":{  //代码中需要的自定义变量                                "k1":"v1"                        },                        "configuration":{                                "special":{ //特殊配置参数 如日志路径,结果集路径等                                        "k2":"v2"                                },                                "runtime":{ //运行时参数,如JDBC引擎的的数据库连接参数,presto引擎的数据源参数                                        "k3":"v3"                                },                                "startup":{ //启动参数,如启动EC的内存参数,spark引擎参数、hive引擎参数等                                        "k4":"v4" 如:spark.executor.memory:5G 设置Spark的执行器内存,底层Spark、hive等引擎参数keyName是和原生参数一致的                                }                        }                },    "labels": { //标签参数,支持设置引擎版本、用户和提应用        "engineType": "spark-2.4.3",        "userCreator": "hadoop-IDE"    }}

    (2)SDK如何设置参数:

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

    (3)linkis-cli如何设置参数

    linkis-cli -runtieMap key1=value -runtieMap key2=value           -labelMap key1=value          -varMap key1=value          -startUpMap key1=value

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

    (4)常用标签参数:

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

    4. Linkis 管理台参数

    Linkis管理台参数是方便用户指定资源限制参数和默认的任务参数提供的Web界面。全局配置参数:

    主要包含了全局队列参数[wds.linkis.rm.yarnqueue],任务默认采用的Yarn队列,支持在客户端StartUPMap里面另外进行指定资源限制参数,这些参数不支持任务设置,支持管理台进行调整。

    队列CPU使用上限[wds.linkis.rm.yarnqueue.cores.max],现阶段只支持限制Spark类型任务总队列资源的使用队列内存使用上限[wds.linkis.rm.yarnqueue.memory.max]全局各个引擎内存使用上限[wds.linkis.rm.client.memory.max] 该参数不是指总共只能使用的内存,而是指定某个Creator特定引擎总的内存使用,如限制IDE-SPARK任务只能使用10G内存全局各个引擎核心个数上限[wds.linkis.rm.client.core.max]该参数不是指总共只能使用的CPU,而是指定某个Creator特定引擎总的内存使用,如限制IDE-SPARK任务只能使用10Cores全局各个引擎最大并发数[wds.linkis.rm.instance],该参数有两层含义,一个是限制某个Creator特定引擎总共能启动多少个,以及限制某个Creator特定引擎任务同时能运行的任务数

    引擎配置参数:

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

    5. 最后

    社区当前正在举办征文大赛,最高奖励可得 “1000元京东卡+500元社区礼品”哦,点击下图查看详情

    — END —

    如何成为社区贡献者

    ► 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:保姆级教程:如何成为Apache Linkis文档贡献者

    ► 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/apache/incubator-linkis/issues/1161

    ► 内容贡献:发布WeDataSphere开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:

    ► 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等;

    ► 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

    ©著作权归作者所有,转载或内容合作请联系作者
    • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
      沈念sama阅读 218,036评论 6 506
    • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
      沈念sama阅读 93,046评论 3 395
    • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
      开封第一讲书人阅读 164,411评论 0 354
    • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
      开封第一讲书人阅读 58,622评论 1 293
    • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
      茶点故事阅读 67,661评论 6 392
    • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
      开封第一讲书人阅读 51,521评论 1 304
    • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
      沈念sama阅读 40,288评论 3 418
    • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
      开封第一讲书人阅读 39,200评论 0 276
    • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
      沈念sama阅读 45,644评论 1 314
    • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
      茶点故事阅读 37,837评论 3 336
    • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
      茶点故事阅读 39,953评论 1 348
    • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
      沈念sama阅读 35,673评论 5 346
    • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
      茶点故事阅读 41,281评论 3 329
    • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
      开封第一讲书人阅读 31,889评论 0 22
    • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
      开封第一讲书人阅读 33,011评论 1 269
    • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
      沈念sama阅读 48,119评论 3 370
    • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
      茶点故事阅读 44,901评论 2 355

    推荐阅读更多精彩内容