更新时间:2024-04-23 GMT+08:00
分享

DolphinScheduler部署

前置条件说明

  • Zookeeper需安装好
  • JDK先配置好(1.8)
  • gcc 需安装好(4.8.*)
  • 安装大数据组件客户端(HDFS\YARN\HIVE\FLINK\SPARK)
  • 安装datax环境

安装机器

前提

  1. CDH中需要有两个Hadoop集群,每个集群下部署一套DS (CDH机器允许部署的情况)
  2. 如果是POC,可以只用一套DS
  3. CDH机器不允许部署的情况,参考https://deepexi.yuque.com/docs/share/cbb7e60f-7188-41ef-8a72-219f269c07aa?#,将部署机器加入CDH集群管理即可

文件上传

解压dolphinscheduler.zip, 将dolphinscheduler_ui.zip、dolphinscheduler-backend.zip、nginx-1.16.1.tar.g上传至/data/daas/目录下并且解压

图1 解压

配置dolphinscheduler用户并授权

# useradd dolphinscheduler
# echo "dolphinscheduler" | passwd --stdin dolphinscheduler
# sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
# sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
# su dolphinscheduler

配置sudo免密

# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys
# exit

授权ds源目录

# chown -R dolphinscheduler:dolphinscheduler /data/daas/dolphinscheduler-backend

授权ds安装目录

# mkdir -p /data/daas/dolphinscheduler
# chown -R dolphinscheduler:dolphinscheduler /data/daas/dolphinscheduler

如果是ds是集群(多master 多worker)的话,需要配置机器间免密登录,需要执行以下步骤

在安装DS的机器执行以下命令

# su dolphinscheduler

获取公钥

# less ~/.ssh/id_rsa.pub
图2 获取公钥

将生成的公钥复制到另外安装机器的 ~/.ssh/authorized_keys文件。

# vim ~/.ssh/authorized_keys

粘贴并保存,其他机器操作类似

配置hdfs用户

# su hdfs	如果出现:This account is currently not available. 说明 hdfs 是不可用的;如果没有该用户,则需要创建 # useradd hdfs,再执行以下步骤
# vi /etc/passwd 找到hdfs用户,将/sbin /nologin改成/bin/bash
# su hdfs	正常切到hdfs用户即可
# exit
# usermod -a -G dolphinscheduler hdfs 将hdfs用户加入dolphinscheduler组

配置datax环境检测

各个机器配置datax环境,解压datax.tar.gz到指定目录,例如/opt/soft/datax,将datax配置到环境变量

# vim /etc/profile 加入 : export DATAX_HOME=/opt/soft/datax
# source /etc/profile

建立JDK软连接

# sudo ln -s /data/daas/jdk1.8.0_251/bin/java /usr/bin/java

创建数据库

创建数据库,通过工具执行/dolphinscheduler/sql文件夹中的sql文件(两份都需要执行),这里以账号为root,密码为daas2020

图3 创建数据库

修改配置

  1. 找到 hdfs-site.xml 和 core-site.xml 文件,一般在 /etc/hadoop/conf 目录下,复制到/data/daas/dolphinscheduler-backend/conf目录下

    # cp /etc/hadoop/conf/hdfs-site.xml /etc/hadoop/conf/core-site.xml /data/daas/dolphinscheduler-backend/conf

  2. 修改运行参数,修改 `conf/env` 目录下的 `.dolphinscheduler_env.sh` 环境变量(以相关用到的软件都安装在/opt/soft下为例)
    [dolphinscheduler@tools]#  vi /data/daas/dolphinscheduler-backend/conf/env/.dolphinscheduler_env.sh
    export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
    export HADOOP_CONF_DIR=/opt/cloudera/parcels/CDH/lib/hadoop/etc/hadoop
    export SPARK_HOME=/opt/cloudera/parcels/CDH/lib/spark
    export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive
    export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
    export PYTHON_HOME=/usr/bin/python2.7
    export FLINK_HOME=/opt/flink
    export DATAX_HOME=/opt/soft/datax
    PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$PATH
  3. 修改一键部署脚本 install.sh中的各参数,特别注意以下参数的配置(这个配置很重要,如果设置不当,dolphinscheduler是启动不了的,输入后要多次检查)
    [root@tools]# vi /data/daas/dolphinscheduler-backend/install.sh
    dbtype="mysql" 
    #数据库地址
    dbhost="10.57.4.14:3306"
    #数据库名字
    dbname="dolphinscheduler" 
    #数据库用户
    username="root"
    #密码
    passowrd="daas2020" 
    #改成上面已经授权了的路径
    installPath="/data/daas/dolphinscheduler" 
    #安装用户,就是前面linux新建的用户
    deployUser="dolphinscheduler" 
    #改成对应的zookeeper地址和端口,如果是集群部署,用逗号隔开
    zkQuorum="10.201.0.1112:2181,10.201.0.1113:2181" 
    #部署ds的机器,用逗号隔开,所有worker机器都需要写上,如果只有一台机器则写一个ip
    ips="10.201.0.112,10.201.0.113" 
    #master服务部署在哪台机器上,所有master机器都需要写上并且用逗号隔开
    masters="10.201.0.112"	
    #worker服务部署在哪台机器上,所有worker机器都需要写上并且用逗号隔开
    workers="10.201.0.112"	
    #报警服务部署在哪台机器上(一般在master)
    alertServer="10.201.0.112"	
    #后端api服务部署在在哪台机器上(只在一台机器部署就可以)
    apiServers="10.201.0.112" 
    #邮件协议
    mailProtocol="SMTP" 
    # mail server host
    # 邮件配置,以qq邮箱为例
    mailServerHost="smtp.exmail.qq.com" 	
    # mail server port
    #邮件端口
    mailServerPort="25" 
    # sender
    #发送者
    mailSender="daas@deepexi.com"  
    #发送用户
    mailUser=""daas@deepexi.com"  
    # sender password
    #邮箱密码
    mailPassword="daas2020" 
     # TLS协议的邮箱设置为true,否则设置为false
    starttlsEnable="true"
    # 邮件服务地址值,参考上面 mailServerHost
    sslTrust="smtp.mxhichina.com" 
    # 开启SSL协议的邮箱配置为true,否则为false。注意: starttlsEnable和sslEnable不能同时为true
    sslEnable="false" 
    # 这里必须改为HDFS
    resUploadStartupType="HDFS" 
    #hdfs地址
    defaultFS="hdfs://10.201.0.112:8020" 
    #yarn集群的所有ip,用逗号隔开,例如"10.201.0.112,10.201.0.113" ,如果不是集群,则不用填
    yarnHaIps= 
    #如果yarn是集群的则不用填,如果不是集群,则填ip,例如"10.201.0.112"
    singleYarnIp=
    #hdfs目录
    hdfsPath="/dolphinscheduler" 
    # 注意,如果开启了 kerberos ,这个选项为空
    hdfsRootUser="hdfs" 

执行脚本

# su dolphinscheduler 切换到dolphinscheduler用户,执行install.sh脚本,然后到各个机器上执行jps命令,查看服务是否启动成功

前端UI部署(在线、离线二选一进行部署)

  • 在线部署

    进入dolphinscheduler-ui目录下执行,切换到root用户 sh ./install-dolphinscheduler-ui.sh,执行后,会在运行中请键入前端端口,默认端口是8888,或者键入其他端口,然后会让键入跟前端ui交互的api-server的ip,接着是让键入跟前端ui交互的api-server的port,接着是操作系统选择,最后等待部署完成

  • 离线部署
    1. 安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel
    2. 切换到root用户下,上传nginx-1.16.1.tar.gz到/data/daas
    3. # tar -zxvf nginx-1.16.1.tar.gz

      # cd nginx-1.16.1

      #./configure --without-http_rewrite_module --without-http_gzip_module --prefix=/usr/local/nginx /usr/local/nginx是nginx的安装目录

      # make & make install

      # cd /usr/local/nginx/sbin

      # ./nginx

    4. 修改nginx.conf配置
      # cd /usr/local/nginx/conf
      # vim nginx.conf
      server {
      listen       8888; # 访问端口(自行修改)
      server_name  ip; # api服务的ip
      location / {
      root   /data/daas/dolphinscheduler_ui/dist; # 前端解压的dist目录地址(自行修改)
      index  index.html index.html;
      }
      client_max_body_size 50m;
      location /dolphinscheduler {
      proxy_pass http://ip:12345;# API服务的接口地址(自行修改)
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header x_real_ipP $remote_addr;
      proxy_set_header remote_addr $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_http_version 1.1;
      proxy_connect_timeout 4s;
      proxy_read_timeout 30s;
      proxy_send_timeout 12s;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      }
      }
      # cd /usr/local/nginx/sbin

      重启nginx

      # ./nginx -s reload
    5. 浏览器访问http://ip:8888,出现登录页面即可

租户用户创建

  1. 使用admin/dolphinscheduler123 登录,到租户管理中创建hdfs租户,编码一定要是hdfs
    图4 图示1
  2. 创建用户,并退出admin账户,登录新创建的用户,再到资源中心上传文件,将flink-sql-submit.jar,hive-sync.sh上传上去即可。
    图5 图示2

相关文档