`
gaojingsong
  • 浏览: 1210282 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【dolphinscheduler之MasterServer 启动分析】

 
阅读更多

/**

 *  master server

 */

@ComponentScan(value = "org.apache.dolphinscheduler", excludeFilters = {

        @ComponentScan.Filter(type = FilterType.REGEX, pattern = {

                "org.apache.dolphinscheduler.server.worker.*",

                "org.apache.dolphinscheduler.server.monitor.*",

                "org.apache.dolphinscheduler.server.log.*"

        })

})

@EnableTransactionManagement

public class MasterServer implements IStoppable {

 

    /**

     * master server startup, not use web service

     *

     * @param args arguments

     */

    public static void main(String[] args) {

        Thread.currentThread().setName(Constants.THREAD_NAME_MASTER_SERVER);

        new SpringApplicationBuilder(MasterServer.class).web(WebApplicationType.NONE).run(args);

    }

 

    /**

     * run master server

     */

    @PostConstruct

    public void run() {

        // init remoting server

        NettyServerConfig serverConfig = new NettyServerConfig();

        serverConfig.setListenPort(masterConfig.getListenPort());

        this.nettyRemotingServer = new NettyRemotingServer(serverConfig);

        this.nettyRemotingServer.registerProcessor(CommandType.TASK_EXECUTE_RESPONSE, new TaskResponseProcessor());

        this.nettyRemotingServer.registerProcessor(CommandType.TASK_EXECUTE_ACK, new TaskAckProcessor());

        this.nettyRemotingServer.registerProcessor(CommandType.TASK_KILL_RESPONSE, new TaskKillResponseProcessor());

        this.nettyRemotingServer.start();

 

        // self tolerant

        this.zkMasterClient.start();

        this.zkMasterClient.setStoppable(this);

 

        // scheduler start

        this.masterSchedulerService.start();

 

        // start QuartzExecutors

        // what system should do if exception

        try {

            logger.info("start Quartz server...");

            QuartzExecutors.getInstance().start();

        } catch (Exception e) {

            try {

                QuartzExecutors.getInstance().shutdown();

            } catch (SchedulerException e1) {

                logger.error("QuartzExecutors shutdown failed : " + e1.getMessage(), e1);

            }

            logger.error("start Quartz failed", e);

        }

 

        /**

         * register hooks, which are called before the process exits

         */

        Runtime.getRuntime().addShutdownHook(new Thread(() -> {

            if (Stopper.isRunning()) {

                close("shutdownHook");

            }

        }));

 

    }

 

 

代码来自dolphinscheduler版本1.3.6

分享到:
评论

相关推荐

    DolphinScheduler+海豚

    systemctl restart dolphinscheduler-master systemctl restart dolphinscheduler-worker ``` 4. **验证**: - 通过再次尝试连接Hive数据源,检查问题是否已经解决。 - 查看日志确认没有出现之前的错误信息。 ...

    dolphinscheduler-master-server-hadoop102

    dolphinscheduler-master-server-hadoop102

    DolphinScheduler(apache-dolphinscheduler-2.0.5-src.tar.gz)源码

    Apache DolphinScheduler(apache-dolphinscheduler-2.0.5-src.tar.gz 源码)是一个分布式易扩展的可视化DAG工作流任务调度开源系统。解决数据研发ETL 错综复杂的依赖关系,不能直观监控任务健康状态等问题。Dolphin...

    dolphinscheduler配置

    DolphinScheduler是一款强大的分布式工作流调度系统,用于大数据处理任务的编排和管理。在这个配置过程中,我们将探讨如何将Dolphinscheduler与Hadoop、Spark、Hive、DataX、Python和Scala集成,以实现高效的数据...

    apache-dolphinscheduler-1.3.2-dolphinscheduler-bin.tar.gz

    - **conf目录**:存放配置文件,如`master.properties`(主节点配置)、`worker.properties`(工作节点配置)和`dolphinscheduler-env.sh`(环境变量设置)。 - **lib目录**:存储运行所需的jar包,包括核心库、...

    dolphinscheduler 3..2.0 bin文件

    7. `server`目录:DolphinScheduler的各个服务组件,如Master、Worker、UI等,每个服务都有对应的启动和停止脚本。 8. `bin`目录下的`startup.sh`和`shutdown.sh`脚本分别用于启动和关闭整个DolphinScheduler集群。...

    apache-dolphinscheduler-3.1.4-bin

    5. **server**目录:DolphinScheduler服务器端程序。 6. **webapp**目录:前端Web应用,包括工作流设计器和监控界面。 安装步骤通常包括以下几个部分: 1. **环境准备**:确保Java环境已安装,并设置好环境变量。 ...

    开源调度框架dolphinscheduler,2台机器上运行的任务无法立即停止,另外1台机器运行的任务可以立即停止

    dolphinscheduler分布式部署,有3个worker节点,3个master节点 操作:分别停止215、216、217运行的工作流实例 如图: 点击停止按钮 3. 现象:215、216机器上的任务一直运行中,217机器上的任务kill状态 如图 4. ...

    apache-dolphinscheduler-3.0.0-bin.tar.gz

    4. 启动:按照启动脚本顺序启动Master、Worker、ApiServer和WebUI服务。 5. 验证:访问WebUI界面,确认服务正常运行。 五、操作与使用 1. 登录系统:使用默认管理员账号登录WebUI。 2. 创建项目:创建业务项目,...

    工作流调度平台DolphinScheduler简介及使用详解

    Apache DolphinScheduler是一个强大的工作流调度平台,专注于解决大数据处理任务中...无论是对于数据科学家、工程师还是运维人员,DolphinScheduler都提供了直观的界面和强大的功能,以支持高效的数据处理和分析工作。

    DolphinScheduler.doc

    MasterServer是DolphinScheduler的核心组件之一,主要负责任务的分发、监控和健康状态检查。MasterServer采用分布式无中心设计理念,服务启动时向ZooKeeper注册临时节点,并维持心跳。MasterServer基于Netty提供监听...

    3-3.新一代大数据调度+-Apache+DolphinScheduler架构演进+&+Roadmap.pdf

    Apache DolphinScheduler 架构演进与 Roadmap Apache DolphinScheduler 是一个分布式、易扩展并带有强大的可视化界面的大数据工作流调度系统。自 2021 年 03 月 18 日正式成为 Apache 顶级项目以来,Dolphin...

    DolphinScheduler任务调度系统 v3.2.0.zip

    DolphinScheduler采用主从分布式架构,主节点(Master)负责任务调度,从节点(Worker)执行实际任务。这种设计使得系统具有高可用性和可扩展性,能够处理大规模的任务调度。 2. **图形化界面**: 提供Web UI界面...

    apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin.tar.gz

    在“apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin.tar.gz”这个压缩包中,包含了DS分布式工作流的后台服务组件,这个稳定版本为1.2.0,是DolphinScheduler在Apache孵化器项目中的一个...

    centos apache-dolphinscheduler-3.2.1-bin.tar安装包

    - 启动 DolphinScheduler 的 Master、Worker、UI 和 Alert 服务,分别执行: ``` start-dolphinscheduler-master.sh start-dolphinscheduler-worker.sh start-dolphinscheduler-ui.sh start-dolphinscheduler-...

    grafana-DolphinScheduler-Master.json

    grafana上DolphinScheduler-Master使用的json文件

    apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-front-bin.tar.gz

    需要注意的是,完整的DolphinScheduler部署还包括后端服务(如master、worker、server等)和数据库配置,这些在当前的压缩包中并未包含。 在实际使用过程中,开发人员和数据工程师可以利用DolphinScheduler构建高效...

    DolphinScheduler(apache-dolphinscheduler-2.0.6-bin.tar.gz)(已安装过)

    关于DolphinScheduler Apache DolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度开源系统。解决数据研发ETL 错综复杂的依赖关系,不能直观监控任务健康状态等问题。DolphinScheduler以DAG流式的方式将...

    apache-dolphinscheduler-2.0.1

    - `bin`目录:包含可执行脚本,用于启动、停止、管理和监控DolphinScheduler服务,如`start-all.sh`和`stop-all.sh`等。 - `conf`目录:存储各种配置文件,例如`dolphinscheduler-config.properties`是主配置文件...

    dolphinScheduler 1.3.6压缩包

    1. **bin目录**:存放启动、停止、监控等脚本,用于操作DolphinScheduler服务。 2. **conf目录**:配置文件所在,包括master、worker、api等服务的配置文件,需要根据实际环境进行配置。 3. **lib目录**:包含...

Global site tag (gtag.js) - Google Analytics