values.yaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  1. #
  2. # Licensed to the Apache Software Foundation (ASF) under one or more
  3. # contributor license agreements. See the NOTICE file distributed with
  4. # this work for additional information regarding copyright ownership.
  5. # The ASF licenses this file to You under the Apache License, Version 2.0
  6. # (the "License"); you may not use this file except in compliance with
  7. # the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. #
  17. # Default values for dolphinscheduler-chart.
  18. # This is a YAML-formatted file.
  19. # Declare variables to be passed into your templates.
  20. timezone: "Asia/Shanghai"
  21. image:
  22. registry: "dolphinscheduler.docker.scarf.sh/apache"
  23. tag: "dev-SNAPSHOT"
  24. pullPolicy: "IfNotPresent"
  25. pullSecret: ""
  26. ## If not exists external database, by default, Dolphinscheduler's database will use it.
  27. postgresql:
  28. enabled: true
  29. postgresqlUsername: "root"
  30. postgresqlPassword: "root"
  31. postgresqlDatabase: "dolphinscheduler"
  32. persistence:
  33. enabled: false
  34. size: "20Gi"
  35. storageClass: "-"
  36. ## If exists external database, and set postgresql.enable value to false.
  37. ## external database will be used, otherwise Dolphinscheduler's database will be used.
  38. externalDatabase:
  39. type: "postgresql"
  40. host: "localhost"
  41. port: "5432"
  42. username: "root"
  43. password: "root"
  44. database: "dolphinscheduler"
  45. params: "characterEncoding=utf8"
  46. ## If not exists external registry, the zookeeper registry will be used by default.
  47. zookeeper:
  48. enabled: true
  49. service:
  50. port: 2181
  51. fourlwCommandsWhitelist: "srvr,ruok,wchs,cons"
  52. persistence:
  53. enabled: false
  54. size: "20Gi"
  55. storageClass: "-"
  56. ## If exists external registry and set zookeeper.enable value to false, the external registry will be used.
  57. externalRegistry:
  58. registryPluginDir: "lib/plugin/registry"
  59. registryPluginName: "zookeeper"
  60. registryServers: "127.0.0.1:2181"
  61. conf:
  62. common:
  63. # user data local directory path, please make sure the directory exists and have read write permissions
  64. data.basedir.path: /tmp/dolphinscheduler
  65. # resource storage type: HDFS, S3, NONE
  66. resource.storage.type: HDFS
  67. # resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have read write permissions. "/dolphinscheduler" is recommended
  68. resource.upload.path: /dolphinscheduler
  69. # whether to startup kerberos
  70. hadoop.security.authentication.startup.state: false
  71. # java.security.krb5.conf path
  72. java.security.krb5.conf.path: /opt/krb5.conf
  73. # login user from keytab username
  74. login.user.keytab.username: hdfs-mycluster@ESZ.COM
  75. # login user from keytab path
  76. login.user.keytab.path: /opt/hdfs.headless.keytab
  77. # kerberos expire time, the unit is hour
  78. kerberos.expire.time: 2
  79. # resource view suffixs
  80. #resource.view.suffixs: txt,log,sh,bat,conf,cfg,py,java,sql,xml,hql,properties,json,yml,yaml,ini,js
  81. # if resource.storage.type: HDFS, the user must have the permission to create directories under the HDFS root path
  82. hdfs.root.user: hdfs
  83. # if resource.storage.type: S3, the value like: s3a://dolphinscheduler; if resource.storage.type: HDFS and namenode HA is enabled, you need to copy core-site.xml and hdfs-site.xml to conf dir
  84. fs.defaultFS: file:///
  85. aws.access.key.id: minioadmin
  86. aws.secret.access.key: minioadmin
  87. aws.region: us-east-1
  88. aws.endpoint: http://localhost:9000
  89. # resourcemanager port, the default value is 8088 if not specified
  90. resource.manager.httpaddress.port: 8088
  91. # if resourcemanager HA is enabled, please set the HA IPs; if resourcemanager is single, keep this value empty
  92. yarn.resourcemanager.ha.rm.ids: 192.168.xx.xx,192.168.xx.xx
  93. # if resourcemanager HA is enabled or not use resourcemanager, please keep the default value; If resourcemanager is single, you only need to replace ds1 to actual resourcemanager hostname
  94. yarn.application.status.address: http://ds1:%s/ws/v1/cluster/apps/%s
  95. # job history status url when application number threshold is reached(default 10000, maybe it was set to 1000)
  96. yarn.job.history.status.address: http://ds1:19888/ws/v1/history/mapreduce/jobs/%s
  97. # datasource encryption enable
  98. datasource.encryption.enable: false
  99. # datasource encryption salt
  100. datasource.encryption.salt: '!@#$%^&*'
  101. # data quality option
  102. data-quality.jar.name: dolphinscheduler-data-quality-dev-SNAPSHOT.jar
  103. #data-quality.error.output.path: /tmp/data-quality-error-data
  104. # Network IP gets priority, default inner outer
  105. # Whether hive SQL is executed in the same session
  106. support.hive.oneSession: false
  107. # use sudo or not, if set true, executing user is tenant user and deploy user needs sudo permissions; if set false, executing user is the deploy user and doesn't need sudo permissions
  108. sudo.enable: true
  109. # network interface preferred like eth0, default: empty
  110. #dolphin.scheduler.network.interface.preferred:
  111. # network IP gets priority, default: inner outer
  112. #dolphin.scheduler.network.priority.strategy: default
  113. # system env path
  114. #dolphinscheduler.env.path: dolphinscheduler_env.sh
  115. # development state
  116. development.state: false
  117. # rpc port
  118. alert.rpc.port: 50052
  119. # Url endpoint for zeppelin RESTful API
  120. zeppelin.rest.url: http://localhost:8080
  121. common:
  122. ## Configmap
  123. configmap:
  124. DOLPHINSCHEDULER_OPTS: ""
  125. DATA_BASEDIR_PATH: "/tmp/dolphinscheduler"
  126. RESOURCE_UPLOAD_PATH: "/dolphinscheduler"
  127. # dolphinscheduler env
  128. HADOOP_HOME: "/opt/soft/hadoop"
  129. HADOOP_CONF_DIR: "/opt/soft/hadoop/etc/hadoop"
  130. SPARK_HOME1: "/opt/soft/spark1"
  131. SPARK_HOME2: "/opt/soft/spark2"
  132. PYTHON_HOME: "/usr/bin/python"
  133. JAVA_HOME: "/usr/local/openjdk-8"
  134. HIVE_HOME: "/opt/soft/hive"
  135. FLINK_HOME: "/opt/soft/flink"
  136. DATAX_HOME: "/opt/soft/datax"
  137. ## Shared storage persistence mounted into api, master and worker, such as Hadoop, Spark, Flink and DataX binary package
  138. sharedStoragePersistence:
  139. enabled: false
  140. mountPath: "/opt/soft"
  141. accessModes:
  142. - "ReadWriteMany"
  143. ## storageClassName must support the access mode: ReadWriteMany
  144. storageClassName: "-"
  145. storage: "20Gi"
  146. ## If RESOURCE_STORAGE_TYPE is HDFS and FS_DEFAULT_FS is file:///, fsFileResourcePersistence should be enabled for resource storage
  147. fsFileResourcePersistence:
  148. enabled: false
  149. accessModes:
  150. - "ReadWriteMany"
  151. ## storageClassName must support the access mode: ReadWriteMany
  152. storageClassName: "-"
  153. storage: "20Gi"
  154. master:
  155. ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down.
  156. podManagementPolicy: "Parallel"
  157. ## Replicas is the desired number of replicas of the given Template.
  158. replicas: "3"
  159. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  160. ## Clients such as tools and libraries can retrieve this metadata.
  161. annotations: {}
  162. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  163. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  164. affinity: {}
  165. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  166. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  167. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  168. nodeSelector: {}
  169. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  170. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  171. tolerations: []
  172. ## Compute Resources required by this container. Cannot be updated.
  173. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  174. resources: {}
  175. # resources:
  176. # limits:
  177. # memory: "8Gi"
  178. # cpu: "4"
  179. # requests:
  180. # memory: "2Gi"
  181. # cpu: "500m"
  182. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  183. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  184. livenessProbe:
  185. enabled: true
  186. initialDelaySeconds: "30"
  187. periodSeconds: "30"
  188. timeoutSeconds: "5"
  189. failureThreshold: "3"
  190. successThreshold: "1"
  191. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  192. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  193. readinessProbe:
  194. enabled: true
  195. initialDelaySeconds: "30"
  196. periodSeconds: "30"
  197. timeoutSeconds: "5"
  198. failureThreshold: "3"
  199. successThreshold: "1"
  200. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  201. ## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
  202. ## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
  203. ## A claim in this list takes precedence over any volumes in the template, with the same name.
  204. persistentVolumeClaim:
  205. enabled: false
  206. accessModes:
  207. - "ReadWriteOnce"
  208. storageClassName: "-"
  209. storage: "20Gi"
  210. env:
  211. JAVA_OPTS: "-Xms1g -Xmx1g -Xmn512m"
  212. MASTER_EXEC_THREADS: "100"
  213. MASTER_EXEC_TASK_NUM: "20"
  214. MASTER_DISPATCH_TASK_NUM: "3"
  215. MASTER_HOST_SELECTOR: "LowerWeight"
  216. MASTER_HEARTBEAT_INTERVAL: "10s"
  217. MASTER_HEARTBEAT_ERROR_THRESHOLD: "5"
  218. MASTER_TASK_COMMIT_RETRYTIMES: "5"
  219. MASTER_TASK_COMMIT_INTERVAL: "1s"
  220. MASTER_STATE_WHEEL_INTERVAL: "5s"
  221. MASTER_MAX_CPU_LOAD_AVG: "-1"
  222. MASTER_RESERVED_MEMORY: "0.3"
  223. MASTER_FAILOVER_INTERVAL: "10m"
  224. MASTER_KILL_YARN_JOB_WHEN_HANDLE_FAILOVER: "true"
  225. worker:
  226. ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down.
  227. podManagementPolicy: "Parallel"
  228. ## Replicas is the desired number of replicas of the given Template.
  229. replicas: "3"
  230. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  231. ## Clients such as tools and libraries can retrieve this metadata.
  232. annotations: {}
  233. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  234. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  235. affinity: {}
  236. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  237. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  238. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  239. nodeSelector: {}
  240. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  241. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  242. tolerations: []
  243. ## Compute Resources required by this container. Cannot be updated.
  244. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  245. resources: {}
  246. # resources:
  247. # limits:
  248. # memory: "8Gi"
  249. # cpu: "4"
  250. # requests:
  251. # memory: "2Gi"
  252. # cpu: "500m"
  253. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  254. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  255. livenessProbe:
  256. enabled: true
  257. initialDelaySeconds: "30"
  258. periodSeconds: "30"
  259. timeoutSeconds: "5"
  260. failureThreshold: "3"
  261. successThreshold: "1"
  262. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  263. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  264. readinessProbe:
  265. enabled: true
  266. initialDelaySeconds: "30"
  267. periodSeconds: "30"
  268. timeoutSeconds: "5"
  269. failureThreshold: "3"
  270. successThreshold: "1"
  271. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  272. ## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
  273. ## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
  274. ## A claim in this list takes precedence over any volumes in the template, with the same name.
  275. persistentVolumeClaim:
  276. enabled: false
  277. ## dolphinscheduler data volume
  278. dataPersistentVolume:
  279. enabled: false
  280. accessModes:
  281. - "ReadWriteOnce"
  282. storageClassName: "-"
  283. storage: "20Gi"
  284. ## dolphinscheduler logs volume
  285. logsPersistentVolume:
  286. enabled: false
  287. accessModes:
  288. - "ReadWriteOnce"
  289. storageClassName: "-"
  290. storage: "20Gi"
  291. env:
  292. WORKER_GROUPS_0: default
  293. WORKER_MAX_CPU_LOAD_AVG: "-1"
  294. WORKER_RESERVED_MEMORY: "0.3"
  295. WORKER_EXEC_THREADS: "100"
  296. WORKER_HEARTBEAT_INTERVAL: "10s"
  297. WORKER_HEART_ERROR_THRESHOLD: "5"
  298. WORKER_HOST_WEIGHT: "100"
  299. WORKER_GROUPS: "default"
  300. alert:
  301. ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
  302. replicas: 1
  303. ## The deployment strategy to use to replace existing pods with new ones.
  304. strategy:
  305. type: "RollingUpdate"
  306. rollingUpdate:
  307. maxSurge: "25%"
  308. maxUnavailable: "25%"
  309. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  310. ## Clients such as tools and libraries can retrieve this metadata.
  311. annotations: {}
  312. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  313. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  314. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  315. affinity: {}
  316. ## Compute Resources required by this container. Cannot be updated.
  317. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  318. nodeSelector: {}
  319. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  320. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  321. tolerations: []
  322. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  323. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  324. resources: {}
  325. # resources:
  326. # limits:
  327. # memory: "2Gi"
  328. # cpu: "1"
  329. # requests:
  330. # memory: "1Gi"
  331. # cpu: "500m"
  332. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  333. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  334. livenessProbe:
  335. enabled: true
  336. initialDelaySeconds: "30"
  337. periodSeconds: "30"
  338. timeoutSeconds: "5"
  339. failureThreshold: "3"
  340. successThreshold: "1"
  341. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  342. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  343. readinessProbe:
  344. enabled: true
  345. initialDelaySeconds: "30"
  346. periodSeconds: "30"
  347. timeoutSeconds: "5"
  348. failureThreshold: "3"
  349. successThreshold: "1"
  350. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  351. ## More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  352. persistentVolumeClaim:
  353. enabled: false
  354. accessModes:
  355. - "ReadWriteOnce"
  356. storageClassName: "-"
  357. storage: "20Gi"
  358. env:
  359. JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m"
  360. api:
  361. ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
  362. replicas: "1"
  363. ## The deployment strategy to use to replace existing pods with new ones.
  364. strategy:
  365. type: "RollingUpdate"
  366. rollingUpdate:
  367. maxSurge: "25%"
  368. maxUnavailable: "25%"
  369. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  370. ## Clients such as tools and libraries can retrieve this metadata.
  371. annotations: {}
  372. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  373. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  374. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  375. affinity: {}
  376. ## Compute Resources required by this container. Cannot be updated.
  377. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  378. nodeSelector: {}
  379. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  380. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  381. tolerations: []
  382. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  383. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  384. resources: {}
  385. # resources:
  386. # limits:
  387. # memory: "2Gi"
  388. # cpu: "1"
  389. # requests:
  390. # memory: "1Gi"
  391. # cpu: "500m"
  392. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  393. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  394. livenessProbe:
  395. enabled: true
  396. initialDelaySeconds: "30"
  397. periodSeconds: "30"
  398. timeoutSeconds: "5"
  399. failureThreshold: "3"
  400. successThreshold: "1"
  401. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  402. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  403. readinessProbe:
  404. enabled: true
  405. initialDelaySeconds: "30"
  406. periodSeconds: "30"
  407. timeoutSeconds: "5"
  408. failureThreshold: "3"
  409. successThreshold: "1"
  410. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  411. ## More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  412. persistentVolumeClaim:
  413. enabled: false
  414. accessModes:
  415. - "ReadWriteOnce"
  416. storageClassName: "-"
  417. storage: "20Gi"
  418. service:
  419. ## type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer
  420. type: "ClusterIP"
  421. ## clusterIP is the IP address of the service and is usually assigned randomly by the master
  422. clusterIP: ""
  423. ## nodePort is the port on each node on which this service is exposed when type=NodePort
  424. nodePort: ""
  425. ## externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service
  426. externalIPs: []
  427. ## externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service, requires Type to be ExternalName
  428. externalName: ""
  429. ## loadBalancerIP when service.type is LoadBalancer. LoadBalancer will get created with the IP specified in this field
  430. loadBalancerIP: ""
  431. ## annotations may need to be set when service.type is LoadBalancer
  432. ## service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:EXAMPLE_CERT
  433. annotations: {}
  434. env:
  435. JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m"
  436. ingress:
  437. enabled: false
  438. host: "dolphinscheduler.org"
  439. path: "/dolphinscheduler"
  440. annotations: {}
  441. tls:
  442. enabled: false
  443. secretName: "dolphinscheduler-tls"