• linux安装部署dolphinschduler2.0.5


    @TOC
    下载DolphinScheduler
    https://dolphinscheduler.apache.org/zh-cn/download/download.html
    dolphinschduler2.0.5版本
    https://dlcdn.apache.org/dolphinscheduler/2.0.5/apache-dolphinscheduler-2.0.5-bin.tar.gz
    https://mirrors.tuna.tsinghua.edu.cn/apache/dolphinscheduler/2.0.5/apache-dolphinscheduler-2.0.5-bin.tar.gz
    Linux下安装Java运行环境
    https://blog.csdn.net/u012761191/article/details/126847773?spm=1001.2014.3001.5501
    linux安装pgsql
    https://blog.csdn.net/u012761191/article/details/126886772?spm=1001.2014.3001.5502
    linux安装zookeeper
    https://blog.csdn.net/u012761191/article/details/126886119?spm=1001.2014.3001.5502
    linux防火墙常用命令
    https://blog.csdn.net/u012761191/article/details/126872556?spm=1001.2014.3001.5502

    单机模式standalone

    yum -y install wget
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/dolphinscheduler/2.0.5/apache-dolphinscheduler-2.0.5-bin.tar.gz
    # 解压到/opt/module目录下(没有可以建)
    tar -zxvf apache-dolphinscheduler-2.0.5-bin.tar.gz -C /opt/module/dolphinscheduler
    # 修改名字为dolphinscheduler
    mv apache-dolphinscheduler-2.0.5-bin/ dolphinscheduler
    #启动dolphinscheduler
    cd /opt/module/dolphinscheduler
    sh ./bin/dolphinscheduler-daemon.sh start standalone-server
    # 查看是否启动成功
    jps
    #
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    登录系统ui查看,ip替换为你的机器ip
    http://ip:12345/dolphinscheduler
    如果打不开查看端口是否开放

    yum install iptables-services
    #查看防火墙状态
    service iptables status
    #修改
    vi /etc/sysconfig/iptables
    #如果没有看到12345端口开放,则添加
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 12345 -j ACCEPT
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    伪集群部署

    伪集群部署目的是在单台机器部署 DolphinScheduler 服务,该模式下master、worker、api server、logger server都在同一台机器上

    如果你是新手,想要体验 DolphinScheduler 的功能,推荐使用Standalone方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用伪集群部署。如果你是在生产中使用,推荐使用集群部署或者kubernetes

    前置准备工作
    伪分布式部署 DolphinScheduler 需要有外部软件的支持

    JDK:下载JDK (1.8+),并将 JAVA_HOME 配置到以及 PATH 变量中。如果你的环境中已存在,可以跳过这步。
    二进制包:在下载页面下载 DolphinScheduler 二进制包
    数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
    注册中心:ZooKeeper (3.4.6+),下载地址
    进程树分析
    macOS安装pstree
    Fedora/Red/Hat/CentOS/Ubuntu/Debian安装psmisc
    注意: DolphinScheduler 本身不依赖 Hadoop、Hive、Spark,但如果你运行的任务需要依赖他们,就需要有对应的环境支持

    linux 安装psmsc

    yum -y install psmisc
    
    • 1

    准备 DolphinScheduler 启动环境

    配置用户免密及权限
    创建部署用户,并且一定要配置 sudo 免密。以创建 dolphinscheduler 用户为例

    #创建用户需使用 root 登录
    useradd dolphinscheduler
    #添加密码
    echo "dolphinscheduler" | passwd --stdin dolphinscheduler
    #配置 sudo 免密
    sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
    sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler--bin 目录有操作权限
    chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-
    -bin
    注意:
    因为任务执行服务是以 sudo -u {linux-user} 切换不同 linux 用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限,而且是免密的。初学习者不理解的话,完全可以暂时忽略这一点
    如果发现 /etc/sudoers 文件中有 “Defaults requirett” 这行,也请注释掉

    配置机器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

    注意: 配置完成后,可以通过运行命令 ssh localhost 判断是否成功,如果不需要输入密码就能ssh登陆则证明成功

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

    # 启动 zookeeper
    ./bin/zkServer.sh start
    
    • 1
    • 2

    修改相关配置
    完成了基础环境的准备后,在运行部署命令前,还需要根据环境修改配置文件。配置文件在路径在conf/config/install_config.conf下,一般部署只需要修改INSTALL MACHINE、DolphinScheduler ENV、Database、Registry Server部分即可完成部署,下面对必须修改参数进行说明

    # 伪集群都可以写成localhost,如下
    ips="localhost"
    sshPort="22"
    masters="localhost"
    workers="localhost"
    alertServer="localhost"
    apiServers="localhost"
    pythonGatewayServers="localhost"
    installPath="~/dolphinscheduler"
    deployUser="dolphinscheduler"
    javaHome="/usr/local/jdk1.8/jdk1.8.0_201"
    apiServerPort="12345"
    DATABASE_TYPE="postgresql"
    SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/dolphinscheduler
    SPRING_DATASOURCE_USERNAME="dolphinscheduler"
    SPRING_DATASOURCE_PASSWORD="dolphinscheduler"
    registryPluginName="zookeeper"
    registryNamespace="dolphinscheduler"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    初始化数据库
    DolphinScheduler 元数据存储在关系型数据库中,目前支持 PostgreSQL 和 MySQL,如果使用 MySQL 则需要手动下载 mysql-connector-java 驱动 (8.0.16) 并移动到 DolphinScheduler 的 lib目录下。
    我使用的是postgresql;
    先创建用户和库:

    -- 创建用户和库
    create user dolphinscheduler with password 'dolphinscheduler';
    create database dolphinscheduler owner dolphinscheduler;
    grant all privileges on database dolphinscheduler to dolphinscheduler ;
    
    • 1
    • 2
    • 3
    • 4

    初始化数据库

    sh script/create-dolphinscheduler.sh
    
    • 1

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

    sh install.sh
    
    • 1

    注意: 第一次部署的话,可能出现 5 次sh: bin/dolphinscheduler-daemon.sh: No such file or directory相关信息,次为非重要信息直接忽略即可

    登录 DolphinScheduler
    浏览器访问地址 http://localhost:12345/dolphinscheduler 即可登录系统UI。
    默认的用户名和密码是 admin/dolphinscheduler123
    注意:如果登录不上,往后看能不能解决

    启停服务

    # 一键停止集群所有服务
    sh ./bin/stop-all.sh
    
    # 一键开启集群所有服务
    sh ./bin/start-all.sh
    
    # 启停 Master
    sh ./bin/dolphinscheduler-daemon.sh stop master-server
    sh ./bin/dolphinscheduler-daemon.sh start master-server
    
    # 启停 Worker
    sh ./bin/dolphinscheduler-daemon.sh start worker-server
    sh ./bin/dolphinscheduler-daemon.sh stop worker-server
    
    # 启停 Api
    sh ./bin/dolphinscheduler-daemon.sh start api-server
    sh ./bin/dolphinscheduler-daemon.sh stop api-server
    
    # 启停 Logger
    sh ./bin/dolphinscheduler-daemon.sh start logger-server
    sh ./bin/dolphinscheduler-daemon.sh stop logger-server
    
    # 启停 Alert
    sh ./bin/dolphinscheduler-daemon.sh start alert-server
    sh ./bin/dolphinscheduler-daemon.sh stop alert-server
    
    # 启停 Python Gateway
    sh ./bin/dolphinscheduler-daemon.sh start python-gateway-server
    sh ./bin/dolphinscheduler-daemon.sh stop python-gateway-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    登录UI可能访问不到

    #安装好后,在window上访问该pg库,如果访问不到
    
    #看是否能ping通,不能先解决这个问题
    ping 192.168.111.130
    #查看端口是否对外开放
    telnet 192.168.111.130 12345  #12345为dolphinschduler的默认端口
    ##如果没有开放可以如下处理:
    # 安装  yum install iptables-services
    # 查看防火墙状态
    service iptables status
    vi /etc/sysconfig/iptables
    #添加
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 12345 -j ACCEPT
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    提升测试效果:深入解析《Effective软件测试》的关键方法与实践
    Kubernetes中gRpc的服务发现
    【毕业设计】基于Vue与SSM的在线聊天系统
    【C++ 】面向对象三大特性之封装和继承 详解
    JAVA之Mysql应用|记一次通过mysql表中的三个字段对应一个前端组合状态字段查询场景的解决方案
    PMP备考大全:经典题库(敏捷管理第4期)
    CSDN Meetup 回顾 丨从数据湖到指标中台,提升数据分析 ROI
    函数指针
    STM32F3系列 ADC采样单端采样模式(基于LL库)
    XAML标记扩展(3)
  • 原文地址:https://blog.csdn.net/u012761191/article/details/126848465