在 CentOS 上升级 Dolphin 的可行路径
在 CentOS 上,“Dolphin”常见有两种指代:一是 KDE 的文件管理器 Dolphin,二是 Apache DolphinScheduler(海豚调度)。两者升级方式完全不同。请先确认你的目标,再按下述对应步骤执行。
升级 KDE 文件管理器 Dolphin
-
确认当前版本与来源
- 查看版本:运行 dolphin --version;若为 KDE Frameworks 的一部分,可通过 kf5-config --version 辅助判断。
- 确认来源:运行 rpm -qf $(which dolphin),常见为 dolphin 或 dolphin-part。
-
使用包管理器安全升级(推荐)
- 更新元数据并就地升级:
- 对于 CentOS 7:sudo yum update -y dolphin*
- 对于 CentOS 8/Stream:sudo dnf upgrade -y dolphin*
- 若来自 EPEL 或 PowerTools/CRB,请先启用相应仓库,再执行升级。
- 升级后重启会话或系统以加载新版本组件。
-
冲突与回滚处理
- 冲突检查与修复:
- 检查冲突:sudo yum check 或 dnf repoquery --conflicts dolphin
- 必要时移除冲突包并重装:sudo yum remove <冲突包>;sudo yum reinstall dolphin
- 回滚:使用已保存的版本或快照(如 btrfs/snapper),或执行 sudo yum downgrade dolphin*。
- 无法解决时,可临时改用 Nautilus/Thunar 作为替代文件管理器。
升级 Apache DolphinScheduler(海豚调度)
-
升级前准备
- 备份元数据库(如 MySQL/PostgreSQL):例如 mysqldump -u[用户] -p[密码] dolphinscheduler > dolphinscheduler_backup.sql。
- 备份配置与资源:conf/ 目录、resources/ 目录等。
- 检查版本兼容性与依赖(JDBC 驱动、ZooKeeper 等),规划停机窗口并停止任务。
-
执行升级(通用)
- 停止服务:sh ./script/stop-all.sh(或按你的部署方式停止各组件)。
- 放置对应版本的数据库驱动至 ./tools/libs/(如 mysql-connector-java)。
- 配置数据源(编辑 ./bin/env/dolphinscheduler_env.sh 中的 SPRING_DATASOURCE_URL/USERNAME/PASSWORD 等)。
- 执行数据库升级脚本:sh ./tools/bin/upgrade-schema.sh。
- 合并/更新配置(如 install_config.conf、common.properties、application.yaml 等),再启动服务:sh ./bin/start-all.sh。
-
版本差异要点
- 2.x → 3.x:目录结构与组件职责变化明显,需将数据库驱动复制到各服务(如 alert-server、api-server、master-server、worker-server、tools)的 libs/ 目录;必要时替换 curator 与 ZooKeeper 相关 JAR,以适配新版本依赖。
- 3.1.x → 3.2.0:资源中心重构,需运行一次性资源迁移脚本(示例:sh ./tools/bin/migrate-resource.sh <目标租户>)。
- 3.2.0 → 3.3.1:需下载并安装插件依赖(执行 bash ./bin/install-plugins.sh 3.3.1),并按需补充 Hadoop 相关 JAR;MySQL 驱动建议使用 8.0.16+;如存在血缘数据,执行 sh ./tools/bin/migrate-lineage.sh 完成迁移。
-
升级后验证与回滚
- 健康检查:curl http://localhost:12345/dolphinscheduler/actuator/health;查看 logs/api-server.log 等是否有异常。
- 功能验证:触发测试工作流,确认调度、任务执行、告警与历史数据一致性。
- 回滚:数据库导入备份(如 mysql < dolphinscheduler_backup.sql),恢复旧版本安装目录与配置后启动。