From 195797be98d03331ed776fe2d4a501e591271dbf Mon Sep 17 00:00:00 2001 From: peacewong Date: Sat, 9 Apr 2022 22:34:09 +0800 Subject: [PATCH 1/2] add linksi configuration introduction document --- .../current/development/linkis_config.md | 131 ++++++++++++++++++ .../development/linkis_creator_ec_conf.png | Bin 0 -> 68358 bytes .../Images/development/linkis_global_conf.png | Bin 0 -> 75430 bytes 3 files changed, 131 insertions(+) create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_config.md create mode 100644 static/Images/development/linkis_creator_ec_conf.png create mode 100644 static/Images/development/linkis_global_conf.png diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_config.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_config.md new file mode 100644 index 00000000000..42da7457e83 --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_config.md @@ -0,0 +1,131 @@ +--- +title: Linkis 配置参数介绍 +sidebar_position: 0 +--- + +## 1. 参数分类 + +        Linkis参数主要分为以下三个部分: +1. Linkis 服务端参数,主要包含Linkis本身的参数和Spring的参数 +2. Linkis SDK、Restful等客户端端调用提交的参数 +3. Linkis 管理台参数 + + +## 2. Linkis 服务端参数 + +1. Linkis本身的参数 +        linkis本身的参数支持在配置文件里面进行设置,也支持通过环境变量和系统属性进行设置,推荐使用配置文件进行设置。 +Linkis配置文件格式如下所示: +```shell +├── conf 配置目录 +│ ├── application-eureka.yml +│ ├── application-linkis.yml +│ ├── linkis-cg-engineconnmanager-io.properties +│ ├── linkis-cg-engineconnmanager.properties +│ ├── linkis-cg-engineplugin.properties +│ ├── linkis-cg-entrance.properties +│ ├── linkis-cg-linkismanager.properties +│ ├── linkis.properties ──linkis global properties +│ ├── linkis-ps-bml.properties +│ ├── linkis-ps-cs.properties +│ ├── linkis-ps-datasource.properties +│ ├── linkis-ps-publicservice.properties +│ ├── log4j2.xml +``` +每个服务会加载两个属性配置文件,一个为公用的主配置文件linkis.properties,以及服务配置文件linkis-serviceName.properties。设置的优先级为服务配置文件高于主配置文件 +建议通用的参数放置在主配置文件,个性话配置文件放在服务配置文件 + +2. Spring 参数 +        Linkis服务是基于SpringBoot应用的,Spring相关的参数支持在application-linkis.yml进行设置,也支持在linkis配置文件里面进行配置。在linkis配置文件里面配置需要加上spring.的前缀。如下: + +```shell +# spring port default +server.port=9102 +# in linkis conf need spring prefix +spring.server.port=9102 + +``` + +## 3. Linkis 客户端参数 +        Linkis客户端参数主要是指任务提交时的参数,主要在提交接口里面进行指定的参数。 +1.restful 如何设置参数: + +```shell +{ + "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如何设置参数: + +```java +JobSubmitAction jobSubmitAction = JobSubmitAction.builder() + .addExecuteCode(code) + .setStartupParams(startupMap) //启动参数,如启动EC的内存参数,spark引擎参数、hive引擎参数等, 如:spark.executor.memory:5G 设置Spark的执行器内存,底层Spark、hive等引擎参数keyName是和原生参数一致的 + .setRuntimeParams(runTimeMap) //引擎,执行配置参数,如JDBC引擎的的数据库连接参数,presto引擎的数据源参数 + .setVariableMap(varMap) //代码中需要的自定义变量 + .setLabels(labels) //标签参数,支持设置引擎版本、用户和提应用等 + .setUser(user) //submit user + .addExecuteUser(user) // execute user + .build(); +``` +3.linkis-cli如何设置参数 + +```shell +linkis-cli -runtieMap key1=value -runtieMap key2=value + -labelMap key1=value + -varMap key1=value + -startUpMap key1=value + +``` +注意: 客户端参数提交时,只有引擎相关参数和标签参数,以及Yarn队列设置可以生效,其他Linkis服务端参数和资源限制参数,如任务和引擎并发参数wds.linkis.rm.instances不支持任务设置 + +4.常用标签参数: + +```shell + Map labels = new HashMap(); + 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, "10000");//job运行10s没完成自动发起Kill,单位为ms + labels.put(LabelKeyConstant.JOB_QUEUING_TIMEOUT_KEY, "10000");//job排队超过10s没完成自动发起Kill,单位为ms + 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界面,如下: +全局配置参数: +![](/Images/development/linkis_global_conf.png) +主要包含了全局队列参数[wds.linkis.rm.yarnqueue],任务默认采用的Yarn队列,支持在客户端StartUPMap里面另外进行指定 +资源限制参数,这些参数不支持任务设置,支持管理台进行调整。 +```shell +队列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特定引擎任务同时能运行的任务数 +``` +引擎配置参数: +![](/Images/development/linkis_creator_ec_conf.png) +主要指定引擎的启动参数和运行时参数,这些参数支持在客户端进行设置,建议使用客户端进行个性化提交设置,页面只设置默认值 \ No newline at end of file diff --git a/static/Images/development/linkis_creator_ec_conf.png b/static/Images/development/linkis_creator_ec_conf.png new file mode 100644 index 0000000000000000000000000000000000000000..b270506a0494ade5eccdfbb738e6d7d802d6d02b GIT binary patch literal 68358 zcmYJadpy(O`#(OZR6?bi^D3bTIp;Jbl8_vVoF-E#jWUGUR>>)5A?L#iksO!foJ;0> zDu?AXg$)~Wn#0U~uio$X=llD^!{fEbeP8!|UH5fg$LAe+>!yjoA+bXs5JZI+>fS4S8M}Zn4E=G#bG}x--=~&qw9*BY$etHW=F}2yv@`bIgOiLXI5`% zxXTt3ouA2DT{io2Sl;wy{xNs!L+4v8>)t6TciRiwRH_Qf$Y_2tQz2%lO20XD(8W1n z&zpA#;=k9QI`sl{;KkmEOqcQc8oQD*)*`y6q*t5scgq(2%(8^jSIcJl`D1H)w|*l^ z>RAqgbd99`PgXJ3cm`5Ex*hd^O zJTNo#s;%5e<#lD@Sh^gfZ|F7Am!C*R^?$vo>64=%+K(uqa$C``IvQ8D&i&{-QOtEz7MuqLiX)F{ko5MqX=T9Hxe^) zrd(!DuPRl(tmLReEwJYdE6i6{o+}4V`+m0eY#SKKnjz^ND7uTmK-B1F^QX%91KZPy zx8}dmZfIl82T}MPtsqsN#AMeIPJQV&dB|CF6KF&BSbpPqstb#GIw+_8SkTD zi?$QEE3xyEOF=o?y0A+ZxC;bCCuWU+S$KcpW4>nIn)Z*zO}Rn*(85Q&ivfG9deKnb zugjAA69R!)Wz4iMMT%nChrSr*#~g@j_L5B1kp8o#iKX1W1kN&k3?oIChzCWAVIiMH_ySA<)u(Z{HPPN`neXs|U51z(;aHV}ScYZCbCP|AG z;(nnuQ&`vKHr2#?Xk3^*tM@1cfqmbs68-TSrjZP-3Yc~u%^2YW&Mk1Q+Z$76XN&Pl zDCDv6+{ZXDQWlJv^*{a-@wzgXA%fDN*8i3`{JW1vc>UnnK%PpWcC*U^W;k5*@Y=n? zX%RtOWzoadTa~?T|2CBzzFxa*0r~mi*|6q9GV2jD?_@;2YQZN#V5QYgv2D*}Hhd@~ zPUpaaMSfjhbwWun->4`Vj5!aD(LYyl%Uto4LuNt95yRQKH_o?ZM6+i$F^Sdy>Ag?LpXT^q09#l&5O4(g49oXVpKaL++d%)>?r#bUGe)=8B99NO3Rm~^X70|8{&7LC*i?P3; zw^wKVF69z~q?cy!wUcPkeD0klXf)c3r~iwSBwz|Ut=<2W++!MJfQw~g{p>aCy_46e za`2X(eI-$A^s$)9%uC`h#`;b4TH8g-odixCyp(tzPW5mj?4}1;h_d?wKQlJB@3*>B zqi%|@V{8Xi!z9BN}QkYelshodbTClgMW-=CrB0`fVPCZwg#IMmQS5*b*^B#dq@%gs1sN;?QOPYH*{G%Q@tVYa2_@mgq((q+L!mg6773(V7Sdse94AGUVtjdB9abZ(|IJJ7c|^ zHo4mDmFJ>hb=cK1$LH19i~88qB`Czpo!N4P=gCWWH@Y~w?u8;8eB`ULJjhJ${vutS zMUseg8BIRc0%94dbKChT;x@>MM8XqhOHf2k?1l&r71ffPrj3D*>`j{zBkgSH2wR3R9K~2S)ncDClZs^MzFlboP0tm*D3`u)d{NX z7zmbwfE?7pPoPFB{A4NrNXrAiSmX)uAhwR&iy}DqWCD)YNlb&4q`E4V#(yXAoNUe? zkYkQ}L%c9ZF_m8vl9haFR0Ktlu`-MxZjkjyGF3M~j+c?&KfnGF1VWY_M|#6XlP9Zq zSZ%gaZ{Cr+Wn@bN6u_igE!s*8Xv;VtzK_L{B4eLR=X`&4kC&k>1LiYKJf ztuj5j_+5L=XLz*tTztQEY$goIKuhc&)^lIr=Tvm=?lXj`B zOE*Uwhkl%y*P-sUuhcGg<;4z2L@hyW55U|NrGx6G1C*$NF-Pg8Dw{p_x-wgFXMkg{ z@p&*#u5kIhC^7BxQjaHMne<`Q>M)3GKC_=JrHPllq9l4YlRXvqG1p~pslN~DjClfY zdPrNfqwi><@jC5n694qUrexcj9%F|}R@#<#swUR2uM1|I zEJ0^GyxKVUJ4?YEsL#(EmVOR4EA72?;~gY3P6vcMD(VaQiGX3yR#dzD7LX{c05`Pr(MVwoTDaOnD+BO(%#2(gr=%OV!eRp6hcEE>wHw#sS=%Fgq=keQY4T zaf(FWjhVfYAxEMP}^f~NjXj` zup?0LBkc{Dh0q@rXnJc-VKXLVvS%D)u+SZHud&F>ZX@+tsh_%?wRXZAK+x$g4Z?{V ztE046fC#>N^FGP=7v+IyAJp*|S*7QFkES@7XZfW3)M@PHeBb@Mu|6~j*=4z`&5lza z9j;8>zP7~Pn$KfkP5g?8-d${0CPZVubBE)U)RN`dnQeiWS47x~!ZTsyCwiaxo_bl+ zcAdx*y~|F3>M_i_QH=s1`aZZ&TC=iherQY5T{u=)GDNG}Er(q)r)4?nx%Mb%qXPX% zI(J8!R3b7kI( z-)u3i%HC%(1=e6yEPFNXr+&CLCdU3Qyb?R-<LK63Ox=$O*qs9HnwJ-{68~u8OQ&u!a5MIP{Ic9DgKXX*@1==J2xBRQy*!tEb6wXzXY&j#gXkx^XpuA3AsUSH*XIL!_*t^)WP3Mig=aFzX`HfQ$uDHytbwa% z>TdGhb9)i9CH5s*tD!RZPVPytVie#9o?5{n$#eZqhr7_+cVmh5C26pAr=LN%lwkyC zDzMv|DNJ^`s3j&<&vxgwvT_=bxAv>NC>q0OapF!AlDO<5UbOD<%12(cw@G$72#&3SXT!w8ofH;JC?L~ zbz5QyDbjn%E2f086j{78WT0Jl{;kv!rf*-fk{HSOtR3xF3Gq2;@X-V@sM%f>c_lih!^ zdR*U%^G=K(Pwu2JaG|_A!fcx9r@7$?2@jXiWy%!z7<}Y(&1H)5nJSOzjte3vbIzUq zEm$hB+!@v7q>HT7f8Kz0KA*Sr&d!cf#!_A-?~62~G2GjNv1#h>DIZP5HT>{0_jfOh z&vo9GS7pJoe=1yL{oZ_SrPq*h8t&m%*%;GcesO9-8e`RmsCA_bC)$pc!QeuUtvy(R zkPM0E=}jfhcW4I>L>M>yy{|D3Iil-v|BOncA$IDALKzf3jT)LmzM8SJMIKa8Y3-`vO+*h7Qz$BRd^A$2Ds(>p|ut_S}x)lco zCDD$Np=UY{HVTyT`K)5(A?1i-Ao>S$$NdJG~dzIkOR@Knb*pPD)$cRC*}u25-cltC}JdSg9QE& z|IbpOuHM0Dv}a~`9{q*~v$kgFwWG~M@*_6NS7jjMC@U8>lJS#*@2acK?~D0aPDHzV z9UrSf>Z;^>;JqI<(= zihpy%x+(gL*Zj3B!d0zh%GUf5IJS@C>hgKOE@|%QS$3nvS7$KdlM+VPFddZMd-K^q zctg+Du|a@XmrZv;O@7ri#PEa6?$;S{4o2!y2`0qmj7k-npY1yJz3fWC6flS^w z?>oUJ5#Ic}t&UCf7hXUh^jQGp1c~NYKia+7B+Z8nab-x9C7%NbBms`NLPdk_ohl5{ zx)Ke{>qvSZIEg%c!p{2Hi=ww_Y?=F{Akfo5fISi4mu-s2^AZzY0CTKVfjMAMo~s3_ zW0DrQ9|k1?x^=R-0xS*?jO@ z1#$PY66k_Zw7%2vT92HQZ$4eH!zuwg*{>AK50a69k5qVl-bwf9q12tmy9!Oy0+kl` zffxWiu$+UsQQ{9uI&fF#(slVjF{f4MhA%G4cr4oU03m>r93QBXk1W-5vpj&(a_v81 z=DtRKIY2WcP+y7xsnr5x94^{xyheO3skjkob#r zK)0e|9WLgcj5AYI1=dv0qwQ^qvr@z7^Vut5GVYD@*c$*ppUV%0ALKtomQu3tntz@sd`g2_lEM$#9*~R|EVb~(-OJ#i2#TOC@neV)C-LWGjfiG| z9wXyZSC6(1>`NB*q^WFxMng6ByE+0~J^7^4F8a>t*GFJEZ6fKG>QeT<3NCMEaU~fnp5xpT38laqPM zh6Iq~to|A18QKSmXreT?=bSv@{4_Z5xZ^QTP1eSuo^}0{b5#LqoW--@Jv?JAR{{jl z9t;CiRgmuhHDo@rRggigp`PFmWe2p@N|j^=RC<>2`m92eghrI?_*?~ZGi%sB(RxiY z*Nb=yg+P;}Ornr^Q`_0Xcj3<=y<$n^7yABHK@>y@kXp&yh7K;K76QH=S)6IJF-_IA z^tTG1cKlp;b$bq1e^GVAjoG^DKwAN-0qEYY8T6)N zYDvDu=t4rE&!dh31qV7gw_(fa7xf`e-C=pWrZf5z`WIJtrmbQn=2mAZ*kA(?~=!%ks(jo#8pP6k;UrkWUU`( zLJ{JH+TI6o=sx;~p#Upx(0V%oMcj5zs-|uaf(s0`uH?Z)u(H?u%Io7gV(<51%%p2( zQx>wczLMC~{aRWqAfvgIyBL8hT+ljmfAQM#kh{@3^C1F>d-jyKlFekX`#l8{7`5$c zHWM3ZB1>NzhQEI&{q16jz6)B?Ptp6w1EY0)IK^L4l;-d}Jy;Xe)#DRgUwd6t@lxf) zY;)k|WfA3DEH}A_*K-PsQB_iA<6h;T_Oajki&-jqEqr^v;Yu(pqt-mxIjc5bCO(Wt z7Sbf5@qTp>N7n4P+;}KqoS-}We9<3L7d~}o=i99>_DBZJ=c=nc z=w5my+0e8tCXQp9k&>zEl6e)*g>dH?3)foX8&A__TX+~k(4u37 zra0e{1EcHZ?oV2(uI~Xa&Gk~P>YO(q0$#bldi$5@zO}g<>j-RjAfy+MT3ne>Kd@f$kOIj(Dcd~dYXxR>MxvLkq6%}-~f0v2P_*-D3Nv;{^$ zu_n*7>Fdk;v>zIngd-)L!YR9J`W{u+qLK2aR3<_;0u|kRjGH|&1(6OtFS|`p#c4hW zH61(6=kpC+B)v;meOM&OCKT ze6SaL#hhaV%l1Q5FY7xHm^u$f`Lh?6m)U47#~AWrwt|Qa`%%b&G#x z+U$#<2%O5)5_@h^?sWm7_^9{e*5O;1m)W0 zIyz#4En1kcc~S8tT8?F*idVk%|luVyWCOzjZm!XL~rrL_-J$djysH{b}zclBzvQ!82P&eRg0jGN~sA6PAr8Gi}oVT zrLR2;n6HqwaTBcP%O`D$Gl_%!W8Z&&>Xk%55K{ zmYh(9g6FjLp?urB5;R-sIb|Jh*~HHH{^6x=l(IU!AMLBsQVi*YnLS>_mb*yTAQxj+ zU2C=JK5DL;@|f&JQ#95^XO6T^5T8SA1YTIW{WD3Dx2eXS0_pVxr^((85h_(F#;i1d zRdjRyQ#q=X?->l+t|)wP`oKvYd^rSq*_Y=cd)ANGkT&Y4^#D2Wp%SB6d#zTkouI}IXmKSH?VEt_ZH2>BN-6edG@De zq=o4An-qDNk_>sbqNay`kgrB~mXWh^Pe40ssh)$bJA(BeAfPzIE3L>IeSw3)Cr7oX zm0n~I^DZLM8aW1|*Q(mcxCg(kVF)x>(K#d9MKjbq;an$LCv{PUv7b|GOwjAv^T>na@EUp z4GF05Nqz9ve?@+nz6{d#{<{5{BazhCud&g2I(R=Or`BhmO#~5+u$9hxWu|n+Po<{sKLd4Z6BO!Y&8lCUf_uh+* zjt?5JBaDro`Mf;a{GN=dR^OZ|2g~|9;m3=;)}vZ}SBGI*r>bwKDUCMjd-GwP^0)dV zI@T$vQ|n8{Jfs$PMgHjfwU*58&iz`q%`S4 zda#{jO}5>#8vTq$UfSlY#Nj1No0C0P3E_)+oq-n9rX3XgP_z~Mq#|sw#+ne)A6STI zqsOaix}IrnE{JU%E~Or`Arl0q^#1Ce7Cg}sF4sGj zx1xG>MVu!_zWflcdQ~1@GFdRa(-|MgQP{-wC&{g+{!D2|-IzM%MNJDbUuo4J-~Cvq z-SgMYWz@mOUAaj&r&w36pow-lk5+w+K#E+i(KQHi*$Eb%p?!T=Jx&jpkW5TN5=54M zHw+u@IvF8rB5_bSd8zlDrRO@`OP#>jZr}JmW10kJX|YzeUrIWv8$3>I$fc|*Fq%;Y z`dz0vQ5)U3$;Il{R!XKCM{M`+gx_j|6}w0}BW)KcU5|j`O^_4xLrp0eV*G|B|w*Z`Hp;f47mMxd*5qT*CkysOI37NwfxMP*m163jBT6bzAZpnuCpj(5br zQ2@$rYyp)T#)X>6c%0$|Lr;vG5WTf`c_4i_!1iC4 z2YEClu*I9VX(q)%+FlMcdHf>lBEO^k>x-^Yp+83=a5vru=|MgeLp4Y_i<0S3OH1uvKu^&(hGND>ctMjuirW4JLHtU&8Z!_~|Hfa8(_(7# z5)^n}tR5*6{>a$xc^LHW6_IZiNFL8W?cZnCB+h#G(z1nTvTn2DPjW?w#(vO^CJL`F zka`}^iYkLEQ9w68d@pBI;(40z(8EZ7)p%-Zk3bJjgE{eu?gkYE zC7BE#sJ*k9e8{!)BApK8#eFY{;WnjFNBM=F4tWmLKdUO?nfx-V<2rL*F{*>7@&$p~ zwH5epJ)k7S-L)fJ6Yo!IT&al7(m9ZEbz_n1BHf6%&yarIqtGZgJrrgu@u4Ux{Sx6K z3nZxrP@Ys$bBZ7M8JIc3>y!xx(qci1G%3*X=GftA{mVeH<7TMwfgX#VPw+oHiC4T7 zuZt!EjlqIxn%>q^wSP23*yyi+csvceQ61m&{(zopTQlB}^E!A~hL0QK`L%$I9bkYe zRP)rH=Ypih;^RN{v3NJoQ|Qjf(IPpqp8>We5kSq_c(thqC0_RI+h>6 zCN@d6b#wD2PMO^N-=?9YmK^ukdmmn!x#Cdnf3ihD>4Y({BSlBW%9cM#{c94e=IfoZ z{J-IR`Ju0j_ZCNLF!~#}9hOHyPhEU*ZAB-5&ZjU?c}&RP%2bg1f1{;ZFB~TA+dp~C zp4XdO@l56oPg7vO-?z?xUFGYhN^g}{|Epu(QE+h7r(Gf%l>SO%cBu59jP;o{?@JKo ze@8*6`|{wnguq|vMD7peI(yC>Y%-TuLWqpfP5*Lh6M*0FJUui~KDuBl0V*~rhyH7B zE}75l2~>sHX|Qkyxs&f<7|MyWf%V%n|I+x$datr;+nZlu==#w;mn5S(nwQqyIx2N5 zgkIQ0n(JPZnhY{8;>q_joVo)-Jph)D-KtIn+9_Xl|IW-O;qKvq%d^!)DItt~QwgoC zH-&&c8ifIOwe;|f;gC3=7xjNuuU2J?bT!|`)oaYc8*I>jCrx)RvGTBsqk{&YEHI6n zuSuVk2P+Euye)YFpJyg2@xjsY!8=$UP~DFt{x=nfvK3 z-W(;rAC%Nme2`Re+HQZTops=cX9~%92Koed!VLEay0cx6lIH?@g%pz{F!W_GU9Wix8h(2P84P`zoCxoapNdYntZVcGm7rJkM;wvp? zK0*N?k-vWSAK2rC{uL>wB!(F3qZ;597Bi<&6|y^FWEU1Z8jV%^a8H8Kn2Y~P6%b*s z$2weA&y?q@J~>gEcQ{xcuny7=SD7Qn5_q1(#*rjv_Btg3E&D5n>w`JYT!EBf3Z6iz zYWxjJLpLNg0w@ZGbX7!YQ`50?DhtU0FBsM}iADh0!?nP?8@b{t>eNmdCU1kumfu=l zSM9ISpum3?b=_y`HhX1~N2wJ2q~}&G54`cFy@zZ5r+fJ5TD-9zXwqkTh##;#$OTZP zp%UL-AAk-APhbCH+0yO3Bz_lOw4gpTY{9v`L!t0n7qd&TCmOk84Rhd1Kr1uM6=g}G z2PVhtn~O_0m4B)Lqe-baU3I54rfH&I;uJWs+o$0T)^9p(Px7XI2oVPDe`Wopsr1O# zkL{xV`d*lLG0XDi40&tBK^Hs=03)h@o!*c|bMd>-fb~T#fB$D( z2quR+o0F&x(NcA5oY<`7jw<6>r!Qoe>PS+Oam{h;OTP}|lT9O+WKE6}AT^5UU#e_} zNH-Ab3az1+ls5hS{1!jZ82D#W^@cC9Y-IIMY}~ifHbl-Vz_@p^-w_R3#*$ptHu)9C zq3dq^u8I=z(kBVhDVi5p>h_kU!I7!JP`VZ#~? zb_{GRRaO(@qA~~e4d#O#K%RdF(qOO1>Rtj-lbt-3(HTqmfyydaUUSom_LoEg zB8q64Ajwb0VE)IEnJOzbwskDq%&fbv;iPHi^kF@+lq)nwV}E}7TlEL^yDbj7mBeRv14_XGoczR z5)0%gtwlvcyB?8M{+|%;z9J4MlWqK%nuhdS?o8wD+rhtcX}couCFO=ET>#+5=$*6- z(m+1G;fXFxu=I8=tyZy>q6{=70OtqoCE?KSZD!FZTfPrw=Tup{1)Ewb8>}o7<-)=X z`95qhSI?a2m)*PyQF!C6{iS?2XthIM|Nq%C(P;O+yy)6Q`ur*N@T`&vcJg%O(|Eb{ zH^4DQDUDYWB|ff$hQhR_PNqq3kC6A);@V&6Pa&JLXGGZd|L+*T+b!Gd*MB&svNj6< z!s_rDofH#u=ZNz%fP0J3VquEuZZ64(DY~ir=V?8{K3@MP@sH$PPij!bcI*c94hOb7 zV{nJV!ETyaF!M{eR_n#wzsi~_B|w$egyJ(mGtPgyv7P9wv(KemggTQ}CZ zo7mma?q?m#*Zh3qG?#YyvH9Cc+)aYVn)fcrfVw6+h|8gy_te+%SxNTiVW+B0=<5T^ zi??lPyK!WfKK>#DR_m_)deZI>*k_l3-=VU*osB!47UpZM+)ar0*%Iy!fx9|r*SI~H z8*>JcQ#52}?57+V!&vafvTwIOJGi?@<-sT2x$A3g&=*0L8@u*U7x z4=r59>$51coEtN5&*_xxj?w2czmaJ1F^;Y01J4tLS!HzVS^Hw*Qjy#0X~RFjt!m_q zHlqK!H3swcLp`=>O!7=y&Rv$&Imuf(Q8075MabR}cIrZs}F4B7(DvOInUN z3M(u;A8!%x(Bt!i^$XwSa z*_%4Aeaf%;0zS{mYMlopq7*%C$N*4kFs}CJsT!6*n6|0p&yPxb5(bQ)E&lO~G$Nns zNXnOp`(hn`dUaI%Di=+GKuvRb-C7I|`d^&4aVF?(~(PK`Q@{V_DlO7o*SD5LxW=gVkUN4BcT zO1S9fLSz?Q-?8X=bctUBMZ4VBM^?HcC0{QUP*D19ccj&nX61h0G3|Jympj#`*nl%< zsRh6LGu`>jfAFED>Tp;MIg*&a8-3f%KYP$rz%;;8vQCcoL^QaMRO( z1(=fB;1-u|-^eUva@^tu5yEY!QQ=-;n<^%Lw;WI2XV@621Drm0R@~S<-a65hTZ@9r2J@!4@tQ!`!c$MJ+d9`3tIu(n2 z+O<oX|~@u(tGB$ivL%ZTtTx{Xl1uaP`-t>yrajlH3*zIE|PFEw;7Y*=Oj_-lNyv zn3GcPC<=2Lcd1;0m1LwTY3(;Qr1%HggcE$~A}i={Yidxee$1E(BQRl=BTi_fmZzw) zSoKFt#r6Gt>y+*@LkEm0Dq#IrE=C?H^+&$E83`&cY23Es&R;>*zv$PgQJmd8n>%wx zW5c?5Dvm#?aTCmSgDHJ!eXRVYZtcuXfrtgO+dk* z?-gGuj>@J_EYmTfC#54(4Zqkp?Q~&Z`#ufUox~r>PnF=_R4v7yq(3vGK{?7Q%V*Mr zC&oJ2`GIF=cYRjv`nKk0*s;6&^ffaaKdvfkBvnw4`4*A_1s+)kUTpb+tA9^;xGiuo zBk5R~{8ru1hMn{cbmSB4h*Fj24QI{;;*a3Y4|JpXdD2@f(82uYvgsFDS==d@9`=^( z0sttSF)zN}@sZFr=1?YqGlRQ~(D@#(DveqhXet3fjv_UU2gz07vEEu81|=ypjVwv2ZnK%88#9 zS>G*`CXI3YJNk_jjkbNzOBx*5O4_hIT$k*>wLjt%hY^p`wL5F+>$vfd{(=BzRr^XD zOY+G;j^KL~6%G7%=bVO?AL%aS?OoVN)`L#=M&wS_jfxbstDn4x)jdqh7*So z2!$VYM9w39-3Q$eoH6P2GIbM2^>E4So9gF0YFttNPew+d+X5)CNhH}tAYaTj(o{EJ zfzxKUyza?9<5;|X*|o;F(o!-0SzEwa*|=%oK>I@4#~Yd87U))%uI^QM{yxNTpL*{9x>d zEbzf&@eO*FPVZ_jgLhgQm@wtw9IRp$Jc_JyBUp&u@I({#+SH(bC3ZB)ApFgevY5?r;U|O!>c>Cb5z`Uf`;6f(+CBG~ z9Msv_;4iD=Su^q(;E|*Zn^(c>6RBw3=X)1=dz1~7nJNKuyTJw+y#~v#tvhvPKXgV) z$Q9VA-e(c?dbtzI_f5$zw7PoH!nU1vsu_7Yd>`?%$ezR~=FXr~9Cl%>f-}4M1nQ~V zedP+hLdxV_(#eIZGV6Ya{i8?lJ5m1&2P292%#MPA_curbWh$Q5g9D>JgM86fSo<9X zs>y)-TZ<7nPGrxG*m;vbD|SGrbOP=DB1ZLac=0d9ZYd{8=j2E=By%i9D*&iwVS14tfJi- z^ztztJGbf7HWTswS;6s-vdx*g8Ib%9lRgr>w~QQ&k>6Igo{#W#X=BS-0QRT{xCUR?`FsDVKLpY) zvfLbIp07FBbqq#4c8(?2t3dBSF6Q1AAU!FVTUXKO8lreYR!R`@YOIxMXN+SBdr0T} z-E0@PHcJhb>b0#9Yz>-;=`W{gvht(UqLkKHd+d~(7DB`7&k_A>zzQ<6p(egp;P9X; zt5*%yuHu-X@kh`_ssNOrynY}-)4J6~VopSzru@m8csvM-7(bUgB|KNn)E-1{Pi;({ zP|pR2)gXFfu>?PECHLIPZhVC+@|##lzEes^Hc|wo-&7lqh zn*X70nXTa-=kD=y4@Q4I^Dt-3NwBu!*zygPrU3pIs0H<^B@ylJ3UBkQPLGJ8O3r61 z(*~-n;)}z^lA_9~Z5O#F+&LIxcTgo!1Qn=AbHO7!)J>-D%mFWjY8O6EeWABinP%`} zFUI#RPT@<;iO`%ZsLGMTBeSt;*m zvYUWF#bnvP8QWT;eIKd-2fZ>Fb||KkGr_n=TpbsLXM(N)RF?gd-%5GZtNqixW%8u# zwFgRYNPF+bK=8_Hi}Vt1m+TUK^K%hFH=h$(9`p7yo!vjxubr=LtIBf{(N0%+E`n}bR$J9sk{Bynp0cj z{~WRnuKqjIZrS+p;-D`ZnvZ^#?^TkEajF;?qR@M7DX#?I*d~iV9xb=||Tp0{^W12-MJzX%y-}e2j*J|9W zyz@;ty35V?o||$+7G@#zZF$wy3fOS>TQ^Jb3*GSV{<9~{KG1E*9<8DomJ4-yaX7&lL(;$}|V@1$yM;$L3O!_?=o;IM>~e;f%Ml)Eh-S z2ng6%o|k-{$*k-kJ*UUc_ty&56m2~suT#e7?^Q|08}uOYNB3W31p=WSCZXYMG4Ydm zCz>gHL)7Or%{G!qsOkF=Rj#f4z9-bBZZj$&LIW1T2(|I;pS5cKgF7q{PP=mGycxRS z{%6E@u@wvY5K-H=YbVq%E_Eqy+Azjbgzf3mC04b!*o!H?$}TpE9+-CNq!@h43}D92 z4{^MHKAp#`xH6OWkfD|U0zTbpIACpr+;ciwzvlG~9J<|@lBg6kU1mkNQ8=@w-6vY* z2l7>9jds3MfA#eB;vN+Mlopk@3c5b#~L3ks#&Kp%*Gu#rNyY;JfFgw?!nKR0< zI8aOYO*Yb+sP(JYQR2klpXu%1Yjmz?#UH_p%>jDaoS6acjZ9M0j6oE%9<;w6|#p@hpP4ui@9i2 zps_d=EyPkZ?u!^ThbTnW8YpTV6o05&+*6GzD;ni!9esRliZP&a_lFPUH*a{w^O5}D7^hU8!9cWDx#&} z8^~|jGdAltPSX>+|723auLZh)IdR^*8(8iix)}ZZ=X)zVEl;Kz+ne=pTS1Mrpdz%O zN}iBN(_;BI;?}}Uu+btrHeV_9$Y`LN>aV-5^EnE5a`%P^&Wci23UU?Nbh;G`J*OGg z{-XZK%&WLJ`~X6YF49K2Usg?}2!)M_GK4cJT3Uj^j_@DSaBtyBGm9;?t1t}=?00}} zSk3OWuqO|r>$NM1#0@Rbo-E`(V^`+tCt_8YlRynQYgm&u`b)&nu`eHxZH3A2EWXMZ z!fK{1iTsZ{YtpHlKOMGPDsPdUw8!KIjdHw%$O`3Lm0!`ps@yu2z99)M%aW z0?xIqUUpRgVto;KfiZ8f`@5SD+pz5|vqoGNd7thl%3kv0x(I5pvf4h4+JEk9Jvx$# z;V4kWi)3mlH`iOp!6YwaKd1@>+z4AqASu5q*u9U8`31Z%P!4snc2d1J8B|E7 zG_LRsa+ipZV$AFk*K7R-xMnYq8l1`Y5(xg>MLsf;`ki88#E2kUGxz~T*04rGllTlj zOT_ay8qsTS$9%eJT5EHPo+v8ZwT6-EV#(R;J8%j`Ry@HwL4xI$FC2F<~@AH+cXC*4jTN&2NJ03%8jC+g}1k@#jsFf2pnSO9j zC*Tq>?(>j*DUKXBOW_hkXT#Xd{*3gLz>Zxes$km;f-czBg8sd;F2t>>bn0wa!&QC8 z(!K8t8tim`#*Z8Qpw=2V-6rgg2X3eR!0$Z2z201r_2ro9Xj-{RXA)Pw!DKc6^^d4b zE~lM}fC^)Ft$IFbCJ(CZ&%e0?w*KXJEu%T#&CQGprDdf;52 ztDQdUv`H~-xvjOH=Z$$mJ9(Hyjh-VFtrT%}(I1#@iCn(h@WpJ^l39Bd*68p%BKXE|Jm9#mE8Vz&s+nDG4SIsA zzL3hN3C>DB((>99c+j%!){vkt%AU2yKN3>u*8_SM@0V@2(w%-%qIUBviR77~YG*MN z0i=1*`aVnJNj&h#RUtLVnAQL#R?%F#>u?1`t|fH$&bl}H=@a*1FDAZ!to6;%X`rEQ z^R8H~)oHD5U*&~O?r-cGJlh!44c2c}-5`G3>Ua9P04>x4Usp9WTnR*@26f%N>_55RQjC5nCF-h4sG=A zY^IrvfK&L4C>v|VSxIQbcpq)fqK&7eT!mA`;2I-m0vB-g14LQJPHAKb`YuwTWS#s{ zc^IK9xM0VU4!ipYONwD^=9vGnR`P2xA5A*~SeX7KaUP7`NRq)F#o_H^Ra*MK(UoJV zf%SJ?*;hN`wOILn(kH4UQ2o+i!JwmOxQG6gzyp~3BI<5BZ(fJ646iBQS<5o%SokSy zAV>oJ#LT$Kh!MV*n~#j}tE2j}!210G<;ti+!+{A{=_4#~D8np1I$R!R?KDbZcxK4y z;1|-%w`91x53vh!*R(%*!2Dx6JPk}L^u)qh1%V%*#nzovr{)xQ8(-NT+Lck7`R``G zR#k1~z)jbc*PlR_UJj%aIzsbTkpCZB?-|$B^2K`xQ8*q{R8%^sh}e)C5T)3W8W9Uh zl>j0EqJ$n2?1~T~y@OIkYCu8_0m0Bg6q3+YAhZC|5+EczlXK4h-WT^dulyYL-m_=+ zWMUW~-pgCvcr&2~Ak@{*6eQmay{o*C`oig)LEZd;_aG8oCRPwDLM!zjim4 zKu*oQvk^oizfDtTpWrmw5qsaY5~0-*3;SD$(EbxshN+z<=Ws0ujHAjd(`-uw(=v>p z-Era}TYgZg+@d84t;Y40`93U#BpXb@92bikxeE``viMYm0Xw|fw0-}&mh0Uc@FG{a zKAXjXKQmFd0`iaf~;*?PRR>A?U8l{x93&dW;Cy}#h`Q#YFNa=f2n_b%YD_(+Mz#AD5z zZGFV0n<0#(8mbbjTP7CMAJk)W-3w*azy6pW^p>T>eQ0hpD4#~eFB%n(hOEaCYdb)q zm8WxvW2{Y|P9>2b?vy%7Olj&)rdGO6hQB=E`C@9Gv z&-i@Md9i1>E6+8&Uq91ksl|BUnr&Y>?h59FmfyY(;rnj7RR*~^V~a-bd@GZqiL4sW z{RUkb0Yz%^cWx}8O1Hv`P_T*6&J0)c8Jp#$6Hvo4QDyep(eGL}XcX`o;2}w(mZRM? z;Bx=lLjOKf(0ICzWknU^dY) z%EM{HO=4dk)k@PmNvwO}A!kx%I}y`E{=DKrd}U`Dko}u@>K1$Nsd~D|-g8Y-+R)bu zne$oskE=CUUv6Hs(E!IFU^I)wsj|>1B3>5`rpX2#dN2N)mEK@~%qp{;b&?aIwD`T~XWO_v>0qS6?o4sj zy)+Ri5~Rd=ozoB*DrX=!aAz*vaA1bM4L$tX#_{cEOR+6Wdkb{1)i1KZ6k>$78@A}A z7%q|-C9sKcd+y7>fVwC*0$mL$!ti)K^ zh7Y=%%qf4BwEe7It~|KILuHX-)6ZR1*~wX2S)n_bmKY4!alR1`pR)_&o^>)KxdIO) z7(bP*n$)1wc#-sdUVAd^32{~ARfC{UWU!=Nyu?`)KksXB1J)g?G;sB%7uYK-`-@0F z_b~OHgNdZ~m{rVxx@6MfSyk2q+^ysIeelF@LB&hg+DVLe&9MPaoh>y~ofAt#jF%~+ zhtCNOl^;tSsKsp{P&qZRKXF7$ez^=6a)05dOV`^l?f%$o z2Kpv;C!8z{_OH|N4%U-WsK05dlITO~!>XdWI>@5R*uQoB4@U23!TbIwvwEiUqD_Ps|myu z9x0<#{NeHmQZI-H4aga5sfnAw?bG(O<%#kh+u*Fimcng1wn3_%j@= zx1OFsI`)8>)2{cwH=10z?X67Q$2T^&!_$nPC@Kk^!YhMV)r4{MISbQw5)?TP3q==O z5bU!$02+|$hSDSX@8S~1{VpaD+eO8Zu19L*s)yUQ z8_m<3{;5*$k}U*|-9JgOL)EwL{iH8$mpZ8yRr7M1?Z}FxrfDeqoy8KU?O+Df|(i%>vQez2t?bw+%K%%*uPUz(IJ;Yj#PV z=d$Mi%_mxY{N91DSNc!Wu(Lq^Oe0(C@hlCjx$`ip7&>bM58F`bHJsaM@I+w825Uxb z@yn6idLOIw7XM#g<37o6L^M5UIW#re6uhWlX4ly_zpn(3VthMLF$L|tS9!IwB`CU5 zMQ8VdaPaENG-;lbkZt32#fu>m076LSrz1Kf(f3tawk?(T!VRGF8H>4Ev1QVnB3<@v z_*hnodmDMPbHr5IH|F!62D#oS{oswbPYnCM1C}b7Y5i~NF&d2AifaSo)A=3rwr$

%6fQ%X0AxPspu2i zo{A$aAFq5$z*hvLy_>APXRvpU>VllQo>&8r4R>szFon9ZeevhqsL$H$w8@3vy6&z2 zrq1_-e2f3qlxKKO z!A)$epuE;<$jx)>VBuV)`h|7OXHV(5JIEsrOux3f_d(ndo91}>b9>T`K3>sg5+2&bX!?+Snb)fh z*8CoIG&Y^Ey7ZuXy+ow~2$3W!*G{-%T|37XEhEm}bD2mY#$eX583CRXAJQiDUwgTZ z?2f9Yo~TT{r$KAhNfLg>c-A>)t zjX%kwokPm&}9j+TO_9gE9ZDW6s+-G8r!`5`>YaT=-}W@DCc zThKCdNkS~^zh-xaYVkm}o?+8BR^IF@{~y^p!-e^hO@ifm4s5lslX?sb?!64888Zwj zg-%j<%eeG5cX3}9W!RvMH?Hzo4LW-`K-t-mGR~g5$8Iv{OZ2zT_W0^BLmO6P$$L|V z*_P?KT5jKaf98adKGR0%@+eDz6nnSt1?hpeElA&q>A*VntL5nRc43+FJ`t?+E2s5) zJ`RY82Nd{xJ%1TMEh@j&W}2#e3<`F;`PrttjGS!rhIM?il_-;RjUzT@U->5LY?T4@ z+_Nx4s)lSv^uv*E|MbP41vHb;Fb>R2SjQa$rE&WNyl-cpj`Kv?!GW_mV`bDOuAD}f zkM)fCp%te8uRnn&ePn&6q11a7L;_9sTV+1V8g;cC4ElI~+CgoBOpm`G7HRKtA`@r7 zTO|{aIA+w;i-%!cal_exBat~Pj&Hs;GQzmec_XQFE?@N4Xi}@#pn?d`0dJuor)A+w z8-M0z>+{OTbnl@@0W`o4z$Q%oNo>OQzR>eMnJMpySb;` zXi5~lV8_vlbxnIFArdkFgC#!Oh3^iBjdjHwr66YxjodRtskr=ALTmu~ndHu~=n}1{qM%8*2&c zy0H68#(x6JH4iLHbLyMlN}3&g`8f}O8pb?q!YbmaHH31?+QC%S3QS6NaOp^5{dsT_ z?yS(hmOnF5XC>;4BWP=%|2|N!e|6%B2IDz*KB`QgfIkp%6Xdj`qNUIg5{w?&6j#hE z;6$O%SQ*jM$lmR@hjj?IIymnWj|scoi?1jmn*;|FJx_kuKT>#9??J7iC-S@uoQcm3 z?aYgoOjDmG27U6(L`b58KO7QQHelKBgq0~|9K2>)8>_PUH}CM(V)2XJ+sMQS^=g%` zbC%QeGW*ta%-_ED>;1GC?%h&_RkePt!?K}QrVY6wtkrEp4|+sxVi8j4bB0?}{IKR% zQRYjRaioszNz%lEc|W&QLyVjKcXN1m$MF$%YKyJOmCGymS$GSu<_%FluvZ6ki(StR z#3{9kg!FNZ402f}4&5+j!;#5;qr045v|0}3NSp*Gk&(y7ZP!{!As{K=N%iSqCUA-4 zmy%eoUdpEZ4�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 literal 0 HcmV?d00001 diff --git a/static/Images/development/linkis_global_conf.png b/static/Images/development/linkis_global_conf.png new file mode 100644 index 0000000000000000000000000000000000000000..030891a74d44d3aedb2889fd63e8097fc8b924ed GIT binary patch literal 75430 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 zᛉ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 literal 0 HcmV?d00001 From 080c2526c023e7dbfcc885b5892ba22fa72dcde5 Mon Sep 17 00:00:00 2001 From: peacewong Date: Mon, 11 Apr 2022 22:57:56 +0800 Subject: [PATCH 2/2] add linkis conf en doc --- docs/development/linkis_config.md | 131 ++++++++++++++++++ .../current/development/linkis_config.md | 6 +- 2 files changed, 134 insertions(+), 3 deletions(-) create mode 100644 docs/development/linkis_config.md diff --git a/docs/development/linkis_config.md b/docs/development/linkis_config.md new file mode 100644 index 00000000000..ec801a506d6 --- /dev/null +++ b/docs/development/linkis_config.md @@ -0,0 +1,131 @@ +--- +title: Introduction to Linkis Configuration Parameters +sidebar_position: 1 +--- + +## 1. Parameter classification + +        Linkis parameters are mainly divided into the following three parts: +1. Linkis server parameters, mainly including the parameters of Linkis itself and the parameters of Spring +2. Parameters submitted by client calls such as Linkis SDK and Restful +3. Linkis console parameters + + +## 2. Linkis server parameters + +1. Parameters of Linkis itself +         The parameters of linkis itself can be set in the configuration file, or through environment variables and system properties. It is recommended to use the configuration file to set. + The Linkis configuration file format is as follows: +```shell +├── conf configuration directory +│ ├── application-eureka.yml +│ ├── application-linkis.yml +│ ├── linkis-cg-engineconnmanager-io.properties +│ ├── linkis-cg-engineconnmanager.properties +│ ├── linkis-cg-engineplugin.properties +│ ├── linkis-cg-entrance.properties +│ ├── linkis-cg-linkismanager.properties +│ ├── linkis.properties ── linkis global properties +│ ├── linkis-ps-bml.properties +│ ├── linkis-ps-cs.properties +│ ├── linkis-ps-datasource.properties +│ ├── linkis-ps-publicservice.properties +│ ├── log4j2.xml +```` +Each service loads two property configuration files, a common main configuration file linkis.properties, and a service configuration file linkis-serviceName.properties. The priority of settings is that the service profile is higher than the main profile +It is recommended that common parameters be placed in the main configuration file, and individual configuration files are placed in the service configuration file + +2. Spring parameters +         Linkis service is based on SpringBoot application, Spring related parameters can be set in application-linkis.yml or in linkis configuration file. The configuration in the linkis configuration file needs to be prefixed with spring. as follows: + +```shell +# spring port default +server.port=9102 +# in linkis conf need spring prefix +spring.server.port=9102 + +```` + +## 3. Linkis client parameters +        Linkis client parameters mainly refer to the parameters when the task is submitted, mainly the parameters specified in the submission interface. +1. How restful sets parameters: + +```shell +{ + "executionContent": {"code": "show tables", "runType": "sql"}, + "params": { // submit parameters + "variable":{ //Custom variables needed in the code + "k1":"v1" + }, + "configuration":{ + "special":{ //Special configuration parameters such as log path, result set path, etc. + "k2":"v2" + }, + "runtime":{ //Runtime parameters, execution configuration parameters, such as database connection parameters of JDBC engine, data source parameters of presto engine + "k3":"v3" + }, + "startup":{ //Startup parameters, such as memory parameters for starting EC, spark engine parameters, hive engine parameters, etc. + "k4":"v4" For example: spark.executor.memory:5G Set the Spark executor memory, the underlying Spark, hive and other engine parameters keyName are consistent with the native parameters + } + } + }, + "labels": { //Label parameters, support setting engine version, user and application + "engineType": "spark-2.4.3", + "userCreator": "hadoop-IDE" + } +} +```` +2. How to set parameters in SDK: + +````java +JobSubmitAction jobSubmitAction = JobSubmitAction.builder() + .addExecuteCode(code) + .setStartupParams(startupMap) //Startup parameters, such as memory parameters for starting EC, spark engine parameters, hive engine parameters, etc., such as: spark.executor.memory:5G Set the Spark executor memory, the underlying Spark, hive and other engine parameters keyName is the same as the original parameter + .setRuntimeParams(runTimeMap) //Engine, execute configuration parameters, such as database connection parameters of JDBC engine, data source parameters of presto engine + .setVariableMap(varMap) //Custom variables needed in the code + .setLabels(labels) //Label parameters, support setting engine version, user and application, etc. + .setUser(user) //submit user + .addExecuteUser(user) // execute user + .build(); +```` +3. How linkis-cli sets parameters + +```shell +linkis-cli -runtieMap key1=value -runtieMap key2=value + -labelMap key1=value + -varMap key1=value + -startUpMap key1=value + +```` +Note: When submitting client parameters, only engine-related parameters, tag parameters, and Yarn queue settings can take effect. Other Linkis server-side parameters and resource limit parameters, such as task and engine concurrency parameters wds.linkis.rm.instances do not support task settings + +4. Common label parameters: + +```shell + Map labels = new HashMap(); + labels.put(LabelKeyConstant.ENGINE_TYPE_KEY, "spark-2.4.3"); // Specify engine type and version + labels.put(LabelKeyConstant.USER_CREATOR_TYPE_KEY, user + "-IDE");// Specify the running user and your APPName + labels.put(LabelKeyConstant.CODE_TYPE_KEY, "sql"); // Specify the type of script to run: spark supports: sql, scala, py; Hive: hql; shell: sh; python: python; presto: psql + labels.put(LabelKeyConstant.JOB_RUNNING_TIMEOUT_KEY, "10000");//The job runs for 10s and automatically initiates Kill, the unit is ms + labels.put(LabelKeyConstant.JOB_QUEUING_TIMEOUT_KEY, "10000");//The job is queued for more than 10s and automatically initiates Kill, the unit is ms + labels.put(LabelKeyConstant.RETRY_TIMEOUT_KEY, "10000");//The waiting time for the job to retry due to resources and other reasons, the unit is ms. If it fails due to insufficient queue resources, it will initiate 10 retries at intervals by default + labels.put(LabelKeyConstant.TENANT_KEY,"hduser02");//Tenant label, if the tenant parameter is specified for the task, the task will be routed to a separate ECM machine + labels.put(LabelKeyConstant.EXECUTE_ONCE_KEY,"");//Execute the label once, this parameter is not recommended to be set. After setting, the engine will not reuse the task and the engine will end after running. Only a certain task parameter can be specialized. set up +```` + +## 4. Linkis console parameters +        Linkis management console parameters are convenient for users to specify resource limit parameters and default task parameters. The web interface provided is as follows: +Global configuration parameters: +![](/Images/development/linkis_global_conf.png) +It mainly includes the global queue parameter [wds.linkis.rm.yarnqueue], the Yarn queue used by the task by default, which can be specified in the client StartUPMap. +Resource limit parameters, these parameters do not support task settings, but can be adjusted by the management console. +```shell +Queue CPU usage upper limit [wds.linkis.rm.yarnqueue.cores.max], currently only supports limit the usage of total queue resources for Spark type tasks +Queue memory usage limit [wds.linkis.rm.yarnqueue.memory.max] +The upper limit of the global memory usage of each engine [wds.linkis.rm.client.memory.max] This parameter does not refer to the total memory that can only be used, but specifies the total memory usage of a specific engine of a Creator, such as limiting the IDE-SPARK task to only Can use 10G memory +The maximum number of global engine cores [wds.linkis.rm.client.core.max] This parameter does not refer to the total number of CPUs that can only be used, but specifies the total memory usage of a specific engine of a Creator, such as limiting IDE-SPARK tasks Can only use 10Cores +The maximum concurrent number of each engine in the world [wds.linkis.rm.instance], this parameter has two meanings, one is to limit how many a Creator-specific engine can start in total, and to limit the tasks that a Creator-specific engine task can run at the same time number +```` +Engine configuration parameters: +![](/Images/development/linkis_creator_ec_conf.png) +It mainly specifies the startup parameters and runtime parameters of the engine. These parameters can be set on the client side. It is recommended to use the client side for personalized submission settings. Only the default values ​​are set on the page. \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_config.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_config.md index 42da7457e83..f77846e2565 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_config.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_config.md @@ -1,6 +1,6 @@ --- title: Linkis 配置参数介绍 -sidebar_position: 0 +sidebar_position: 1 --- ## 1. 参数分类 @@ -61,7 +61,7 @@ spring.server.port=9102 "special":{ //特殊配置参数 如日志路径,结果集路径等 "k2":"v2" }, - "runtime":{ //引擎,执行配置参数,如JDBC引擎的的数据库连接参数,presto引擎的数据源参数 + "runtime":{ //运行时参数,执行配置参数,如JDBC引擎的的数据库连接参数,presto引擎的数据源参数 "k3":"v3" }, "startup":{ //启动参数,如启动EC的内存参数,spark引擎参数、hive引擎参数等 @@ -108,7 +108,7 @@ linkis-cli -runtieMap key1=value -runtieMap key2=value 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, "10000");//job运行10s没完成自动发起Kill,单位为ms labels.put(LabelKeyConstant.JOB_QUEUING_TIMEOUT_KEY, "10000");//job排队超过10s没完成自动发起Kill,单位为ms - labels.put(LabelKeyConstant.RETRY_TIMEOUT_KEY, "10000");//job因为资源等原因失败重试的等待时间,单位为ms,如果因为队列资源不足的失败,会默认按间隔发起10次重试 + labels.put(LabelKeyConstant.RETRY_TIMEOUT_KEY, "10000");//job因为资源等原因失败重试的等待时间,单位为ms,如因为队列资源不足的失败,会默认按间隔发起10次重试 labels.put(LabelKeyConstant.TENANT_KEY,"hduser02");//租户标签,任务如果指定了租户参数则任务会被路由到单独的ECM机器 labels.put(LabelKeyConstant.EXECUTE_ONCE_KEY,"");//执行一次标签,该参数不建议设置,设置后引擎不会复用任务运行完就会结束引擎,只有某个任务参数有特殊化的可以进行设置 ```