首页 > 其他分享 >Apache DolphinScheduler如何开启开机自启动功能?

Apache DolphinScheduler如何开启开机自启动功能?

时间:2024-07-08 17:44:27浏览次数:16  
标签:脚本 文件 systemd dolphinscheduler 服务 DolphinScheduler Apache 自启动

转载自东华果汁哥

Apache DolphinScheduler 是一个分布式、去中心化的大数据工作流调度系统,支持大数据任务调度。若要设置 DolphinScheduler 开机自启动,通常需要将其配置为系统服务。以下是一般步骤,具体操作可能因操作系统的不同而有所差异:

Linux 系统

  1. 创建系统服务文件:
    • 编辑一个名为 dolphinscheduler.service 的文件,通常放在 /etc/systemd/system/ 目录下。
    • 根据你的 DolphinScheduler 安装路径和配置填写服务文件。
      例如:

[Unit]
Description=DolphinScheduler Service
After=network.target
[Service]
type=exec
ExecStart=/opt/module/dolphinscheduler/bin/start-all.sh
ExecStop=/opt/module/dolphinscheduler/bin/stop-all.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

  1. 启动服务并设置开机自启:
    • 使用 systemctl 命令启动服务并设置开机自启:
systemctl daemon-reload
systemctl start dolphinscheduler.service
systemctl enable dolphinscheduler.service
  1. 验证服务状态:
    使用以下命令来检查服务状态:
systemctl status dolphinscheduler.service

Windows 系统

  1. 创建批处理文件:
    • 创建一个批处理文件(例如:start-dolphinscheduler.bat),用于启动 DolphinScheduler。
    • 在批处理文件中添加启动 DolphinScheduler 的命令。
  2. 将批处理文件添加到启动文件夹:
    • 将批处理文件放置在 Windows 的启动文件夹中:
      • Win + R 打开运行对话框。
      • 输入 shell:startup 打开启动文件夹。
      • 将批处理文件拖放到启动文件夹中。
  3. 重启验证:
    • 重启计算机,检查 DolphinScheduler 是否随系统启动。

请注意,以上步骤可能需要根据你的具体环境和 DolphinScheduler 的版本进行调整。在进行这些操作时,确保你有足够的权限,并对系统服务有一定的了解,以避免可能的服务冲突或系统不稳定。

如果 DolphinScheduler 的服务在重启后短暂显示为绿色(表示服务正在运行),然后又变为非绿色状态(通常表示服务不再运行),但相关的进程实际上仍在运行,这可能是由于服务管理器(systemd)认为服务已经停止,因为它没有检测到持续运行的主进程。

这种情况通常发生在以下几种情况:

  1. 服务脚本的问题:如果服务脚本(start-all.sh)执行完毕后没有保持任何进程在后台运行,systemd 会认为服务已经停止。
  2. 服务类型配置不当:在 systemd 服务文件中,Type 的配置可能不正确。如果服务被设置为 simple,而实际上它应该是 forkingoneshot,那么 systemd 可能会在脚本执行完毕后立即认为服务已经停止。
  3. 进程退出码问题:如果服务脚本正确地启动了所有必要的进程,但是脚本本身很快就退出了(例如,因为脚本中的命令很快就执行完毕),systemd 可能会根据脚本的退出码来判断服务状态。

为了解决这个问题,您可以尝试以下步骤:

  • 检查服务脚本:确保 start-all.sh 脚本在启动所有必要的进程后能够保持运行状态。如果脚本执行完毕后没有保持任何进程在后台运行,您可能需要在脚本中添加一些逻辑来保持其运行。
  • 调整服务文件:如果您确认脚本正确地启动了所有必要的进程,并且这些进程在后台运行,那么您可能需要调整 systemd 服务文件中的 Type 和其他配置选项。
  • 使用 Type=forking:如果您的服务脚本是一个 fork 进程的脚本,确保在 systemd 服务文件中使用 Type=forking。这样,systemd 会等待脚本创建的子进程。
  • 使用 Type=notify(如果支持):如果 DolphinScheduler 支持与服务管理器通信,您可以使用 Type=notify。这样,服务可以通过 sd_notify() 函数向 systemd 发送状态通知。
  • 使用 RemainAfterExit=yes:如果服务脚本启动的进程独立于脚本本身运行,您可以在 systemd 服务文件中使用 RemainAfterExit=yes,这样即使脚本本身已经退出,systemd 也会认为服务仍然在运行。
  • 重新加载并重启服务:在修改服务文件后,重新加载 systemd 并重启服务:
systemctl daemon-reload
systemctl restart dolphinscheduler.service
  • 检查服务状态:再次检查服务状态,看是否为 active (running)。
  • 如果上述步骤都无法解决问题,您可能需要更详细地检查 DolphinScheduler 的日志文件或服务脚本的输出,以确定为什么 systemd 认为服务已经停止。

最终配置,成功。

原文链接:https://blog.csdn.net/u013421629/article/details/138523187

标签:脚本,文件,systemd,dolphinscheduler,服务,DolphinScheduler,Apache,自启动
From: https://www.cnblogs.com/DolphinScheduler/p/18290416

相关文章

  • 社区6月月报 | Apache SeaTunnel重要更新与优化记录
    各位热爱ApacheSeaTunnel的小伙伴们,社区6月份月报来啦!这里将记录ApacheSeaTunnel社区每月的重要更新,欢迎关注。月度MergeStars感谢以下小伙伴上个月为ApacheSeaTunnel所做的精彩贡献(排名不分先后):@baicie,@TaoZex,@loustler,@15810785091,@4chicat,@raboof,@Hisoka-X,@rtyu......
  • 勾选多条数据,批量修改数据中的某一字段时,点击提交,页面出现以下图中所示报错信息,批量修
    项目场景:背景:勾选多条数据,批量修改数据中的某一字段时,点击提交,页面出现以下图中所示报错信息,批量修改数据失败。报错信息如下图所示:问题描述遇到的问题:[code:500]保存失败!nestedexceptionisorg.apache.ibatis.exceptions.TooManyResultsException:Expected......
  • Apache Drill 2万字面试题及参考答案
    目录什么是ApacheDrill?ApacheDrill的主要特点是什么?ApacheDrill如何实现对复杂数据的查询?描述ApacheDrill的数据存储模型。为什么ApacheDrill被称为自服务的SQL查询引擎?ApacheDrill支持哪些类型的数据源?解释ApacheDrill中的“schemadiscovery”功能。如何在Apa......
  • Apache/InLong InLong Manager 支持配置 Flink 任务并发度/Adjust sort resources acc
    audit已经实现了对于InLong系统的Agent、DataProxy、Sort模块的入流量、出流量进行实时审计对账。对账的粒度有分钟、小时、天三种粒度。audit的数据缓存在org.apache.inlong.audit.cache的各个类中,有DayCacheHalfHourCache等等请求audit数据的api在org.apache.inlong.audit.......
  • Ubuntu 22.04.4 LTS 安装 php apache LAMP 环境nginx
    1安装php-fpmaptupdateapt-getinstallphp-fpm#配置php-fpm服务启动systemctlenablephp8.1-fpmsystemctlstartphp8.1-fpm#查看服务systemctlstatusphp8.1-fpm#查看版本root@iZbp1g7fmjea77vsqc5hmmZ:~#php-vPHP8.1.2-1ubuntu2.18(cli)(built:......
  • Apache Doris 实时数仓场景建设四大新体系 & 湖仓一体化建设四大落地解决方案
    原文:https://mp.weixin.qq.com/s/PT9efWW8IPWUZOpnPzGMJg之前我们讲了很多构建方面的经验,但是在湖仓一体化建设上没有过多的去描述具体怎样演进,怎样落地,能做哪些事,那今天这篇就来详细唠唠基于ApacheDoris的湖仓演进方案,至最后演进至AllInOneDoris的架构。ApacheDoris......
  • SpringBoot, Maven, Apache 之间的关系,SpringBoot 简介
    SpringBoot是什么?SpringBoot是一种基于Spring框架的开源框架,用于快速创建独立的、生产级别的Spring应用程序。SpringBoot可以自动配置大部分Spring应用程序所需的常见功能和库,从而减少了开发人员的工作量和时间。SpringBoot提供了一种“约定优于配置”的方式,使得开发人员可......
  • Apache HTTP Server 使用
    安装macOS:brewinstallapache2Ubuntu:sudoaptinstallapache2使用配置文件路径:macOS:/opt/homebrew/etc/httpd/httpd.confUbuntu:/etc/apache2/apache2.confDocumentRoot:macOS:/opt/homebrew/var/wwwUbuntu:/var/wwwmacOS:brewservicesstarthttpd......
  • Apache DolphinScheduler 与 AWS 的 EMR/Redshift 集成实践分享
    引言这篇文章将给大家讲解关于DolphinScheduler与AWS的EMR和Redshift的集成实践,通过本文希望大家能更深入地了解AWS智能湖仓架构,以及DolphinScheduler在实际应用中的重要性。AWS智能湖仓架构首先,我们来看一下AWS经典的智能湖仓架构图。这张图展示了以S3为核心的数据湖,围绕数......
  • Apache SeaTunnel社区首位学生Committer诞生!
    采访对象|陈炳烨采访人&编辑|DebraChenApacheSeaTunnel社区第一位学生Committer就此诞生!这位来自西安交通大学软件工程专业的同学从较为简单的文档修改工作,逐步深入到代码层面,到最后独立负责开发模块,为ApacheSeaTunnel项目的发展添砖加瓦的同时,他本人也在这份独特的开源......