当前位置: 首页 > article >正文

保姆级教程:在CentOS 7上从零部署DolphinScheduler 1.3.9集群(含MySQL 5.7和Zookeeper配置)

CentOS 7实战三节点DolphinScheduler 1.3.9集群部署全流程在数据仓库与大数据处理领域一个可靠的任务调度系统是数据流水线高效运转的核心枢纽。本文将手把手带您完成三节点CentOS 7环境下DolphinScheduler 1.3.9集群的完整部署涵盖从基础环境准备到服务联调的每个技术细节。1. 基础环境准备1.1 服务器规划建议对于生产级部署建议采用如下配置方案节点角色CPU内存磁盘网络数量MasterWorker8核16GBSSD 500GB万兆网卡1Worker16核32GBSSD 1TB万兆网卡2关键配置检查命令# 查看CPU信息 lscpu # 查看内存容量 free -h # 检查磁盘类型 lsblk -d -o name,rota1.2 系统级配置在所有节点执行以下初始化操作关闭防火墙与SELinuxsystemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config时间同步配置yum install -y ntpdate ntpdate ntp.aliyun.com echo */30 * * * * /usr/sbin/ntpdate ntp.aliyun.com /etc/crontab安装基础工具包yum install -y vim wget net-tools psmisc2. 依赖组件安装2.1 JDK 1.8部署推荐使用OpenJDK 8# 各节点统一安装 yum install -y java-1.8.0-openjdk-devel # 环境变量配置 echo export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk /etc/profile echo export PATH$JAVA_HOME/bin:$PATH /etc/profile source /etc/profile验证安装java -version2.2 MySQL 5.7集群部署主节点安装# 安装MySQL官方Yum源 rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm # 安装服务 yum install -y mysql-community-server # 启动服务 systemctl start mysqld systemctl enable mysqld # 获取临时密码 grep temporary password /var/log/mysqld.log # 安全配置 mysql_secure_installation数据库初始化CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER ds_user% IDENTIFIED BY Ds_123456; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO ds_user%; FLUSH PRIVILEGES;2.3 Zookeeper集群部署各节点配置# 下载安装包 wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/ # 配置文件示例/opt/zookeeper-3.4.14/conf/zoo.cfg tickTime2000 initLimit10 syncLimit5 dataDir/var/lib/zookeeper clientPort2181 server.1node1:2888:3888 server.2node2:2888:3888 server.3node3:2888:3888启动集群# 各节点分别执行 /opt/zookeeper-3.4.14/bin/zkServer.sh start3. DolphinScheduler集群部署3.1 安装包准备wget https://dlcdn.apache.org/dolphinscheduler/1.3.9/apache-dolphinscheduler-1.3.9-bin.tar.gz tar -zxvf apache-dolphinscheduler-1.3.9-bin.tar.gz -C /opt3.2 关键配置文件修改数据库连接配置conf/datasource.propertiesspring.datasource.driver-class-namecom.mysql.jdbc.Driver spring.datasource.urljdbc:mysql://master-node:3306/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8 spring.datasource.usernameds_user spring.datasource.passwordDs_123456集群节点配置conf/config/install_config.conf# 集群节点IP列表 ipsnode1,node2,node3 # Master节点配置 mastersnode1 # Worker节点配置 workersnode1:default,node2:default,node3:default # Zookeeper集群地址 zkQuorumnode1:2181,node2:2181,node3:21813.3 初始化数据库# 导入MySQL驱动 cp mysql-connector-java-5.1.47.jar /opt/apache-dolphinscheduler-1.3.9-bin/lib/ # 执行初始化脚本 /opt/apache-dolphinscheduler-1.3.9-bin/script/create-dolphinscheduler.sh3.4 集群启动与验证一键启动/opt/apache-dolphinscheduler-1.3.9-bin/bin/start-all.sh服务验证# 检查进程状态 ps -ef | grep dolphinscheduler # 访问Web UI http://master-node:12345/dolphinscheduler4. 生产环境调优指南4.1 性能关键参数参数文件关键配置项推荐值说明conf/master.propertiesmaster.exec.threadsCPU核心数*2Master任务处理线程数conf/worker.propertiesworker.exec.threadsCPU核心数*2Worker任务执行线程数conf/api.propertiesserver.servlet.session.timeout7200API会话超时时间(秒)4.2 高可用配置Master节点HA修改conf/master.propertiesmaster.server.load.protocolZK master.server.recovery.enabletrue在install_config.conf中配置多个Mastermastersnode1,node24.3 监控集成Prometheus监控配置# conf/prometheus.yml 示例 scrape_configs: - job_name: dolphinscheduler metrics_path: /actuator/prometheus static_configs: - targets: [node1:12345, node2:12345]5. 常见问题排查5.1 服务启动失败排查检查步骤查看日志文件tail -500f /opt/dolphinscheduler/logs/service-name.log端口冲突检查netstat -tunlp | grep port数据库连接测试mysql -h host -u user -ppassword -e use dolphinscheduler; show tables;5.2 任务执行异常处理典型错误场景权限问题确保Worker节点有sudo权限资源不足调整worker.properties中的执行线程数依赖缺失检查任务所需的运行时环境日志定位技巧# 跟踪任务实例日志 grep -A 50 ERROR /opt/dolphinscheduler/logs/worker-server/*.log6. 进阶配置示例6.1 HDFS集成配置修改common.properties# 资源存储类型 resource.storage.typeHDFS # HDFS配置 fs.defaultFShdfs://namenode:8020 hadoop.security.authentication.startup.statefalse6.2 邮件告警设置修改alert.propertiesmail.protocolSMTP mail.server.hostsmtp.example.com mail.server.port465 mail.senderalertexample.com mail.useralertexample.com mail.passwdyour-password mail.smtp.ssl.enabletrue7. 运维管理实践7.1 日常维护命令服务管理# 单独启停组件 bin/dolphinscheduler-daemon.sh start master-server bin/dolphinscheduler-daemon.sh stop worker-server # 集群状态检查 bin/status-all.sh数据库维护-- 定期清理历史数据 DELETE FROM t_ds_process_instance WHERE state6 AND end_time DATE_SUB(NOW(), INTERVAL 30 DAY);7.2 备份恢复策略元数据备份mysqldump -h host -u user -ppassword dolphinscheduler ds_backup_$(date %Y%m%d).sql配置备份tar -zcvf ds_conf_backup_$(date %Y%m%d).tar.gz /opt/dolphinscheduler/conf/8. 性能基准测试通过模拟不同规模的工作流负载我们获得以下性能数据并发工作流数平均处理延时资源占用(CPU%)备注502.3s35%基础测试场景2005.8s68%中等负载50014.2s92%接近饱和状态测试环境配置3节点集群每节点8核16GB内存SSD存储

相关文章:

保姆级教程:在CentOS 7上从零部署DolphinScheduler 1.3.9集群(含MySQL 5.7和Zookeeper配置)

CentOS 7实战:三节点DolphinScheduler 1.3.9集群部署全流程 在数据仓库与大数据处理领域,一个可靠的任务调度系统是数据流水线高效运转的核心枢纽。本文将手把手带您完成三节点CentOS 7环境下DolphinScheduler 1.3.9集群的完整部署,涵盖从基础…...

从CLK_25M到125MHz:AR8035 PHY时钟配置全攻略(解决IMX6ULL/RK平台时钟输出问题)

AR8035 PHY时钟配置实战:从25MHz到125MHz的精准控制 在嵌入式系统开发中,网络通信的稳定性和性能往往取决于PHY芯片的精确配置。AR8035作为一款广泛应用于i.MX6ULL和Rockchip平台的高性能千兆以太网PHY芯片,其时钟输出功能的设计尤为关键。许…...

通过 Node.js 快速接入 TaoToken 并实现异步聊天交互

通过 Node.js 快速接入 TaoToken 并实现异步聊天交互 1. 准备工作 在开始编写代码之前,需要确保开发环境已经准备好。首先安装 Node.js 16 或更高版本,可以通过运行 node -v 命令来验证当前安装的版本。接下来创建一个新的项目目录并初始化 npm 包管理…...

将 OpenClaw Agent 工作流对接至 Taotoken 以实现低成本任务自动化

将 OpenClaw Agent 工作流对接至 Taotoken 以实现低成本任务自动化 1. 场景概述 对于已经采用 OpenClaw 构建自动化工作流的开发者而言,模型 API 的调用成本与供应商选择灵活性是长期运营的关键考量。通过将 OpenClaw Agent 接入 Taotoken 平台,开发者…...

别再乱开Cache了!深入STM32 MPU的TEX/C/B位,手把手配置Normal/Device/Strongly-Ordered内存

STM32 MPU内存保护与Cache配置实战指南 1. 嵌入式系统中的内存管理挑战 在嵌入式系统开发中,内存管理一直是性能优化和系统稳定性的关键所在。许多开发者在使用STM32系列MCU时,常常陷入一个误区:认为Cache(缓存)开启…...

不只是辐射:用Python批量处理ERA5-Land累积数据(降水、感热通量等)的完整流程

不只是辐射:用Python批量处理ERA5-Land累积数据(降水、感热通量等)的完整流程 气象数据分析工作中,ERA5-Land数据集因其高时空分辨率和丰富的变量选择,成为气候建模、农业监测等领域的重要数据源。但许多初次接触该数据…...

UVa 175 Keywords

题目分析 本题要求根据给定的若干个 兴趣配置文件(Profile\texttt{Profile}Profile)和 标题(Title\texttt{Title}Title),判断每个标题是否被每个配置文件选中。选中的条件是:在标题中,存在至少…...

基于Rust的AI应用后端框架EchoKit:高性能、模块化设计与实践

1. 项目概述:一个为AI应用量身定制的后端服务器框架最近在折腾AI应用开发,特别是那些需要处理实时音频、视频流或者复杂推理任务的项目时,我常常感到头疼。前端调用模型、处理媒体流相对容易,但后端服务的搭建,尤其是要…...

K8S网络排障实录:从Calico Pod启动失败到发现kube-proxy的ipvs模式‘罢工’

K8S网络排障全记录:当Calico遇上罢工的IPVS 那是一个再普通不过的周五下午,我正在为即将上线的Kubernetes集群做最后的网络配置。Calico作为CNI插件已经部署完毕,master节点一切正常,但node节点上的calico-node Pod却始终无法启动…...

体验报告Taotoken在多模型聚合调用下的延迟稳定性与路由容灾感受

体验报告:Taotoken在多模型聚合调用下的延迟稳定性与路由容灾感受 1. 测试环境与调用场景 本次体验基于一个实际开发中的智能问答系统,该系统通过Taotoken平台接入多个主流模型,用于处理用户提问。系统日均调用量约5000次,涉及模…...

别再到处找数据了!用Python+高德API,5分钟搞定你所在城市的餐饮/便利店POI数据

5分钟极速获取城市商业数据:Python高德API实战指南 每次做市场分析或商业选址时,最头疼的就是找不到最新、最全的本地商户数据?那些收费的数据平台要么价格昂贵,要么更新不及时。其实只要掌握一个小技巧,用Python配合…...

Go语言实现轻量级命令行中继工具CliRelay:原理、部署与实战

1. 项目概述:一个轻量级的命令行中继工具如果你经常需要在不同的服务器、容器或者网络环境之间传递文件、执行命令,或者搭建一个临时的数据通道,但又不想配置复杂的SSH隧道或者部署一套完整的文件服务器,那么CliRelay这个项目可能…...

基础教程,五分钟在Python中配置Taotoken并调用第一个大模型API

基础教程,五分钟在Python中配置Taotoken并调用第一个大模型API 1. 准备工作 在开始之前,请确保您已经完成Taotoken平台的注册并获取了有效的API Key。登录Taotoken控制台后,可以在"API密钥管理"页面创建新的密钥。建议为开发环境…...

告别龟速下载!用Git LFS + SSH一键搞定Hugging Face大模型(保姆级避坑指南)

告别龟速下载!用Git LFS SSH一键搞定Hugging Face大模型(保姆级避坑指南) 在AI模型开发领域,Hugging Face已成为开源模型和数据集的事实标准平台。然而当我们需要下载LLaMA、Stable Diffusion这类动辄数十GB的大模型时&#xff0…...

从‘警告’到‘零告警’:我是如何用ESLint和Node.js配置根治Promise未处理错误的

从‘警告’到‘零告警’:我是如何用ESLint和Node.js配置根治Promise未处理错误的 在Node.js开发中,未处理的Promise拒绝(unhandledPromiseRejectionWarning)就像一颗定时炸弹,随时可能在生产环境中引爆。作为经历过多次…...

长视频理解框架LongVideo-R1的技术解析与应用实践

1. 项目背景与核心价值最近在视频理解领域出现了一个很有意思的现象:当大家都在卷短视频分析时,有个团队反其道而行之,专门针对长视频内容开发了LongVideo-R1框架。作为一个在多媒体分析领域摸爬滚打多年的从业者,我第一时间就对这…...

嵌入式学习笔记——PWM与输入捕获(上)

输出比较与输入捕获前言输出比较(PWM)PWM简介输出比较详细框图1. 定时器部分2. 比较器控制部分3.输出控制部分寄存器简介输出比较代码伪代码实际代码实际效果总结M4系列目录前言 上一篇中,主要介绍了有关通用定时器的一些概述性内容&#xf…...

别再只盯着压力表了!用分布式光纤给油气管道做个‘CT’,50公里泄漏点10米内精准定位

分布式光纤传感:重塑油气管道安全监测的下一代技术范式 油气管道如同现代工业的血管网络,承载着能源输送的重任。然而传统压力表、流量计等点式传感器就像分散的"听诊器",难以捕捉长达数百公里管道上瞬息万变的异常状态。当运维团队…...

终极指南:如何快速修复Windows软件运行环境,告别DLL缺失错误

终极指南:如何快速修复Windows软件运行环境,告别DLL缺失错误 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否遇到过这样的情况&…...

舵机控制避坑指南:PWM占空比算对了,为什么舵机还是抖得厉害?

舵机抖动问题全解析:从PWM信号到硬件设计的深度排错指南 当你按照手册精确计算了PWM占空比,连接线路也反复检查无误,但舵机依然像得了帕金森一样抖动不止——这种挫败感每个硬件开发者都深有体会。本文将从信号完整性、电源设计、机械结构三个…...

别再只会用Let‘s Encrypt了:聊聊CA的那些事儿,从免费DV到企业EV证书到底怎么选?

从免费DV到企业EV:HTTPS证书选择的实战指南 当你打开浏览器访问一个网站时,地址栏左侧的小锁图标是否曾引起你的注意?这个看似简单的符号背后,是一整套保障网络通信安全的证书体系。作为开发者或运维人员,我们常常需要…...

Pytorch图像去噪实战(二十五):多GPU训练图像去噪模型,用DDP解决训练太慢问题

Pytorch图像去噪实战(二十五):多GPU训练图像去噪模型,用DDP解决训练太慢问题 一、问题场景:模型越来越大,单卡训练太慢 前面我们实现了很多图像去噪模型。 从 DnCNN 到 UNet,再到 Restormer、Diffusion,模型越来越复杂。 单张 GPU 训练时,经常遇到: batch size 上不…...

文本到图像生成技术:从扩散模型到高效部署实践

1. 文本到图像生成技术演进与行业痛点文本到图像生成(Text-to-Image Generation)技术在过去五年经历了从玩具工具到生产力工具的质变。早期的VQ-VAE和GAN架构只能生成低分辨率、语义模糊的图像,而现代扩散模型(Diffusion Models&a…...

5分钟掌握Visual C++运行库一站式解决方案:VisualCppRedist AIO深度解析

5分钟掌握Visual C运行库一站式解决方案:VisualCppRedist AIO深度解析 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist VisualCppRedist AIO是一个高效…...

基于Dify构建智能对话机器人:打通IM平台与AI应用的技术实践

1. 项目概述:一个为Dify打造的智能对话机器人如果你正在使用Dify来构建自己的AI应用,并且希望它能像一个真正的“同事”或“助手”一样,无缝地融入你的日常沟通工具(比如钉钉、飞书、微信),那么你很可能已经…...

CompressO终极指南:5分钟掌握免费高效的视频图片压缩技巧

CompressO终极指南:5分钟掌握免费高效的视频图片压缩技巧 【免费下载链接】compressO Convert any video/image into a tiny size. 100% free & open-source. Available for Mac, Windows & Linux. 项目地址: https://gitcode.com/gh_mirrors/co/compress…...

终极指南:gradient-checkpointing常见问题与解决方案从入门到精通

终极指南:gradient-checkpointing常见问题与解决方案从入门到精通 【免费下载链接】gradient-checkpointing Make huge neural nets fit in memory 项目地址: https://gitcode.com/gh_mirrors/gr/gradient-checkpointing gradient-checkpointing是由Tim Sali…...

AI绘画技能库构建:基于女娲模型的提示词工程实践

1. 项目概述:从“女娲”技能到AI绘画的实践探索最近在GitHub上看到一个挺有意思的项目,叫yaosenlin975-art/copaw-nuwa-skill。乍一看这个标题,可能有点摸不着头脑,但拆解一下就能发现它的核心脉络。“copaw”这个词在AI绘画圈里并…...

3步搭建Obsidian知识库:用Zettelkasten模板实现高效知识管理

3步搭建Obsidian知识库:用Zettelkasten模板实现高效知识管理 【免费下载链接】Obsidian-Templates A repository containing templates and scripts for #Obsidian to support the #Zettelkasten method for note-taking. 项目地址: https://gitcode.com/gh_mirro…...

手把手教你搞定KBS投稿:Overleaf配置、文件清单与审稿回复模板分享

KBS投稿全流程技术指南:从Overleaf配置到审稿回复的工程化实践 第一次在Knowledge-Based Systems(KBS)投稿时,我像大多数研究者一样,被复杂的文件准备和格式要求弄得手忙脚乱。直到第三次投稿后,才意识到学…...