DolphinScheduler 支持将资源文件存储在 HDFS 或对象存储中,可根据业务需要在集群创建时或运行中进行切换。系统默认使用 /dolphinscheduler 作为资源目录。若需切换存储模式或修改路径,可通过修改 common.properties 中的参数完成。本文为您介绍设置资源路径的最佳方式。
创建集群时:DolphinScheduler 的资源路径支持 HDFS 与 TOS 两种存储模式。
集群运行时:支持切换到 HDFS、TOS、S3、MinIO、OSS 等 DolphinScheduler 官方支持的存储类型,详细信息请参见DolphinScheduler 资源中心配置详情。
创建集群详细操作和参数说明请参见创建集群。
集群的 DolphinScheduler 资源路径设置支持两种存储模式:HDFS、TOS。
集群存储根路径 +/dolphinscheduler。集群存储根路径支持 HDFS 或 TOS,若需设置为 HDFS 路径时,请开启 HDFS 服务。resource.hdfs.fs.defaultFS + /dolphinscheduler。在配置路径前,您需要开通 TOS 服务并准备好一个 TOS bucket。详细操作请参见创建存储桶。
注意事项 | 说明 |
|---|---|
权限准备 | 您需要获取有访问 TOS 权限的访问秘钥 AK、SK,通过 AK、SK 来实现挂载加密认证。 |
网络/地域要求 | 您需要保障 TOS bucket 的地域与 EMR 集群 VPC 在同一个地域。 |
在创建集群>高级配置>自定义参数中为DOLPHIN_SCHEDULER传入common.properties的参数 resource.tos.full.upload.path:
[ { "serviceName": "DOLPHIN_SCHEDULER", "fileName": "common.properties", "key": "resource.tos.full.upload.path", "value": "tos://<your_tos_bucket>/<your_tos_dir>/dolphinscheduler" } ]
注意
在配置此项前,请确保您填写的 TOS 路径真实存在,并且当前账号拥有对该路径的读写权限。
集群运行时,支持修改 DolphinScheduler 的资源路径。DolphinScheduler 官方支持的存储类型均可配置,包括:HDFS、TOS、S3、MinIO(S3 兼容)、OSS。
注意
切换存储后端后,原路径下的资源文件不会自动迁移,需手动将原存储路径的文件迁移至新路径,否则原有资源将无法访问。
在**服务列表> DolphinScheduler >服务参数> common.properties **中,添加参数,示例配置见下文,配置保存后需重启 api-server 与 worker-server,配置方可生效。
# 资源存储类型,支持 HDFS、S3、OSS、NONE resource.storage.type=HDFS # 资源在存储上的基础路径,请确保该目录存在且当前用户具有读写权限,推荐使用默认的 /dolphinscheduler resource.storage.upload.base.path=/dolphinscheduler # 访问 HDFS 使用的用户,需具备在 HDFS 根路径下创建目录的权限 resource.hdfs.root.user=hdfs # HDFS 的默认文件系统地址 resource.hdfs.fs.defaultFS=hdfs://master-1-1xxx
说明
配置前,请准备一个 TOS buckect,详细操作请参见准备工作。
# 资源存储类型:HDFS、S3、OSS、NONE(TOS 以 HDFS 兼容接口接入,保持 HDFS 即可) resource.storage.type=HDFS # 资源在存储上的基础路径,请确保该目录存在且当前用户具有读写权限,推荐使用 /dolphinscheduler resource.storage.upload.base.path=/dolphinscheduler # 访问用户;TOS 场景下保持默认即可 resource.hdfs.root.user=hdfs # 资源存储路径,格式为 tos://${tos_bucket} resource.hdfs.fs.defaultFS=tos://${tos_bucket} # TOS Bucket 所在 Region 的 Endpoint(以北京为例,同 Region 建议使用内网域名,跨 Region 使用公网域名) fs.tos.endpoint=tos-cn-beijing.volces.com # TOS Bucket 所在 Region fs.tos.region=cn-beijing # 访问 TOS 使用的 AK/SK fs.tos.access-key-id=<your-access-key-id> fs.tos.secret-access-key=<your-secret-access-key>
# 资源存储类型:HDFS、S3、OSS、NONE resource.storage.type=S3 # 资源在存储上的基础路径,请确保该目录存在且当前用户具有读写权限,推荐使用默认的 /dolphinscheduler resource.storage.upload.base.path=/dolphinscheduler # 访问 S3 使用的 AK/SK resource.aws.access.key.id=<your-access-key-id> resource.aws.secret.access.key=<your-secret-access-key> # S3 Bucket 所在 Region resource.aws.region=cn-north-1 # 存放 DolphinScheduler 资源的 S3 Bucket 名称 resource.aws.s3.bucket.name=dolphinscheduler # S3 服务的 Endpoint(AWS 中国区示例;不同区域请替换为对应地址) resource.aws.s3.endpoint=https://s3.cn-north-1.amazonaws.com.cn # 资源存储路径,格式为 s3a://${bucket} resource.hdfs.fs.defaultFS=s3a://dolphinscheduler
MinIO 与 S3 协议兼容,配置时 resource.storage.type 设置为 S3,并把 resource.aws.s3.endpoint 指向 MinIO 服务地址即可。
# 资源存储类型:MinIO 与 S3 协议兼容,此处填 S3 resource.storage.type=S3 # 资源在存储上的基础路径,请确保该目录存在且当前用户具有读写权限,推荐使用默认的 /dolphinscheduler resource.storage.upload.base.path=/dolphinscheduler # 访问 MinIO 使用的 AK/SK(对应 MinIO 的 accessKey / secretKey) resource.aws.access.key.id=<minio-access-key> resource.aws.secret.access.key=<minio-secret-key> # MinIO 部署声明的 region,自建集群通常填 us-east-1 resource.aws.region=us-east-1 # 存放 DolphinScheduler 资源的 Bucket 名称 resource.aws.s3.bucket.name=dolphinscheduler # MinIO 服务的访问地址 resource.aws.s3.endpoint=http://<minio-host>:9000 # 资源存储路径,格式为 s3a://${bucket} resource.hdfs.fs.defaultFS=s3a://dolphinscheduler
# 资源存储类型:HDFS、S3、OSS、NONE resource.storage.type=OSS # 资源在存储上的基础路径,请确保该目录存在且当前用户具有读写权限,推荐使用默认的 /dolphinscheduler resource.storage.upload.base.path=/dolphinscheduler # 访问阿里云 OSS 使用的 AK/SK resource.alibaba.cloud.access.key.id=<your-access-key-id> resource.alibaba.cloud.access.key.secret=<your-access-key-secret> # OSS Bucket 所在 Region resource.alibaba.cloud.region=cn-hangzhou # 存放 DolphinScheduler 资源的 OSS Bucket 名称 resource.alibaba.cloud.oss.bucket.name=dolphinscheduler # OSS 服务的 Endpoint(以杭州为例,不同区域请替换为对应地址) resource.alibaba.cloud.oss.endpoint=https://oss-cn-hangzhou.aliyuncs.com