mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-12-04 21:28:00 +08:00
d6a32ac652
* [Future#3234][cluster]enhanced load balancing weight-based load balancing algorithm this close # 3234 * remove useless parameter * code smell * load balancing according to work group * add smooth weight round robin * remove unused constants * perfect unit test * code smell * code smell * add work weight config * fix config error * add weight docs to readme.md
436 lines
17 KiB
YAML
436 lines
17 KiB
YAML
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership.
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
# (the "License"); you may not use this file except in compliance with
|
|
# the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
# Default values for dolphinscheduler-chart.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
timezone: "Asia/Shanghai"
|
|
|
|
image:
|
|
registry: "apache"
|
|
repository: "dolphinscheduler"
|
|
tag: "latest"
|
|
pullPolicy: "IfNotPresent"
|
|
pullSecrets: []
|
|
|
|
# If not exists external database, by default, Dolphinscheduler's database will use it.
|
|
postgresql:
|
|
enabled: true
|
|
postgresqlUsername: "root"
|
|
postgresqlPassword: "root"
|
|
postgresqlDatabase: "dolphinscheduler"
|
|
persistence:
|
|
enabled: false
|
|
size: "20Gi"
|
|
storageClass: "-"
|
|
|
|
# If exists external database, and set postgresql.enable value to false.
|
|
# external database will be used, otherwise Dolphinscheduler's database will be used.
|
|
externalDatabase:
|
|
type: "postgresql"
|
|
driver: "org.postgresql.Driver"
|
|
host: "localhost"
|
|
port: "5432"
|
|
username: "root"
|
|
password: "root"
|
|
database: "dolphinscheduler"
|
|
# multi params should join with & char
|
|
params: "characterEncoding=utf8"
|
|
|
|
# If not exists external zookeeper, by default, Dolphinscheduler's zookeeper will use it.
|
|
zookeeper:
|
|
enabled: true
|
|
taskQueue: "zookeeper"
|
|
config: null
|
|
service:
|
|
port: "2181"
|
|
persistence:
|
|
enabled: false
|
|
size: "20Gi"
|
|
storageClass: "-"
|
|
|
|
# If exists external zookeeper, and set zookeeper.enable value to false.
|
|
# If zookeeper.enable is false, Dolphinscheduler's zookeeper will use it.
|
|
externalZookeeper:
|
|
taskQueue: "zookeeper"
|
|
zookeeperQuorum: "127.0.0.1:2181"
|
|
zookeeperRoot: "/dolphinscheduler"
|
|
|
|
common:
|
|
configmap:
|
|
DOLPHINSCHEDULER_ENV_PATH: "/tmp/dolphinscheduler/env"
|
|
DOLPHINSCHEDULER_DATA_BASEDIR_PATH: "/tmp/dolphinscheduler/files"
|
|
RESOURCE_STORAGE_TYPE: "NONE"
|
|
RESOURCE_UPLOAD_PATH: "/ds"
|
|
FS_DEFAULT_FS: "s3a://xxxx"
|
|
FS_S3A_ENDPOINT: "s3.xxx.amazonaws.com"
|
|
FS_S3A_ACCESS_KEY: "xxxxxxx"
|
|
FS_S3A_SECRET_KEY: "xxxxxxx"
|
|
|
|
master:
|
|
podManagementPolicy: "Parallel"
|
|
replicas: "3"
|
|
# NodeSelector is a selector which must be true for the pod to fit on a node.
|
|
# Selector which must match a node's labels for the pod to be scheduled on that node.
|
|
# More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
|
nodeSelector: {}
|
|
# Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
|
|
# effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
|
|
tolerations: []
|
|
# Affinity is a group of affinity scheduling rules.
|
|
# If specified, the pod's scheduling constraints.
|
|
# More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
|
|
affinity: {}
|
|
# The jvm options for java instance startup
|
|
jvmOptions: ""
|
|
resources: {}
|
|
# limits:
|
|
# memory: "18Gi"
|
|
# cpu: "4"
|
|
# requests:
|
|
# memory: "2Gi"
|
|
# cpu: "500m"
|
|
# You can use annotations to attach arbitrary non-identifying metadata to objects.
|
|
# Clients such as tools and libraries can retrieve this metadata.
|
|
annotations: {}
|
|
## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
configmap:
|
|
MASTER_EXEC_THREADS: "100"
|
|
MASTER_EXEC_TASK_NUM: "20"
|
|
MASTER_HEARTBEAT_INTERVAL: "10"
|
|
MASTER_TASK_COMMIT_RETRYTIMES: "5"
|
|
MASTER_TASK_COMMIT_INTERVAL: "1000"
|
|
MASTER_MAX_CPULOAD_AVG: "100"
|
|
MASTER_RESERVED_MEMORY: "0.1"
|
|
MASTER_LISTEN_PORT: "5678"
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
## volumeClaimTemplates is a list of claims that pods are allowed to reference.
|
|
## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
|
|
## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
|
|
## A claim in this list takes precedence over any volumes in the template, with the same name.
|
|
persistentVolumeClaim:
|
|
enabled: false
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
storageClassName: "-"
|
|
storage: "20Gi"
|
|
|
|
worker:
|
|
podManagementPolicy: "Parallel"
|
|
replicas: "3"
|
|
# NodeSelector is a selector which must be true for the pod to fit on a node.
|
|
# Selector which must match a node's labels for the pod to be scheduled on that node.
|
|
# More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
|
nodeSelector: {}
|
|
# Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
|
|
# effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
|
|
tolerations: []
|
|
# Affinity is a group of affinity scheduling rules.
|
|
# If specified, the pod's scheduling constraints.
|
|
# More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
|
|
affinity: {}
|
|
# The jvm options for java instance startup
|
|
jvmOptions: ""
|
|
resources: {}
|
|
# limits:
|
|
# memory: "18Gi"
|
|
# cpu: "4"
|
|
# requests:
|
|
# memory: "2Gi"
|
|
# cpu: "500m"
|
|
# You can use annotations to attach arbitrary non-identifying metadata to objects.
|
|
# Clients such as tools and libraries can retrieve this metadata.
|
|
annotations: {}
|
|
## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
configmap:
|
|
WORKER_EXEC_THREADS: "100"
|
|
WORKER_HEARTBEAT_INTERVAL: "10"
|
|
WORKER_FETCH_TASK_NUM: "3"
|
|
WORKER_MAX_CPULOAD_AVG: "100"
|
|
WORKER_RESERVED_MEMORY: "0.1"
|
|
WORKER_LISTEN_PORT: "1234"
|
|
WORKER_GROUP: "default"
|
|
WORKER_WEIGHT: "100"
|
|
DOLPHINSCHEDULER_DATA_BASEDIR_PATH: "/tmp/dolphinscheduler"
|
|
DOLPHINSCHEDULER_ENV:
|
|
- "export HADOOP_HOME=/opt/soft/hadoop"
|
|
- "export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop"
|
|
- "export SPARK_HOME1=/opt/soft/spark1"
|
|
- "export SPARK_HOME2=/opt/soft/spark2"
|
|
- "export PYTHON_HOME=/opt/soft/python"
|
|
- "export JAVA_HOME=/opt/soft/java"
|
|
- "export HIVE_HOME=/opt/soft/hive"
|
|
- "export FLINK_HOME=/opt/soft/flink"
|
|
- "export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$PATH"
|
|
## volumeClaimTemplates is a list of claims that pods are allowed to reference.
|
|
## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
|
|
## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
|
|
## A claim in this list takes precedence over any volumes in the template, with the same name.
|
|
persistentVolumeClaim:
|
|
enabled: false
|
|
## dolphinscheduler data volume
|
|
dataPersistentVolume:
|
|
enabled: false
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
storageClassName: "-"
|
|
storage: "20Gi"
|
|
## dolphinscheduler logs volume
|
|
logsPersistentVolume:
|
|
enabled: false
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
storageClassName: "-"
|
|
storage: "20Gi"
|
|
|
|
alert:
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
rollingUpdate:
|
|
maxSurge: "25%"
|
|
maxUnavailable: "25%"
|
|
replicas: "1"
|
|
# NodeSelector is a selector which must be true for the pod to fit on a node.
|
|
# Selector which must match a node's labels for the pod to be scheduled on that node.
|
|
# More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
|
nodeSelector: {}
|
|
# Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
|
|
# effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
|
|
tolerations: []
|
|
# Affinity is a group of affinity scheduling rules.
|
|
# If specified, the pod's scheduling constraints.
|
|
# More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
|
|
affinity: {}
|
|
# The jvm options for java instance startup
|
|
jvmOptions: ""
|
|
resources: {}
|
|
# limits:
|
|
# memory: "4Gi"
|
|
# cpu: "1"
|
|
# requests:
|
|
# memory: "2Gi"
|
|
# cpu: "500m"
|
|
# You can use annotations to attach arbitrary non-identifying metadata to objects.
|
|
# Clients such as tools and libraries can retrieve this metadata.
|
|
annotations: {}
|
|
## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
configmap:
|
|
ALERT_PLUGIN_DIR: "/opt/dolphinscheduler/alert/plugin"
|
|
XLS_FILE_PATH: "/tmp/xls"
|
|
MAIL_SERVER_HOST: ""
|
|
MAIL_SERVER_PORT: ""
|
|
MAIL_SENDER: ""
|
|
MAIL_USER: ""
|
|
MAIL_PASSWD: ""
|
|
MAIL_SMTP_STARTTLS_ENABLE: false
|
|
MAIL_SMTP_SSL_ENABLE: false
|
|
MAIL_SMTP_SSL_TRUST: ""
|
|
ENTERPRISE_WECHAT_ENABLE: false
|
|
ENTERPRISE_WECHAT_CORP_ID: ""
|
|
ENTERPRISE_WECHAT_SECRET: ""
|
|
ENTERPRISE_WECHAT_AGENT_ID: ""
|
|
ENTERPRISE_WECHAT_USERS: ""
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
## volumeClaimTemplates is a list of claims that pods are allowed to reference.
|
|
## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
|
|
## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
|
|
## A claim in this list takes precedence over any volumes in the template, with the same name.
|
|
persistentVolumeClaim:
|
|
enabled: false
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
storageClassName: "-"
|
|
storage: "20Gi"
|
|
|
|
api:
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
rollingUpdate:
|
|
maxSurge: "25%"
|
|
maxUnavailable: "25%"
|
|
replicas: "1"
|
|
# NodeSelector is a selector which must be true for the pod to fit on a node.
|
|
# Selector which must match a node's labels for the pod to be scheduled on that node.
|
|
# More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
|
nodeSelector: {}
|
|
# Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
|
|
# effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
|
|
tolerations: []
|
|
# Affinity is a group of affinity scheduling rules.
|
|
# If specified, the pod's scheduling constraints.
|
|
# More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
|
|
affinity: {}
|
|
# The jvm options for java instance startup
|
|
jvmOptions: ""
|
|
resources: {}
|
|
# limits:
|
|
# memory: "4Gi"
|
|
# cpu: "2"
|
|
# requests:
|
|
# memory: "2Gi"
|
|
# cpu: "500m"
|
|
# You can use annotations to attach arbitrary non-identifying metadata to objects.
|
|
# Clients such as tools and libraries can retrieve this metadata.
|
|
annotations: {}
|
|
## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
## volumeClaimTemplates is a list of claims that pods are allowed to reference.
|
|
## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
|
|
## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
|
|
## A claim in this list takes precedence over any volumes in the template, with the same name.
|
|
persistentVolumeClaim:
|
|
enabled: false
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
storageClassName: "-"
|
|
storage: "20Gi"
|
|
|
|
frontend:
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
rollingUpdate:
|
|
maxSurge: "25%"
|
|
maxUnavailable: "25%"
|
|
replicas: "1"
|
|
# NodeSelector is a selector which must be true for the pod to fit on a node.
|
|
# Selector which must match a node's labels for the pod to be scheduled on that node.
|
|
# More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
|
nodeSelector: {}
|
|
# Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
|
|
# effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
|
|
tolerations: []
|
|
# Affinity is a group of affinity scheduling rules.
|
|
# If specified, the pod's scheduling constraints.
|
|
# More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
|
|
affinity: {}
|
|
resources: {}
|
|
# limits:
|
|
# memory: "256Mi"
|
|
# cpu: "1"
|
|
# requests:
|
|
# memory: "256Mi"
|
|
# cpu: "500m"
|
|
# You can use annotations to attach arbitrary non-identifying metadata to objects.
|
|
# Clients such as tools and libraries can retrieve this metadata.
|
|
annotations: {}
|
|
## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
|
|
## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: "30"
|
|
periodSeconds: "30"
|
|
timeoutSeconds: "5"
|
|
failureThreshold: "3"
|
|
successThreshold: "1"
|
|
## volumeClaimTemplates is a list of claims that pods are allowed to reference.
|
|
## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
|
|
## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
|
|
## A claim in this list takes precedence over any volumes in the template, with the same name.
|
|
persistentVolumeClaim:
|
|
enabled: false
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
storageClassName: "-"
|
|
storage: "20Gi"
|
|
|
|
ingress:
|
|
enabled: false
|
|
host: "dolphinscheduler.org"
|
|
path: "/"
|
|
tls:
|
|
enabled: false
|
|
hosts:
|
|
- "dolphinscheduler.org"
|
|
secretName: "dolphinscheduler-tls" |