zoukankan      html  css  js  c++  java
  • DolphinScheduler1.3.2源码分析(二)搭建源码环境以及启动项目

    前置依赖组件安装

      找一台服务器,或者本地的虚拟机,然后在服务器上安装好jdk,zookeeper,mysql。

    1.源码调试环境搭建

      源码环境搭建可以参考DolphinScheduler官方网站的开发者指南。

    ---------------------引用自官方网站的开发者指南---------------------

    准备工作

    1. 首先从远端仓库fork dolphinscheduler 一份代码到自己的仓库中

    2. 在开发环境中安装好MySQL/PostgreSQL、JDK、MAVEN

    3. 把自己仓库clone到本地

      git clone https://github.com/apache/incubator-dolphinscheduler.git

    4. git clone项目后,进入项目目录,执行以下命令。

    1. git branch -a    #查看分支
    2. git checkout dev #切换到dev分支
    3. git pull #同步分支
    4. mvn -U clean package -Prelease '-Dmaven.test.skip=true'   #由于项目使用了gRPC,所以需要先编译项目生成需要的类。
    

    安装node

    1. 安装nvm
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
    2. 刷新环境变量
      source ~/.bash_profile
    3. 安装node
      nvm install v12.12.0
      备注:mac用户还可以通过brew安装npm:brew install npm
    4. 验证node安装成功
      node --version

    安装zookeeper

    1. 下载zookeeper
      http://apache.mirrors.hoobly.com/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
    2. 复制配置文件
      cp conf/zoo_sample.cfg conf/zoo.cfg
    3. 修改配置
      vi conf/zoo.cfg
      dataDir=./tmp/zookeeper
    4. 启动/停止zookeeper
      ./bin/zkServer.sh start ./bin/zkServer.sh stop

    创建数据库

    1. 创建用户名为ds_user,密码为dolphinscheduler的用户
    mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'ds_user'@'%' IDENTIFIED BY 'dolphinscheduler';
    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'ds_user'@'localhost' IDENTIFIED BY 'dolphinscheduler';
    mysql> flush privileges;
    
    

    搭建前端

    1. 进入dolphinscheduler-ui的目录
      cd dolphinscheduler-ui
    2. 执行npm install

    搭建后端

    1. 将项目导入到idea中
      file-->open

    2. 修改dao模块resource目录下datasource.properties文件中的数据库配置信息

          spring.datasource.driver-class-name=com.mysql.jdbc.Driver
          spring.datasource.url=jdbc:mysql://localhost:3306/dolphinscheduler
          spring.datasource.username=ds_user
          spring.datasource.password=dolphinscheduler  
      
    3. 修改根项目中pom.xml,将mysql-connector-java依赖的scope修改为compile

    4. 刷新dao模块,运行org.apache.dolphinscheduler.dao.upgrade.shell.CreateDolphinScheduler的main方法,自动插入项目所需的表和数据

    5. 修改service模块resources文件夹下的zookeeper.properties中链接信息(zookeeper.quorum)
      zookeeper.quorum=localhost:2181

    6. 修改dolphinscheduler-ui模块的.env文件

    API_BASE = http://localhost:12345
    DEV_HOST = localhost
    

    启动项目

    1. 启动zookeeper
      ./bin/zkServer.sh start

    2. 启动MasterServer,执行org.apache.dolphinscheduler.server.master.MasterServer的main方法,需要设置VM Options:

          -Dlogging.config=classpath:logback-master.xml -Ddruid.mysql.usePingMethod=false
      
    3. 启动WorkerServer,执行org.apache.dolphinscheduler.server.worker.WorkerServer的main方法,需要设置VM Options:

          -Dlogging.config=classpath:logback-worker.xml -Ddruid.mysql.usePingMethod=false
      
    4. 启动ApiApplicationServer,执行org.apache.dolphinscheduler.api.ApiApplicationServer的main方法,需要设置VM Options:

          -Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=api
      
    5. ,这里暂时不启动其它模块,如果启动其它模块,那么去查询script/dolphinscheduler-daemon.sh文件,设置相应的VM Options

          if [ "$command" = "api-server" ]; then
            LOG_FILE="-Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=api"
            class="org".apache.dolphinscheduler.api.ApiApplicationServer
          elif [ "$command" = "master-server" ]; then
            LOG_FILE="-Dlogging.config=classpath:logback-master.xml -Ddruid.mysql.usePingMethod=false"
            class="org".apache.dolphinscheduler.server.master.MasterServer
          elif [ "$command" = "worker-server" ]; then
            LOG_FILE="-Dlogging.config=classpath:logback-worker.xml -Ddruid.mysql.usePingMethod=false"
            class="org".apache.dolphinscheduler.server.worker.WorkerServer
          elif [ "$command" = "alert-server" ]; then
            LOG_FILE="-Dlogback.configurationFile=conf/logback-alert.xml"
            class="org".apache.dolphinscheduler.alert.AlertServer
          elif [ "$command" = "logger-server" ]; then
            class="org".apache.dolphinscheduler.server.log.LoggerServer
          else
            echo "Error: No command named \`$command' was found."
            exit 1
          fi
      
    6. 启动前端ui模块
      cd dolphinscheduler-ui目录,执行npm run start

    访问项目

      1. 访问http://localhost:8888
        输入管理员账户admin,密码dolphinscheduler123进行登陆

    ---------------------结束官方文档引用-----------------------------

    一般照着这个官方文档来做就可以,重点关注3个配置文件需要修改 

     

     

     一般需要启动3个地方,分别是

    1. dolphinscheduler-api模块下的ApiApplicationServer.java中的main方法

    2. dolphinscheduler-server模块下的MasterServer.java中的main方法

    3. dolphinscheduler-worker模块下的WorkerServer.java中的main方法

    第一次启动,如果没有修改vm参数可能会报错或者启动到8080端口上去,这时候需要修改一下启动参数后再启动。如下图


    
    

     

     

     

    2.启动后端进程

    至此,我们可以开始启动ApiApplicationServer、WorkerServer、MasterMasterServer了,这三个是后端的进程。

    还是直接放图吧,直观一些

     

     

    关注一下启动的日志,看看是否有报错信息,如果没有报错就代表三个后台进程启动成功了。

    3.启动前端

    启动成功的话,应该能用浏览器直接打开 localhost:8888

    看到如下的页面代表成功启动啦~~~

    初始用户名:admin

    初始密码:dolphinscheduler123

    环境搭建就到这里结束啦,然后接下来我们会对DolphinScheduler进行探秘,

    谢谢看到最后,给自己点个赞吧,加油!!!

  • 相关阅读:
    .NET开源项目
    关于微信号的校验
    java 中关于synchronized的通常用法
    关于java 定时器的使用总结
    新的博客已经启用,欢迎大家访问(402v.com)
    Hadoop综合大作业
    hive基本操作与应用
    理解MapReduce计算构架
    熟悉HBase基本操作
    第三章 熟悉常用的HDFS操作
  • 原文地址:https://www.cnblogs.com/lukairui/p/13861397.html
Copyright © 2011-2022 走看看