如何在CDH5.16.2中部署海豚调度器Apache Dolphin Scheduler 1.2.0

Apache Dolphin Scheduler

组件介绍

分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。

官网 : https://dolphinscheduler.apache.org/en-us/

Github : https://github.com/apache/incubator-dolphinscheduler

部署环境

  • CDH测试环境
    • 6台机器
    • 网关节点部署worker
    • CM节点部署master和监控web
    • 网关节点上已经部署hive&spark网关
  • 平台版本
    • CDH5.16.2
    • Dolphin Scheduler 1.2.0
  • 基础软件
    • PostgreSQL或MySql存储元数据

前端部署

安装包下载

https://dolphinscheduler.apache.org/en-us/docs/release/download.html

  • 创建部署文件夹/opt/ds,上传tar包到该目录中,并进行解压
# create deploy dir
mkdir -p /opt/ds/ds-ui;
# decompression
tar -zxvf apache-dolphinscheduler-incubating-1.2.1-SNAPSHOT-dolphinscheduler-front-bin.tar.gz -C /opt/ds/;
mv apache-dolphinscheduler-incubating-1.2.1-SNAPSHOT-dolphinscheduler-front-bin ds-1.2.0-ui;

选择自动化部署

  • 检查yum源,这里是开发环境,外网需要使用代理,需要安装nginx
  • 进入ds-1.2.0-ui目录,执行install-dolphinscheduler-ui.sh安装脚本
  • 修改前端端口为:8886,防止与Hue端口冲突
  • 修改api-server的ip
  • 修改api-server端口
  • 选择centos7安装

修改nginx上传大小参数

  • 添加nginx配置 client_max_body_size 1024m;
  • 重启nginx
  • 这一步一定要做,否则资源过大无法上传资源中心
vi /etc/nginx/nginx.conf

# add param
client_max_body_size 1024m;

# restart nginx
systemctl restart nginx

访问前端页面的8888(自定义成了8886)端口,出现loading页面,前端web安装完成

后端部署

准备工作

下载安装包

https://dolphinscheduler.apache.org/en-us/docs/release/download.html

上传tar包到/opt/ds中,并进行解压

tar -zxvf apache-dolphinscheduler-incubating-1.2.1-SNAPSHOT-dolphinscheduler-backend-bin.tar.gz -C /opt/ds/;
mv apache-dolphinscheduler-incubating-1.2.1-SNAPSHOT-dolphinscheduler-backend-bin ds-1.2.0-backend;

创建部署用户

  • 创建部署用户并设置密码(所有部署机器)
  • 将部署用户挂到hadoop组下,使用hdfs作为资源中心
  • 配置sudo免密
# add user dscheduler
useradd dscheduler;
# modify user password
passwd dscheduler;
# add sudo
vi /etc/sudoers;
dscheduler      ALL=(ALL)       NOPASSWD: ALL

  • 切换到部署用户并配置机器免密登陆,伪分布式需配置本机免密登陆
su dscheduler;
ssh-keygen -t rsa;
#配置相互免密和单机自身免密,[hostname]配置需要免密的机器hosts
ssh-copy-id -i ~/.ssh/id_rsa.pub dscheduler@[hostname];

数据库初始化

  • 进入CDH集群的mysql
    • mysql -uroot -p
  • 默认数据库是pg,mysql需要添加mysql-connector-java包到lib目录下
  • 执行数据库初始化命令,设置访问账号密码
CREATE DATABASE dscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dscheduler.* TO 'dscheduler'@'%' IDENTIFIED BY 'xxxx';
GRANT ALL PRIVILEGES ON dscheduler.* TO 'dscheduler'@'localhost' IDENTIFIED BY 'xxxx';
FLUSH PRIVILEGES;

  • 创建表和导入基础数据
    • 修改conf目录下的application-dao.properties文件
    • 注释掉pg,使用mysql
    • 添加mysql-connector-java包到lib目录下

- 执行script目录下的create-dolphinscheduler.sh

配置环境变量

  • 修改目录权限
chown -R dscheduler:dscheduler ds-1.2.0-backend/;
chmod -R 755 ds-1.2.0-backend/;

  • 修改conf/env目录下的.dolphinscheduler_env.sh文件
    • ds-1.2.0版本中的Spark任务组件,只能提交Spark1的任务
    • SPARK_HOME1&SPARK_HOME2均配置为集群的Spark2-Home
    • 也可以注释掉SPARK_HOME1
    • Flink没有在集群中部署,不修改参数

  • 将jdk软链到/bin/java下
ln -s /usr/java/jdk1.8.0_131/bin/java /usr/bin/java

  • 修改install.sh的配置,按照集群自身情况
    • 注意参数
      • installPath - 将ds安装到哪个位置,如:/opt/ds-agent
      • zkQuorum - 一定是ip:2181,记得把2181端口带上
      • deployUser - 部署用户,需要有操作HDFS的权限
    • 要使用HDFS作为资源中心,HA情况下,需要将集群的core-site.xml文件和hdfs-site.xml文件拷贝到conf目录

部署安装kazoo

  • 安装python的zk工具
    • CDH集群默认是python2.7
yum -y install python-pip;
pip install kazoo;

  • 执行install脚本,sh install.sh
  • 在worker和master机器上使用jps查看服务是否启动

  • 访问前端
    • 用户名admin
    • 密码dolphinscheduler123

  • dolphin scheduler 1.2.0部署完成

DAG测试

  • 创建租户

  • 创建用户
  • 如果租户创建有问题,请检查是否启用资源中心

  • 新建项目并新建工作流

  • 运行工作流,查看执行结果

  • 至此 Dolphin Scheduler 1.2.0 dag demo测试完成

任何程序错误,以及技术疑问或需要解答的,请添加

如何在CDH5.16.2中部署海豚调度器Apache Dolphin Scheduler 1.2.0_第1张图片

 

你可能感兴趣的:(big,data)