转载自东华果汁哥

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

Apache DolphinScheduler如何开启开机自启动功能?的更多相关文章

  1. 设置Apache(httpd)和Nginx 开机自启动

     方法1: 进入目录: vi  /etc/rc.d/rc.local #设置apache 和 nginx 开机自启动/usr/sbin/apachectl start/usr/sbin/nginx s ...

  2. 为你的MacOS App添加开机自启动(Swift)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/52104828 ...

  3. Apache DolphinScheduler ASF 孵化器毕业一周年,汇报来了!

    不知不觉,Apache DolphinScheduler 已经从 Apache 软件基金会(以下简称 ASF)孵化器毕业一年啦! 北京时间 2021 年 4 月 9 日,ASF 官方宣布 Apache ...

  4. 感谢有你!Apache DolphinScheduler 项目 GitHub star 突破 8k

    本周伊始,Apache DolphinScheduler 项目在 GitHub 上的 Github Star 总数首次突破 8K.目前,Apache DolphinScheduler 社区已经拥有 C ...

  5. Apache DolphinScheduler 2.0.1 来了,备受期待的一键升级、插件化终于实现

    ✎ 编 者 按:好消息!Apache DolphinScheduler 2.0.1 版本正式发布! 本版本中,DolphinScheduler 经历了一场微内核+插件化的架构改进,70% 的代码被重构 ...

  6. 在 Apache DolphinScheduler 上调试 LDAP 登录,亲测有效!

    点击上方 蓝字关注我们 作者 | 小钻风 01 背景 当看这边文章时,那得恭喜您终于找到宝藏,这是梦开始的地方-- 使用 Apache  DolphinScheduler 的小伙伴会遇到个挠脑袋的问题 ...

  7. 议题征集令 | Apache DolphinScheduler Meetup 2021 来啦,议题征集正式开启!

    点击上方 蓝字关注我们 社区的小伙伴们,经过精心筹备,我们很高兴地宣布,Apache DolphinScheduler Meetup 2021 将于 2021 年 11 月 27 日到来! 在 Mee ...

  8. apache 开机自启动脚本设置

    默认我们源码编译安装apache,是不能使用service这个命令来启动的,通常我们启动的命令是: [root@localhost httpd-2.2.16]# /usr/local/apache2/ ...

  9. 系统开启UAC情形下开机自启动程序如何以管理员权限启动

    系统开启UAC情形下开机自启动程序如何以管理员权限启动 题记:本文阐述的是在Windows系统开启UAC的情况下,开机自启动程序需要以管理员权限启动, 系统弹出UAC对话框,用户同意的情形下启动程序 ...

  10. Apache DolphinScheduler 1.3.6 功能发布说明

    参与人员 @chengshiwen.@hailin0.@wanghong1314.@ruanwenjun.@xxjingcd.@zhangguohao.@zhuangchong.@syb8535531 ...

随机推荐

  1. java和javac编译和运行记事本编写的代码

    演示代码如下: package com.springboot.demo; public class Hello { public static void main(String[] args) { S ...

  2. UniTask入门指南:简化Unity中的异步编程

    UniTask入门指南:简化Unity中的异步编程 介绍: UniTask是一个轻量级.高性能的异步编程库,专门针对Unity开发进行了优化.与Unity标准的Task系统相比,UniTask提供了更 ...

  3. CSS和CSS3(背景,图片,浮动等)

    CSS和CSS3背景图片 CSS的背景,无法伸缩图片. <!DOCTYPE html> <html lang="en"> <head> < ...

  4. ROS让机器人开发更便捷,基于RK3568J+Debian系统发布!

    ROS系统是什么 ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统.它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以 ...

  5. 嵌入式进阶之关于SPI通信的案例分享——基于全志科技T3与Xilinx Spartan-6处理器

    本文主要介绍基于全志科技T3与Xilinx Spartan-6的通信案例. 适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit Linux开发环境 ...

  6. Go 使用原始套接字捕获网卡流量

    Go 使用原始套接字捕获网卡流量 Go 捕获网卡流量使用最多的库为 github.com/google/gopacket,需要依赖 libpcap 导致必须开启 CGO 才能够进行编译. 为了减少对环 ...

  7. 在Mac上使用Emacs初步

    其他操作系统估计也差不多. 安装 如果使用brew就是brew install emacs.安装后不会在Applications里面显示一个程序,需要在命令行里执行emacs. 使用 进入和退出 上面 ...

  8. 从Java开发者到.NET Core初级工程师学习路线:C#语言基础

    1. C#语言基础 1.1 C#语法概览 欢迎来到C#的世界!对于刚从Java转过来的开发者来说,你会发现C#和Java有很多相似之处,但C#也有其独特的魅力和强大之处.让我们一起来探索C#的基本语法 ...

  9. JavaSE 计算2个List集合中的交集、差集、并集、去重并集

    VideoOrder.java 重写里面的equals和hashCode方法 class VideoOrder { private int price; private String title; p ...

  10. JDK1.8新特性Lambda表达式简化if-else里都有for循环的优化方式

    在日常开发过程当中,能把代码写出来,不一定就意味着能把代码写好,说不准,所写的代码在他人看来,其实就是一坨乱七八糟的翔,因此,代码简化尤其重要,我曾经遇到过这样一个类型的代码,即if-else里都有相 ...