• 安装dolphinscheduler


    四种安装方式,机器有限,最后选的伪集群安装,所有都装在一台机器上。

    安装手册

    需要依次安装

    • JDK:下载JDK (1.8+),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH环境变量中。如果你的环境中已存在,可以跳过这步。
    • dolphinscheduler二进制包:在下载页面下载 DolphinScheduler 二进制包
    • 数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
    • 注册中心:ZooKeeper (3.4.6+),下载地址
    • 进程树分析
      Fedora/Red/Hat/CentOS/Ubuntu/Debian安装psmisc

    1、下方的比较简单,不讲了
    JDK1.8以上
    Mysql5.7以上

    2、安装ZooKeeper (3.4.6+)

    • 下载二进制文件

    不下载源码版,不然还得自己编译
    下载地址

    下载后解压

    tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
    
    • 1
    • 修改配置文件
      进入解压的文件夹,创建数据目录,
    mdir zkData
    
    • 1

    再进入conf,先创建配置文件。

    cp zoo_sample.cfg zoo.cfg
    
    • 1

    zoo.cfg就是配置文件

    1. 将其中的数据目录改为刚创建的zkData.
      dataDir=/tmp/zookeeper 修改为 dataDir=/opt/module/zookeeper-3.7.1/zkData
    2. 将服务端口修改为8090
      默认的server端口是8080,我的8080已经被占了,所以修改成8090,你也可以修改成你想要的端口
      在配置文件里加上
      admin.serverPort=10086
    • 启动服务端
      在zookeeper下执行
    bin/zkServer.sh start
    
    • 1

    如果顺利会提示启动成功,如果不成功,到logs下找后缀为.out的文件,看一下错在哪里。

    • 进入客户端
    bin/zkCli.sh
    quit  #退出
    
    • 1
    • 2

    很顺利!

    3、安装进程树分析 psmisc

    yum -y install psmisc
    
    • 1

    4、安装dolphinscheduler

    进入重点咯~~~~

    1)下载二进制版本

    wget https://dlcdn.apache.org/dolphinscheduler/3.0.2/apache-dolphinscheduler-3.0.2-bin.tar.gz
    
    • 1

    解压缩&授权

    tar -zxvf apache-dolphinscheduler-3.0.2-bin.tar.gz
    # 创建用户需使用 root 登录
    useradd dolphinscheduler
    
    # 添加密码
    echo "dolphins" | passwd --stdin dolphinscheduler
    
    # 配置 sudo 免密
    sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
    sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
    
    # 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-3.0.2-bin 目录有操作权限
    chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-3.0.2-bin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2)配置机器SSH免密登陆

    由于安装的时候需要向不同机器发送资源,所以要求各台机器间能实现SSH免密登陆。配置免密登陆的步骤如下

    su dolphinscheduler
    
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3)启动zookeeper

    进入 zookeeper 的安装目录,将 zoo_sample.cfg 配置文件复制到 conf/zoo.cfg,并将 conf/zoo.cfg 中 dataDir 中的值改成 dataDir=./tmp/zookeeper

    #启动 zookeeper

    ./bin/zkServer.sh start
    
    • 1

    注:忽然发现系统默认装的openjava,不是jdk,重装,很简单,下载压缩包,解压,在/etc/profile里加上下面语句,然后source /etc/profile,让其生效

    JAVA_HOME=/usr/java/jdk1.8.0_231
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/toos.jar
    export PATH JAVA_HOME CLASSPATH
    
    • 1
    • 2
    • 3
    • 4

    4)修改配置文件

    • 修改 install_env.sh 文件
      文件 install_env.sh 描述了哪些机器将被安装 DolphinScheduler 以及每台机器对应安装哪些服务。您可以在路径 bin/env/install_env.sh 中找到此文件,可通过以下方式更改env变量,export =,配置详情如下。
    # ---------------------------------------------------------
    # INSTALL MACHINE
    # ---------------------------------------------------------
    # Due to the master, worker, and API server being deployed on a single node, the IP of the server is the machine IP or localhost
    ips="localhost"
    sshPort="22"
    masters="localhost"
    workers="localhost:default"
    alertServer="localhost"
    apiServers="localhost"
    
    # DolphinScheduler installation path, it will auto-create if not exists
    installPath=~/dolphinscheduler
    
    # Deploy user, use the user you create in section **Configure machine SSH password-free login**
    deployUser="dolphinscheduler"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 修改 dolphinscheduler_env.sh 文件

    文件 ./bin/env/dolphinscheduler_env.sh 描述了下列配置:

    DolphinScheduler 的数据库配置
    一些任务类型外部依赖路径或库文件,如 JAVA_HOME 和 SPARK_HOME都是在这里定义的
    注册中心zookeeper
    服务端相关配置,比如缓存,时区设置等

    必须根据您的环境更改 JAVA_HOME、注册中心和数据库


    先到mysql去建库,建账号,进入数据库客户端,执行下列命令

    CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    create user 'dolphin'@'%' identified by 'dolphin';
    GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphin'@'localhost';
    GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphin'@'%';
    flush privileges;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    创建好账号,记住用户名密码


    下面是我的配置,改了JAVA_HOME,DATABASE,SPRING_DATASOURCE_URL,SPRING_DATASOURCE_USERNAME,SPRING_DATASOURCE_PASSWORD,SPRING_JACKSON_TIME_ZONE,REGISTRY_ZOOKEEPER_CONNECT_STRING
    zookeeper的服务端口我设置了8090,访问端口是2181,注意不要混淆

    # JAVA_HOME, will use it to start DolphinScheduler server
    export JAVA_HOME=/usr/java/jdk1.8.0_231
    
    # Database related configuration, set database type, username and password
    export DATABASE=${DATABASE:-mysql}
    export SPRING_PROFILES_ACTIVE=${DATABASE}
    export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai"
    export SPRING_DATASOURCE_USERNAME=dolphin
    export SPRING_DATASOURCE_PASSWORD=dolphin
    
    # DolphinScheduler server related configuration
    export SPRING_CACHE_TYPE=${SPRING_CACHE_TYPE:-none}
    export SPRING_JACKSON_TIME_ZONE=${SPRING_JACKSON_TIME_ZONE:-CST}
    export MASTER_FETCH_COMMAND_NUM=${MASTER_FETCH_COMMAND_NUM:-10}
    
    # Registry center configuration, determines the type and link of the registry center
    export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}
    export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-localhost:2181}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    注意时区,我系统设置了CST时区,所以下方要设置,否则再下一步的数据库初始化会一直报错
    先看一下时区
    在这里插入图片描述
    我的原始时区是EST,后来改成CST,命令如下

    timedatectl set-timezone Asia/Shanghai
    
    • 1

    为了时间准确,安装ntp,这个不是必须的,命令如下:

    yum install ntp
    systemctl enable ntpd
    systemctl start ntpd
    ntpdate time.XXX.XX.XX
    
    • 1
    • 2
    • 3
    • 4

    5) 初始化mysql

    1. mysql需要mysql-connector-java 驱动 (8.0.16) ,下载jar包,放到如下文件夹
      api-server/libs
      alert-server/libs
      master-server/libs
      worker-server/libs
      tools/libs

    2. 执行命令

    bash tools/bin/upgrade-schema.sh
    
    • 1

    帮助文档

    如果顺利,就ok。不顺利,查看报错排查错误吧。

    6) 安装dolphinScheduler

    启动 DolphinScheduler
    使用上面创建的部署用户 dolphinscheduler 运行以下命令完成部署,部署后的运行日志将存放在 logs 文件夹内

    bash ./bin/install.sh
    
    • 1

    很可能执行不成功,看报错信息,查错。

    7) 登录 DolphinScheduler

    浏览器访问地址 http://localhost:12345/dolphinscheduler/ui 即可登录系统UI。默认的用户名和密码是 admin/dolphinscheduler123

    8)常用命令

    启停服务

    一键停止集群所有服务

    bash ./bin/stop-all.sh

    一键开启集群所有服务

    bash ./bin/start-all.sh

    启停 Master

    bash ./bin/dolphinscheduler-daemon.sh stop master-server
    bash ./bin/dolphinscheduler-daemon.sh start master-server

    启停 Worker

    bash ./bin/dolphinscheduler-daemon.sh start worker-server
    bash ./bin/dolphinscheduler-daemon.sh stop worker-server

    启停 Api

    bash ./bin/dolphinscheduler-daemon.sh start api-server
    bash ./bin/dolphinscheduler-daemon.sh stop api-server

    启停 Alert

    bash ./bin/dolphinscheduler-daemon.sh start alert-server
    bash ./bin/dolphinscheduler-daemon.sh stop alert-server


    重启了下服务器发现服务启动不了了!!!!

    记录一下,重启后四个服务的logs目录里的XXXX.log都变成了root的权限,用dolphinscheduler启动服务,自然启动不起来了。
    重新授权

    chown dolphinscheduler:dolphinscheduler  dolphinscheduler-worker.log
    
    • 1

    记得把下面四个目录下设置为root的log都找到授权,再执行start-all.sh就好了。另外记得起zookeeper。

    ./api-server/logs
    ./alert-server/logs
    ./worker-server/logs
    ./master-server/logs

  • 相关阅读:
    Unity 下载Zip压缩文件并且解压缩
    CSS属性使用之字体属性和文本属性使用规范标准有那些?
    Java常用类
    C++基础-类和对象(下)
    python 基础语法 (常常容易漏掉)
    课题学习(二)----倾角和方位角的动态测量方法(基于磁场的测量系统)
    MySQL 快速入门之第一章 账号管理、建库以及四大引擎
    BUUCTF----[极客大挑战 2019]HardSQL
    C#:实现SieveOfEratosthenes埃拉托斯特尼筛法寻找素数算法(附完整源码)
    java线程池详解
  • 原文地址:https://blog.csdn.net/ooyyaa6561/article/details/128055368