前言
本文系統梳理 Apache DolphinScheduler 3.3.2 各服務(master/worker/api/alert/standalone)目錄、JVM、數據源、註冊中心、存儲、Quartz、環境變量及日誌等關鍵配置項、默認值與作用,為部署調優提供一站式參考。
目錄結構
├── LICENSE
│
├── NOTICE
│
├── licenses # licenses存放目錄
│
├── bin # DolphinScheduler命令和環境變量配置存放目錄
│ ├── dolphinscheduler-daemon.sh # 啓動/關閉DolphinScheduler服務腳本
│ ├── env # 環境變量配置存放目錄
│ │ ├── dolphinscheduler_env.sh # 當使用`dolphinscheduler-daemon.sh`腳本起停服務時,運行此腳本加載環境變量配置文件 [如:JAVA_HOME,HADOOP_HOME, HIVE_HOME ...]
│
├── alert-server # DolphinScheduler alert-server命令、配置和依賴存放目錄
│ ├── bin
│ │ └── start.sh # DolphinScheduler alert-server啓動腳本
│ │ └── jvm_args_env.sh # DolphinScheduler alert-server jvm參數配置腳本
│ ├── conf
│ │ ├── application.yaml # alert-server配置文件
│ │ ├── bootstrap.yaml # Spring Cloud 啓動階段配置文件, 通常不需要修改
│ │ ├── common.properties # 公共服務(存儲等信息)配置文件
│ │ ├── dolphinscheduler_env.sh # alert-server環境變量配置加載腳本
│ │ └── logback-spring.xml # alert-service日誌配置文件
│ └── libs # alert-server依賴jar包存放目錄
│
├── api-server # DolphinScheduler api-server命令、配置和依賴存放目錄
│ ├── bin
│ │ └── start.sh # DolphinScheduler api-server啓動腳本
│ │ └── jvm_args_env.sh # DolphinScheduler api-server jvm參數配置腳本
│ ├── conf
│ │ ├── application.yaml # api-server配置文件
│ │ ├── bootstrap.yaml # Spring Cloud 啓動階段配置文件, 通常不需要修改
│ │ ├── common.properties # 公共服務(存儲等信息)配置文件
│ │ ├── dolphinscheduler_env.sh # api-server環境變量配置加載腳本
│ │ └── logback-spring.xml # api-service日誌配置文件
│ ├── libs # api-server依賴jar包存放目錄
│ └── ui # api-server相關前端WEB資源存放目錄
│
├── master-server # DolphinScheduler master-server命令、配置和依賴存放目錄
│ ├── bin
│ │ └── start.sh # DolphinScheduler master-server啓動腳本
│ │ └── jvm_args_env.sh # DolphinScheduler master-server jvm參數配置腳本
│ ├── conf
│ │ ├── application.yaml # master-server配置文件
│ │ ├── bootstrap.yaml # Spring Cloud 啓動階段配置文件, 通常不需要修改
│ │ ├── common.properties # 公共服務(存儲等信息)配置文件
│ │ ├── dolphinscheduler_env.sh # master-server環境變量配置加載腳本
│ │ └── logback-spring.xml # master-service日誌配置文件
│ └── libs # master-server依賴jar包存放目錄
│
├── standalone-server # DolphinScheduler standalone-server命令、配置和依賴存放目錄
│ ├── bin
│ │ └── start.sh # DolphinScheduler standalone-server啓動腳本
│ │ └── jvm_args_env.sh # DolphinScheduler standalone-server jvm參數配置腳本
│ ├── conf
│ │ ├── application.yaml # standalone-server配置文件
│ │ ├── bootstrap.yaml # Spring Cloud 啓動階段配置文件, 通常不需要修改
│ │ ├── common.properties # 公共服務(存儲等信息)配置文件
│ │ ├── dolphinscheduler_env.sh # standalone-server環境變量配置加載腳本
│ │ ├── logback-spring.xml # standalone-service日誌配置文件
│ │ └── sql # DolphinScheduler元數據創建/升級sql文件
│ ├── libs # standalone-server依賴jar包存放目錄
│ └── ui # standalone-server相關前端WEB資源存放目錄
│
|
├── tools # DolphinScheduler元數據工具命令、配置和依賴存放目錄
│ ├── bin
│ │ └── upgrade-schema.sh # DolphinScheduler元數據創建/升級腳本
│ ├── conf
│ │ ├── application.yaml # 元數據工具配置文件
│ │ └── common.properties # 公共服務(存儲等信息)配置文件
│ ├── libs # 元數據工具依賴jar包存放目錄
│ └── sql # DolphinScheduler元數據創建/升級sql文件
│
|
├── worker-server # DolphinScheduler worker-server命令、配置和依賴存放目錄
│ ├── bin
│ │ └── start.sh # DolphinScheduler worker-server 啓動腳本
│ │ └── jvm_args_env.sh # DolphinScheduler worker-server jvm參數配置腳本
│ ├── conf
│ │ ├── application.yaml # worker-server配置文件
│ │ ├── bootstrap.yaml # Spring Cloud 啓動階段配置文件, 通常不需要修改
│ │ ├── common.properties # 公共服務(存儲等信息)配置文件
│ │ ├── dolphinscheduler_env.sh # worker-server環境變量配置加載腳本
│ │ └── logback-spring.xml # worker-service日誌配置文件
│ └── libs # worker-server依賴jar包存放目錄
│
└── ui # 前端WEB資源目錄
啓動腳本配置
dolphinscheduler-daemon.sh
dolphinscheduler-daemon.sh 腳本負責 DolphinScheduler 的啓動&關閉。start-all.sh/stop-all.sh 最終也是通過 dolphinscheduler-daemon.sh 對集羣進行啓動/關閉操作。目前 DolphinScheduler 只是做了一個基本的設置,JVM 參數請根據各自資源的實際情況自行設置。
默認簡化參數如下:
export DOLPHINSCHEDULER_OPTS="
-server
-Xmx16g
-Xms1g
-Xss512k
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:+UseFastAccessorMethods
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=70
"
注意事項:
- 不建議設置 "-XX:DisableExplicitGC",DolphinScheduler 使用 Netty 進行通訊,設置該參數可能會導致內存泄漏。
- 如果設置 "-Djava.net.preferIPv6Addresses=true" 將會使用 ipv6 的 IP 地址
- 如果設置 "-Djava.net.preferIPv4Addresses=true" 將會使用 ipv4 的 IP 地址
- 如果都不設置,將會隨機使用 ipv4 或者 ipv6
數據庫連接配置
在 DolphinScheduler 中使用 Spring Hikari 對數據庫連接進行管理,配置文件位置:
| 服務名稱 | 配置文件 |
|---|---|
| Master Server | master-server/conf/application.yaml |
| Api Server | api-server/conf/application.yaml |
| Worker Server | worker-server/conf/application.yaml |
| Alert Server | alert-server/conf/application.yaml |
默認配置
| 參數 | 默認值 | 描述 |
|---|---|---|
| spring.datasource.driver-class-name | org.postgresql.Driver | 數據庫驅動 |
| spring.datasource.url | jdbc:postgresql://127.0.0.1:5432/dolphinscheduler | 數據庫連接地址 |
| spring.datasource.username | root | 數據庫用户名 |
| spring.datasource.password | root | 數據庫密碼 |
| spring.datasource.hikari.connection-test-query | select 1 | 檢測連接是否有效的sql |
| spring.datasource.hikari.minimum-idle | 5 | 最小空閒連接池數量 |
| spring.datasource.hikari.auto-commit | true | 是否自動提交 |
| spring.datasource.hikari.pool-name | DolphinScheduler | 連接池名稱 |
| spring.datasource.hikari.maximum-pool-size | 50 | 連接池最大連接數 |
| spring.datasource.hikari.connection-timeout | 30000 | 連接超時時長 |
| spring.datasource.hikari.idle-timeout | 600000 | 空閒連接存活最大時間 |
| spring.datasource.hikari.leak-detection-threshold | 連接泄露檢測閾值 | |
| spring.datasource.hikari.initialization-fail-timeout | 1 | 連接池初始化失敗timeout |
注意: DolphinScheduler 同樣可以通過設置環境變量進行數據庫連接相關的配置,將以上小寫字母轉成大寫並把.換成_作為環境變量名,設置值即可。
註冊中心配置
DolphinScheduler 默認使用 Zookeeper 進行集羣管理、容錯、事件監聽等功能,配置文件位置:
| 服務名稱 | 配置文件 |
|---|---|
| Master Server | master-server/conf/application.yaml |
| Api Server | api-server/conf/application.yaml |
| Worker Server | worker-server/conf/application.yaml |
默認配置
| 參數 | 默認值 | 描述 |
|---|---|---|
| registry.zookeeper.namespace | dolphinscheduler | Zookeeper集羣使用的namespace |
| registry.zookeeper.connect-string | localhost:2181 | Zookeeper集羣連接信息 |
| registry.zookeeper.retry-policy.base-sleep-time | 60ms | 基本重試時間差 |
| registry.zookeeper.retry-policy.max-sleep | 300ms | 最大重試時間 |
| registry.zookeeper.retry-policy.max-retries | 5 | 最大重試次數 |
| registry.zookeeper.session-timeout | 30s | session超時時間 |
| registry.zookeeper.connection-timeout | 30s | 連接超時時間 |
| registry.zookeeper.block-until-connected | 600ms | 阻塞直到連接成功的等待時間 |
| registry.zookeeper.digest | {用户名:密碼} | 如果zookeeper打開了acl,則需要填寫認證信息訪問znode,認證信息格式為{用户名}:{密碼} |
注意:
- DolphinScheduler 同樣可以通過 bin/env/dolphinscheduler_env.sh 進行 Zookeeper 相關的配置
- 如果使用 etcd 作為註冊中心,詳細請參考鏈接
- 如果使用 jdbc 作為註冊中心,詳細請參考鏈接
common.properties 配置
common.properties 配置文件目前主要是配置 hadoop/s3/yarn/applicationId 收集相關的配置,配置文件位置:
| 服務名稱 | 配置文件 |
|---|---|
| Master Server | master-server/conf/common.properties |
| Api Server | api-server/conf/common.properties |
| Worker Server | worker-server/conf/common.properties |
| Alert Server | alert-server/conf/common.properties |
默認配置
| 參數 | 默認值 | 描述 |
|---|---|---|
| data.basedir.path | /tmp/dolphinscheduler | 本地工作目錄,用於存放臨時文件 |
| resource.storage.type | NONE | 資源文件存儲類型: HDFS,S3,OSS,GCS,ABS,NONE |
| resource.upload.path | /dolphinscheduler | 資源文件存儲路徑 |
| aws.access.key.id | minioadmin | S3 access key |
| aws.secret.access.key | minioadmin | S3 secret access key |
| aws.region | us-east-1 | S3 區域 |
| aws.s3.endpoint | http://minio:9000 | S3 endpoint地址 |
| hdfs.root.user | hdfs | 如果存儲類型為HDFS,需要配置擁有對應操作權限的用户 |
| fs.defaultFS | hdfs://mycluster:8020 | 請求地址如果resource.storage.type=S3,該值類似為: s3a://dolphinscheduler。如果resource.storage.type=HDFS,如果hadoop配置了HA,需要複製core-site.xml和hdfs-site.xml文件到conf目錄 |
| hadoop.security.authentication.startup.state | false | hadoop是否開啓kerberos權限 |
| java.security.krb5.conf.path | /opt/krb5.conf | kerberos配置目錄 |
| login.user.keytab.username | hdfs-mycluster@ESZ.COM | kerberos登錄用户 |
| login.user.keytab.path | /opt/hdfs.headless.keytab | kerberos登錄用户keytab |
| kerberos.expire.time | 2 | kerberos過期時間,整數,單位為小時 |
| yarn.resourcemanager.ha.rm.ids | 192.168.xx.xx,192.168.xx.xx | yarn resourcemanager地址,如果resourcemanager開啓了HA,輸入HA的IP地址(以逗號分隔),如果resourcemanager為單節點,該值為空即可 |
| yarn.application.status.address | http://ds1:8088/ws/v1/cluster/apps/%s | 如果resourcemanager開啓了HA或者沒有使用resourcemanager,保持默認值即可。如果resourcemanager為單節點,你需要將ds1配置為resourcemanager對應的hostname |
| development.state | false | 是否處於開發模式 |
| dolphin.scheduler.network.interface.preferred | NONE | 將會被使用的網卡名稱 |
| dolphin.scheduler.network.interface.restrict | NONE | 禁止使用的網卡名稱 |
| dolphin.scheduler.network.priority.strategy | default | ip獲取策略 default優先獲取內網 |
| resource.manager.httpaddress.port | 8088 | resource manager的端口 |
| yarn.job.history.status.address | http://ds1:19888/ws/v1/history/mapreduce/jobs/%s | yarn的作業歷史狀態URL |
| datasource.encryption.enable | false | 是否啓用datasource加密 |
| datasource.encryption.salt | !@#$%^&* | datasource加密使用的salt |
| support.hive.oneSession | false | 設置hive SQL是否在同一個session中執行 |
| sudo.enable | true | 是否開啓sudo |
| zeppelin.rest.url | http://localhost:8080 | zeppelin RESTful API 接口地址 |
| appId.collect | log | 收集applicationId方式,如果用aop方法,將配置log替換為aop,並將bin/env/dolphinscheduler_env.sh自動收集applicationId相關環境變量配置的註釋取消掉 |
Api-server 相關配置
位置: api-server/conf/application.yaml
| 參數 | 默認值 | 描述 |
|---|---|---|
| server.port | 12345 | api服務通訊端口 |
| server.servlet.session.timeout | 120m | session超時時間 |
| server.servlet.context-path | /dolphinscheduler/ | 請求路徑 |
| spring.servlet.multipart.max-file-size | 1024MB | 最大上傳文件大小 |
| spring.servlet.multipart.max-request-size | 1024MB | 最大請求大小 |
| server.jetty.max-http-post-size | 5000000 | jetty服務最大發送請求大小 |
| spring.banner.charset | UTF-8 | 請求編碼 |
| spring.jackson.time-zone | UTC | 設置時區 |
| spring.jackson.date-format | "yyyy-MM-dd HH:mm:ss" | 設置時間格式 |
| spring.messages.basename | i18n/messages | i18n配置 |
| security.authentication.type | PASSWORD | 權限校驗類型 |
| security.authentication.ldap.user.admin | read-only-admin | LDAP登陸時,系統管理員賬號 |
| security.authentication.ldap.urls | ldap://ldap.forumsys.com:389/ | LDAP urls |
| security.authentication.ldap.base.dn | dc=example,dc=com | LDAP base dn |
| security.authentication.ldap.username | cn=read-only-admin,dc=example,dc=com | LDAP賬號 |
| security.authentication.ldap.password | password | LDAP密碼 |
| security.authentication.ldap.user.identity-attribute | uid | LDAP用户身份標識字段名 |
| security.authentication.ldap.user.email-attribute | LDAP郵箱字段名 | |
| security.authentication.ldap.user.not-exist-action | CREATE | 當通過LDAP登陸時用户不存在的操作,默認值是: CREATE,可選值:CREATE、DENY |
| security.authentication.ldap.ssl.enable | false | LDAP ssl開關 |
| security.authentication.ldap.ssl.trust-store | ldapkeystore.jks | LDAP jks文件絕對路徑 |
| security.authentication.ldap.ssl.trust-store-password | password | LDAP jks密碼 |
| security.authentication.casdoor.user.admin | Casdoor登陸時,系統管理員賬號 | |
| casdoor.endpoint | Casdoor服務器URL | |
| casdoor.client-id | Casdoor中的ID | |
| casdoor.client-secret | Casdoor中的密鑰 | |
| casdoor.certificate | Casdoor中的證書 | |
| casdoor.organization-name | Casdoor中的組織名稱 | |
| casdoor.application-name | Casdoor中的應用名稱 | |
| casdoor.redirect-url | dolphinscheduler登錄URL | |
| api.traffic.control.global.switch | false | 流量控制全局開關 |
| api.traffic.control.max-global-qps-rate | 300 | 全局最大請求數/秒 |
| api.traffic.control.tenant-switch | false | 流量控制租户開關 |
| api.traffic.control.default-tenant-qps-rate | 10 | 默認租户最大請求數/秒限制 |
| api.traffic.control.customize-tenant-qps-rate | 自定義租户最大請求數/秒限制 |
Master Server 相關配置
位置: master-server/conf/application.yaml
| 參數 | 默認值 | 描述 |
|---|---|---|
| master.listen-port | 5678 | master監聽端口 |
| master.pre-exec-threads | 10 | master準備執行任務的數量,用於限制並行的command |
| master.exec-threads | 100 | master工作線程數量,用於限制並行的流程實例數量 |
| master.dispatch-task-number | 3 | master每個批次的派發任務數量 |
| master.worker-load-balancer-configuration-properties.type | DYNAMIC_WEIGHTED_ROUND_ROBIN | Master將會使用Worker的動態CPU/Memory/線程池使用率來計算Worker的負載,負載越低的worker將會有更高的機會被分發任務 |
| master.max-heartbeat-interval | 10s | master最大心跳間隔 |
| master.task-commit-retry-times | 5 | 任務重試次數 |
| master.task-commit-interval | 1000 | 任務提交間隔,單位為毫秒 |
| master.state-wheel-interval | 5 | 輪詢檢查狀態時間 |
| master.server-load-protection.enabled | true | 是否開啓系統保護策略 |
| master.server-load-protection.max-system-cpu-usage-percentage-thresholds | 0.7 | master最大系統cpu使用值,只有當前系統cpu使用值低於最大系統cpu使用值,master服務才能調度任務。默認值為0.7: 會使用70%的操作系統CPU |
| master.server-load-protection.max-jvm-cpu-usage-percentage-thresholds | 0.7 | master最大JVM cpu使用值,只有當前JVM cpu使用值低於最大JVM cpu使用值,master服務才能調度任務。默認值為0.7: 會使用70%的JVM CPU |
| master.server-load-protection.max-system-memory-usage-percentage-thresholds | 0.7 | master最大系統內存使用值,只有當前系統內存使用值低於最大系統內存使用值,master服務才能調度任務。默認值為0.7: 會使用70%的操作系統內存 |
| master.server-load-protection.max-disk-usage-percentage-thresholds | 0.7 | master最大系統磁盤使用值,只有當前系統磁盤使用值低於最大系統磁盤使用值,master服務才能調度任務。默認值為0.7: 會使用70%的操作系統磁盤空間 |
| master.server-load-protection.max-concurrent-workflow-instances | 2147483647 | Master最大併發工作流實例數。當Master的工作流實例數達到或超過此值時,Master服務將被標記為繁忙 |
| master.failover-interval | 10 | failover間隔,單位為分鐘 |
| master.kill-application-when-task-failover | true | 當任務實例failover時,是否kill掉yarn或k8s application |
| master.master.worker-group-refresh-interval | 10s | 定期將workerGroup從數據庫中同步到內存的時間間隔 |
| master.command-fetch-strategy.type | ID_SLOT_BASED | Command拉取策略,目前僅支持 ID_SLOT_BASED |
| master.command-fetch-strategy.config.id-step | 1 | 數據庫中t_ds_command的id自增步長 |
| master.command-fetch-strategy.config.fetch-size | 10 | master拉取command數量 |
Worker Server 相關配置
位置: worker-server/conf/application.yaml
| 參數 | 默認值 | 描述 |
|---|---|---|
| worker.listen-port | 1234 | worker監聽端口 |
| worker.max-heartbeat-interval | 10s | worker最大心跳間隔 |
| worker.host-weight | 100 | 派發任務時,worker主機的權重 |
| worker.tenant-auto-create | true | 租户對應於系統的用户,由worker提交作業。如果系統沒有該用户,則在參數worker.tenant.auto.create為true後自動創建。 |
| worker.server-load-protection.enabled | true | 是否開啓系統保護策略 |
| worker.server-load-protection.max-system-cpu-usage-percentage-thresholds | 0.8 | worker最大系統cpu使用值,只有當前系統cpu使用值低於最大系統cpu使用值,worker服務才能接收任務。默認值為0.8: 會使用80%的操作系統CPU |
| worker.server-load-protection.max-jvm-cpu-usage-percentage-thresholds | 0.8 | worker最大JVM cpu使用值,只有當前JVM cpu使用值低於最大JVM cpu使用值,worker服務才能接收任務。默認值為0.8: 會使用80%的JVM CPU |
| worker.server-load-protection.max-system-memory-usage-percentage-thresholds | 0.8 | worker最大系統內存使用值,只有當前系統內存使用值低於最大系統內存使用值,worker服務才能接收任務。默認值為0.8: 會使用80%的操作系統內存 |
| worker.server-load-protection.max-disk-usage-percentage-thresholds | 0.8 | worker最大系統磁盤使用值,只有當前系統磁盤使用值低於最大系統磁盤使用值,worker服務才能接收任務。默認值為0.8: 會使用80%的操作系統磁盤空間 |
| worker.alert-listen-host | localhost | alert監聽host |
| worker.alert-listen-port | 50052 | alert監聽端口 |
| worker.physical-task-config.task-executor-thread-size | 100 | Worker中任務最大併發度 |
| worker.tenant-config.auto-create-tenant-enabled | true | 租户對應於系統的用户,由worker提交作業。如果系統沒有該用户,則在參數worker.tenant.auto.create為true後自動創建。 |
| worker.tenant-config.default-tenant-enabled | false | 如果設置為true,將會使用worker服務啓動用户作為 default 租户。 |
Alert Server 相關配置
位置: alert-server/conf/application.yaml
| 參數 | 默認值 | 描述 |
|---|---|---|
| server.port | 50053 | Alert Server監聽端口 |
| alert.port | 50052 | alert監聽端口 |
Quartz 相關配置
這裏面主要是 quartz 配置,請結合實際業務場景&資源進行配置,本文暫時不做展開,配置文件位置:
| 服務名稱 | 配置文件 |
|---|---|
| Master Server | master-server/conf/application.yaml |
| Api Server | api-server/conf/application.yaml |
默認配置
| 參數 | 默認值 |
|---|---|
| spring.quartz.properties.org.quartz.jobStore.isClustered | true |
| spring.quartz.properties.org.quartz.jobStore.class | org.quartz.impl.jdbcjobstore.JobStoreTX |
| spring.quartz.properties.org.quartz.scheduler.instanceId | AUTO |
| spring.quartz.properties.org.quartz.jobStore.tablePrefix | QRTZ_ |
| spring.quartz.properties.org.quartz.jobStore.acquireTriggersWithinLock | true |
| spring.quartz.properties.org.quartz.scheduler.instanceName | DolphinScheduler |
| spring.quartz.properties.org.quartz.jobStore.useProperties | false |
| spring.quartz.properties.org.quartz.jobStore.misfireThreshold | 60000 |
| spring.quartz.properties.org.quartz.scheduler.makeSchedulerThreadDaemon | true |
| spring.quartz.properties.org.quartz.jobStore.driverDelegateClass | org.quartz.impl.jdbcjobstore.PostgreSQLDelegate |
| spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval | 5000 |
Quartz 線程池配置差異
Master Server 的 Quartz 線程池默認配置:
| 參數 | 默認值 |
|---|---|
| spring.quartz.properties.org.quartz.threadPool.makeThreadsDaemons | true |
| spring.quartz.properties.org.quartz.threadPool.threadCount | 25 |
| spring.quartz.properties.org.quartz.threadPool.threadPriority | 5 |
| spring.quartz.properties.org.quartz.threadPool.class | org.quartz.simpl.SimpleThreadPool |
Api Server 的 Quartz 線程池配置:
因為 Api Server 不會啓動 Quartz Scheduler 實例,只會作為 Scheduler 客户端使用,因此它的 Quartz 線程池將會使用 QuartzZeroSizeThreadPool。QuartzZeroSizeThreadPool 不會啓動任何線程。
| 參數 | 默認值 |
|---|---|
| spring.quartz.properties.org.quartz.threadPool.class | org.apache.dolphinscheduler.scheduler.quartz.QuartzZeroSizeThreadPool |
dolphinscheduler_env.sh 環境變量配置
通過類似 shell 方式提交任務的的時候,會加載該配置文件中的環境變量到主機中。涉及到的 JAVA_HOME 任務類型的環境配置,其中任務類型主要有:Shell 任務、Python 任務、Spark 任務、Flink 任務、Datax 任務等等。
# JAVA_HOME, will use it to start DolphinScheduler server
export JAVA_HOME=${JAVA_HOME:-/opt/soft/java}
# Tasks related configurations, need to change the configuration if you use the related tasks.
export HADOOP_HOME=${HADOOP_HOME:-/opt/soft/hadoop}
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-/opt/soft/hadoop/etc/hadoop}
export SPARK_HOME=${SPARK_HOME:-/opt/soft/spark}
export PYTHON_LAUNCHER=${PYTHON_LAUNCHER:-/opt/soft/python}
export HIVE_HOME=${HIVE_HOME:-/opt/soft/hive}
export FLINK_HOME=${FLINK_HOME:-/opt/soft/flink}
export DATAX_LAUNCHER=${DATAX_LAUNCHER:-/opt/soft/datax/bin/datax.py}
export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_LAUNCHER:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_LAUNCHER:$PATH
# applicationId auto collection related configuration, the following configurations are unnecessary if setting appId.collect=log
export HADOOP_CLASSPATH=`hadoop classpath`:${DOLPHINSCHEDULER_HOME}/tools/libs/*
export SPARK_DIST_CLASSPATH=$HADOOP_CLASSPATH:$SPARK_DIST_CLASS_PATH
export HADOOP_CLIENT_OPTS="-javaagent:${DOLPHINSCHEDULER_HOME}/tools/libs/aspectjweaver-1.9.7.jar":$HADOOP_CLIENT_OPTS
export SPARK_SUBMIT_OPTS="-javaagent:${DOLPHINSCHEDULER_HOME}/tools/libs/aspectjweaver-1.9.7.jar":$SPARK_SUBMIT_OPTS
export FLINK_ENV_JAVA_OPTS="-javaagent:${DOLPHINSCHEDULER_HOME}/tools/libs/aspectjweaver-1.9.7.jar":$FLINK_ENV_JAVA_OPTS
日誌相關配置
| 服務名稱 | 配置文件 |
|---|---|
| Master Server | master-server/conf/logback-spring.xml |
| Api Server | api-server/conf/logback-spring.xml |
| Worker Server | worker-server/conf/logback-spring.xml |
| Alert Server | alert-server/conf/logback-spring.xml |