CDH集群部署DolphinScheduler

Dolphin

官网
易观开源项目,现已成为Apache孵化器项目(2020-07)
在这里插入图片描述

1 基础环境说明

  • MySQL 5.7
  • Zookeeper 3.5
  • Hadoop 3.0
  • JDK 1.8

CDH测试环境

  • 六台Centos7.7
  • 网关节点部署Worker
  • CM节点部署Master 和 Web

1.2 安装包下载

官方下载地址

分为前后端,一共需要下载两个tar包
在这里插入图片描述
在这里插入图片描述

2 后端部署

2.1 tar开gz包

创建安装目录

[root@ifeng01 opt]# mkdir -p /opt/dolphinscheduler;

解压 重命名

tar -zxvf apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin.tar.gz -C /opt/dolphinscheduler;
cd /opt/dolphinscheduler;


mv apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin  dolphinscheduler-backend

2.2 创建部署用户和hosts映射

在所有部署调度的机器上创建部署用户,并且一定要配置sudo免密码登录。
假如有三台机器,那么首先应该在每台机器上都创建部署用户

# 创建用户需使用root登录,设置部署用户名,请自行修改,后面以dolphinscheduler为例
useradd dolphinscheduler;

# 设置用户密码,请自行修改,后面以dolphinscheduler123为例
echo "dolphinscheduler123" | passwd --stdin dolphinscheduler

# 配置sudo免密
echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' >> /etc/sudoers
sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers

2.3 配置hosts映射和ssh打通

在第一台机器作为部署机器,在hosts中配置所有hosts,第一台机器用root登录

vi /etc/hosts

#这里全部采用的是内网地址,一定要删掉127.0.0.1这一行

10.2.0.6 ifeng01
10.2.0.7 ifeng02
10.2.0.8 ifeng03

同步ifeng01上的/etc/hosts到所有部署机器

for ip in ifeng02 ifeng03;     #请将此处ifeng02 ifeng03替换为自己要部署的机器的hostname
do
    sudo scp -r /etc/hosts  $ip:/etc/          #在运行中需要输入root密码
done

在ifeng01 上切换到部署用户并配置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

ssh localhost不需要输入密码
在这里插入图片描述

for ip in ifeng02 ifeng03;     #请将此处ifeng02 ifeng03替换为自己要部署的机器的hostname
do
    ssh-copy-id  $ip   #该操作执行过程中需要手动输入dolphinscheduler用户的密码
done

打通后,登录其他server不需要密码
在这里插入图片描述
在ifeng01上配置权限

sudo chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-backend

2.4 数据库初始化

选择了MySQLMySQL安装教程

1 添加驱动到lib

需要添加mysql-connector-java驱动包到DolphinScheduler的lib目录下
在这里插入图片描述
2 创建数据库&用户

mysql -uroot -p

创建数据库

mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

创建用户

create user 'dolphinscheduler'@'%' identified by '123456';
#赋予权限
grant all privileges  on dolphinscheduler.* to "dolphinscheduler"@'%';

3 修改配置
修改conf下的application-dao.properties

 vi conf/application-dao.properties 
  • 释掉 PostgreSQL 相关配置
  • 手动添加 [ mysql-connector-java 驱动 jar ] 包到 lib 目录下,这里下载的是mysql-connector-java-5.1.47.jar,然后正确配置数据库连接相关信息
# 首先copy一份出来
[dolphinscheduler@ifeng01 conf]$ cp application-dao.properties application-dao.properties_bak


# base spring data source configuration
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# postgre
#spring.datasource.driver-class-name=org.postgresql.Driver
#spring.datasource.url=jdbc:postgresql://192.168.xx.xx:5432/dolphinscheduler
# mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://ifeng01:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=dolphinscheduler
spring.datasource.password=123456

4 创建基础数据表

sh /opt/dolphinscheduler/dolphinscheduler-backend/script/create-dolphinscheduler.sh

在这里插入图片描述
6 修改运行参数

修改 conf/env 目录下的 .dolphinscheduler_env.sh 环境变量(以相关用到的软件都安装在/opt/soft下为例)

vi  /opt/dolphinscheduler/dolphinscheduler-backend/conf/env/.dolphinscheduler_env.sh

CDH的*_HOME地址如下

在这里插入图片描述

export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
export HADOOP_CONF_DIR=/opt/cloudera/parcels/CDH/lib/hadoop/etc/hadoop
#export SPARK_HOME1=/opt/cloudera/parcels/CDH/lib/spark1
#export SPARK_HOME2=/opt/cloudera/parcels/CDH/lib/spark2
export PYTHON_HOME=/usr/local/python3
export JAVA_HOME=/usr/java/jdk1.8.0_181
export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive
#export FLINK_HOME=/opt/cloudera/parcels/CDH/lib/flink
export PATH=$HADOOP_HOME/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$PATH

7 软连接Java

ln -s /usr/java/jdk1.8.0_181/bin/java /usr/bin/java

8 修改install

vi /opt/dolphinscheduler/dolphinscheduler-backend/install.sh
# 这里填 mysql or postgresql
dbtype="mysql"

# 数据库连接地址
dbhost="ifeng01:3306"

# 数据库名
dbname="dolphinscheduler"

# 数据库用户名,此处需要修改为上面设置的{user}具体值
username="dolphinscheduler"    

# 数据库密码, 如果有特殊字符,请使用\转义,需要修改为上面设置的{passowrd}具体值
passowrd="123456"

#将DS安装到哪个目录,如: /opt/soft/dolphinscheduler,不同于现在的目录
installPath="/opt/soft/dolphinscheduler"

#使用哪个用户部署,使用1.3小节创建的用户
deployUser="dolphinscheduler"

#Zookeeper地址
zkQuorum="ifeng01:2181,ifeng01:2181,ifeng01:2181"

#在哪些机器上部署DS服务
ips="ifeng01,ifeng02,ifeng03"

#master服务部署在哪台机器上
masters="ifeng01"

#worker服务部署在哪台机器上
workers="ifeng02,ifeng03"

#报警服务部署在哪台机器上
alertServer="ifeng01"

#后端api服务部署在在哪台机器上
apiServers="ifeng01"


# 邮件配置,以qq邮箱为例
# 邮件协议
mailProtocol="SMTP"

# 邮件服务地址
mailServerHost="apsmtp.aliyun.com"

# 邮件服务端口
mailServerPort="25"

# mailSender和mailUser配置成一样即可
# 发送者
mailSender="spi@aliyun.com"

# 发送用户
mailUser="spi@aliyun.com"

# 邮箱密码
mailPassword="Work3fun"

# TLS协议的邮箱设置为true,否则设置为false
starttlsEnable="false"

# 邮件服务地址值,参考上面 mailServerHost
sslTrust="smtp.exmail.qq.com"

# 开启SSL协议的邮箱配置为true,否则为false。注意: starttlsEnable和sslEnable不能同时为true
sslEnable="false"

# excel下载路径
xlsFilePath="/tmp/xls"

# 业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS,S3,NONE。如果想上传到HDFS,请配置为HDFS;如果不需要资源上传功能请选择NONE。
#resUploadStartupType="HDFS"

#如果上传资源保存想保存在hadoop上,hadoop集群的NameNode启用了HA的话,需要将core-site.xml和hdfs-site.xml放到conf目录下,本例即是放到/opt/dolphinscheduler/conf下面,并配置namenode cluster名称;如果NameNode不是HA,则只需要将mycluster修改为具体的ip或者主机名即可 
#defaultFS="hdfs://ifeng01:8020"


# 如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者hostname,比如"192.168.xx.xx,192.168.xx.xx",否则如果是单ResourceManager或者根本没用到yarn,请配置yarnHaIps=""即可,我这里没用到yarn,配置为""
#yarnHaIps=""

# 如果是单ResourceManager,则配置为ResourceManager节点ip或主机名,否则保持默认值即可。我这里没用到yarn,保持默认
#singleYarnIp="ark1"

9 安装kazoo

pip install kazoo  -i https://pypi.tuna.tsinghua.edu.cn/simple 

这里我直接下载没有成功,用了国内镜像加速

/usr/local/python3/bin/pip3.6 install kazoo -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

前端部署

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oifengo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值