十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

基于 Rainbond 云原生应用管理平台一键部署 DolphinScheduler 高可用集群

基于 Rainbond 云原生应用管理平台一键部署 DolphinScheduler 高可用集群 基于 Rainbond 云原生应用管理平台一键部署 DolphinScheduler 高可用集群【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler本文是一份基于 Rainbond 云原生应用管理平台一键部署 Apache DolphinScheduler 高可用集群的实战指南。文中以 Rainbond 部署指南 为主线完整覆盖了从应用商店检索、安装参数填写、集群拓扑确认到 API/Master/Worker 多实例伸缩、共享配置管理和 Python/Hadoop/Spark/DataX 等运行时能力扩展的完整链路。读完本文你将掌握一条无需直接接触 Kubernetes 底层细节、即可在几分钟内获得一套生产可用 DolphinScheduler 高可用集群的部署路径并能结合仓库源码理解其存储、配置与环境变量机制。为什么选择 Rainbond 部署 DolphinSchedulerDolphinScheduler 在生产环境中通常由 API Server、Master Server、Worker Server、Alert Server 四个角色组成原生 Kubernetes 部署方式参见 Kubernetes 部署指南要求使用者熟悉 Helm Chart、StatefulSet、ConfigMap 等一批概念对不太了解 Kubernetes 和容器化技术的用户存在明显门槛。Rainbond 是一款云原生应用管理平台它将 K8s 上的应用抽象为可视化的组件与拓扑关系支持通过开源应用商店以点选方式安装完整应用。DolphinScheduler 官方已将应用发布到 Rainbond 开源应用商店用户只需三步——搜索、填表、等待——即可完成部署安装完成后还能在拓扑视图中直接对 API、Master、Worker 组件进行伸缩与配置管理。这正是本文所选方案的适用场景面向不熟悉容器底层技术、但需要快速获得高可用编排平台的中小团队与个人用户。前提条件开始部署前需要准备一个可用的 Rainbond 云原生应用管理平台。若尚未安装请先参照 Rainbond 官方快速安装文档完成平台的初始化一般需要一台可访问的 Linux 服务器并确保 80/443 等端口可被外部访问。平台就绪后即可进入下述一键部署流程。DolphinScheduler 集群一键部署整个安装过程在 Rainbond 控制台中完成无需编写任何 YAML 或 Helm 命令具体步骤如下。1. 在开源应用商店中搜索应用进入 Rainbond 的平台管理 - 应用市场 - 开源应用商店在搜索框中输入dolphinscheduler即可找到 DolphinScheduler 应用条目。2. 填写安装信息点击应用右侧的安装按钮进入应用安装页面。需要填写的关键信息如下选择项说明团队名称用户自建的工作空间以命名空间隔离集群名称选择 DolphinScheduler 被部署到哪一个 K8s 集群选择应用选择 DolphinScheduler 被部署到哪一个应用应用中包含有若干有关联的组件应用版本选择 DolphinScheduler 的版本其中选择应用即 Rainbond 的应用聚合概念DolphinScheduler 的 API、Master、Worker、Alert 等组件会被集中纳入所选应用名下便于统一查看拓扑与日志。确认无误后点击确定平台会自动跳转至应用视图并开始安装。3. 等待安装完成安装过程需要拉取镜像、初始化元数据库、创建服务组件一般等待几分钟后即可完成。安装完成后应用视图中可以看到由 API、Master、Worker、Alert 等组件组成的完整拓扑关系图各组件之间的依赖关系一目了然。说明应用商店中发布的镜像与仓库 dolphinscheduler-dist 的 Dockerfile 保持一致各组件容器统一以/opt/dolphinscheduler为安装目录并通过start.sh脚本启动服务。4. 通过默认域名访问点击应用内 DolphinScheduler-API 组件的访问按钮即可通过 Rainbond 默认分配的域名访问 DolphinScheduler Web 控制台。默认登录账号为用户名admin密码dolphinscheduler123安全提示首次登录后请务必在安全中心中修改默认管理员密码。默认账号信息仅用于初始体验生产环境应通过 安全认证配置PASSWORD/LDAP/Casdoor 等接入企业账号体系。API / Master / Worker 节点伸缩让集群真正高可用DolphinScheduler 的 API、Master、Worker 三个角色都支持多实例部署多个实例通过注册中心默认 Zookeeper协调实现调度与执行的故障转移从而保证整个集群的高可用性。在 Rainbond 中伸缩操作被简化为设置副本数。以 Worker 为例进入 Worker 组件内部 -伸缩页面设置实例数量为大于 1 的值例如 3平台会自动完成副本的调度与负载均衡。验证伸缩是否生效进入 DolphinScheduler UI -监控中心 - Worker页面即可看到所有已注册的 Worker 节点及其心跳状态、负载信息。从源码角度看这种高可用能力建立在注册中心机制之上。各服务通过 Zookeeper 等注册中心完成节点注册、心跳上报与故障发现参见 注册中心相关配置 中的registry.zookeeper.*参数族Master 节点会根据 Worker 的动态负载CPU/内存/线程池使用率见master.worker-load-balancer-configuration-properties.typeDYNAMIC_WEIGHTED_ROUND_ROBIN将任务分发到负载最低的 Worker。因此当某个 Master 或 Worker 实例宕机时其余实例会自动接管其任务这正是多副本 高可用的底层逻辑。配置管理理解共享的 common.propertiesRainbond 部署的应用内组件共享同一个持久化数据卷。具体到 DolphinSchedulerAPI 和 Worker 服务共用/opt/dolphinscheduler/conf/common.properties修改配置时只需修改 API 服务的配置文件即可修改后更新组件即可让 Worker 同步生效。仓库 docker-compose.yml 中同样体现了这一共享思想API、Master、Worker 组件都挂载了dolphinscheduler-shared-local:/opt/soft共享软件目录如 DataX 等与dolphinscheduler-resource-local:/dolphinscheduler资源中心本地存储Worker 还额外挂载了dolphinscheduler-worker-data:/tmp/dolphinscheduler任务执行临时目录。common.properties是 DolphinScheduler 的公共服务配置存储、Hadoop/Yarn 等各角色的默认位置与完整参数说明见 配置文件详解。以下是 Rainbond 场景下最常涉及的几个关键参数参数默认值说明data.basedir.path/tmp/dolphinscheduler本地工作目录用于存放临时文件resource.storage.typeNONE资源文件存储类型HDFS、S3、OSS、GCS、ABS、NONEresource.upload.path/dolphinscheduler资源文件存储路径hdfs.root.userhdfs存储类型为 HDFS 时需配置拥有对应操作权限的用户fs.defaultFShdfs://mycluster:8020HDFS 请求地址若为 S3形如s3a://dolphinschedulersupport.hive.oneSessionfalse设置 Hive SQL 是否在同一个 session 中执行sudo.enabletrue是否开启 sudo其中resource.storage.type的底层读取逻辑可在 Constants.java 中看到RESOURCE_STORAGE_TYPE resource.storage.type各存储类型的完整对接方式本地文件系统、AWS S3、阿里云 OSS、华为云 OBS、腾讯云 COS可参考 资源中心配置详情。例如对接 S3 时需在 API 与 Worker 两侧的common.properties中同时配置否则上传可用但工作流无法执行。如何支持 Python 3Worker 服务默认已在镜像中安装了 Python3因此开箱即用。使用时只需为 Worker 组件添加环境变量PYTHON_LAUNCHER/usr/bin/python3该环境变量的作用机制在源码中清晰可见Python 任务类型在执行时会优先使用PYTHON_LAUNCHER指定的解释器。见 PythonTask.java 的buildPythonExecuteCommand方法——它通过${PYTHON_LAUNCHER}占位符拼接出实际的 Python 执行命令同理DataX 任务也是通过${PYTHON_LAUNCHER} ${DATAX_LAUNCHER} ...组合出提交命令见 DataxTask.java。这与你用bin/env/dolphinscheduler_env.sh设置export PYTHON_LAUNCHER${PYTHON_LAUNCHER:-/opt/soft/python}见 环境变量配置的效果一致——在 Rainbond 中只是把改脚本换成了加环境变量更直观也更容易回滚。如何支持 Hadoop、Spark、DataX 等这些外部计算引擎并不内置于 DolphinScheduler 镜像需要在 Worker 上提前准备运行环境。以 DataX 为例推荐使用 Rainbond 的通用数据初始化插件在 Worker 组件初始化时自动下载并解压安装插件Rainbond 团队视图 - 插件 - 从应用商店安装插件 - 搜索通用数据初始化插件并安装。开通插件进入 Worker 组件内 - 插件 - 开通通用数据初始化插件并修改配置FILE_URLhttp://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gzFILE_PATH/opt/softLOCK_PATH/opt/soft更新组件初始化插件会自动下载 DataX 并解压到/opt/soft目录。之所以解压到/opt/soft正是因为它对应上文提到的共享数据卷dolphinscheduler-shared-local:/opt/soft——该目录会被 API、Master、Worker 组件共同挂载。与此同时还需要为 Worker 配置相应的环境变量或修改dolphinscheduler_env.sh如export DATAX_LAUNCHER/opt/soft/datax/bin/datax.py、export HADOOP_HOME...、export SPARK_HOME...等使PATH中包含各引擎的可执行文件。Hadoop、Spark、Flink、Hive 等引擎的初始化方式与 DataX 完全一致下载引擎包到/opt/soft并配置对应环境变量即可。总结通过 Rainbond 开源应用商店部署 DolphinScheduler将原本需要熟悉 Helm、K8s 概念的专业操作压缩为搜索 - 安装 - 伸缩三个可视化动作大幅降低了容器化部署门槛而 API/Master/Worker 的多副本伸缩与 Rainbond 应用级共享存储又保证了集群的高可用性与配置一致性。理解common.properties、PYTHON_LAUNCHER环境变量与/opt/soft共享目录三者的关系就能在 Rainbond 上把 Python、Hadoop、Spark、DataX 等运行时能力顺畅地接入 DolphinScheduler构建出真正贴近生产环境的低代码数据编排平台。【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表