Apache DolphinScheduler集群 1.3.3部署记录





DolphinScheduler 1.3.3 部署说明

环境依赖

PostgreSQL (8.2.15+) 或 MySQL (5.7系列)
JDK (1.8+)
ZooKeeper (3.4.6+)
Hadoop (2.6+)

创建部署用户和hosts映射

所有部署调度的机器上创建部署用户,并且一定要配置sudo免密。假如我们计划在ds1,ds2,ds3,ds4这4台机器上部署调度,首先需要在每台机器上都创建部署用户

# 创建用户需使用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

配置hosts以及各节点配置SSH免密登录

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

各节点上生成密钥

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

二进制包tar.gz下载

创建部署目录,部署目录请不要创建在/root、/home等高权限目录

mkdir -p /opt/apache-dolphinscheduler;
cd /opt/apache-dolphinscheduler;
sudo chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-install
tar -zxvf apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz -C /opt/apache-dolphinscheduler-install;

数据库初始化

以mysql为例,需添加mysql-connector-java驱动jar包至 /opt/apache-dolphinscheduler-install/lib目录下
​ mysql中需创建相应数据库,设置访问账号和密码。注: {user} 和 {password} 需要替换为具体的数据库用户名和密码

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
flush privileges;

修改apache-dolphinscheduler-install下conf/datasource.properties文件

#MySQL
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://${MySQL IP}:3306/dolphinscheduler_cdh?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true	
spring.datasource.username=${user}
spring.datasource.password={password}

执行apache-dolphinscheduler-install/script目录下的创建表及导入基础数据脚本

sh script/create-dolphinscheduler.sh

相应环境及各项配置

配置apache-dolphinscheduler-install/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_HOME1=/opt/soft/spark1
export SPARK_HOME2=/opt/cloudera/parcels/CDH/lib/spark
export PYTHON_HOME=/usr/lib64/python2.7
export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive
export FLINK_HOME=/opt/cloudera/parcels/FLINK-1.9.1-BIN-SCALA_2.11/lib/flink
export DATAX_HOME=/opt/datax/bin/datax.py
export SQOOP_HOME=/opt/cloudera/parcels/CDH/lib/sqoop/

export PATH=$HADOOP_HOME/bin:$HADOOP_CONF_DIR:$SPARK_HOME2:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME:$SQOOP_HOME/bin:$PATH

修改一键部署文件apache-dolphinscheduler-install/conf/config/install_config.conf,根据需求进行相应修改

# 这里填 mysql or postgresql
dbtype="mysql"

# 数据库连接地址
dbhost="172.30.xx.xx:3306"

# 数据库名
dbname="dolphinscheduler"

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

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

#Zookeeper地址
zkQuorum="172.30.xx.xx:2181,172.30.xx.xx:2181,172.30.xx.xx:2181"

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

#使用哪个用户部署,使用之前创建的用户
deployUser="dolphinscheduler"

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

# 邮件服务地址
mailServerHost="smtp.qq.com"

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

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

# 发送用户
mailUser="xxx@qq.com"

# 邮箱密码
mailPassword="xxx"

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

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

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

# 业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS,S3,NONE,单机如果想使用本地文件系统,请配置为HDFS,因为HDFS支持本地文件系统;如果不需要资源上传功能请选择NONE。强调一点:使用本地文件系统不需要部署hadoop
resourceStorageType="HDFS"

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


# 如果没有使用到Yarn,保持以下默认值即可;如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者hostname,比如"172.30.xx.xx,172.30.xx.xx";如果是单ResourceManager请配置yarnHaIps=""即可
yarnHaIps="172.30.xx.xx,172.30.xx.xx"

# 如果ResourceManager是HA或者没有使用到Yarn保持默认值即可;如果是单ResourceManager,请配置真实的ResourceManager主机名或者ip
singleYarnIp="yarnIp1"

# 资源上传根路径,主持HDFS和S3,由于hdfs支持本地文件系统,需要确保本地文件夹存在且有读写权限
resourceUploadPath="/data/dolphinscheduler"

# 具备权限创建resourceUploadPath的用户
hdfsRootUser="hdfs"


#在哪些机器上部署DS服务,本机选localhost
ips="ds1,ds2,ds3,ds4"

#ssh端口,默认22
sshPort="22"

#master服务部署在哪台机器上
masters="ds1,ds2"

#worker服务部署在哪台机器上,并指定此worker属于哪一个worker组,下面示例的default即为组名
workers="ds3:default,ds4:default"

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

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

若Hadoop集群配置了HA,需将core-site.xml和hdfs-site.xml复制到dolphinscheduler安装目录的conf下

执行一键部署

切换到部署用户dolphinscheduler,然后执行一键部署脚本

sh install.sh

脚本执行完毕后,相应节点将启动以下服务,可通过jps查看

MasterServer         ----- master服务
WorkerServer         ----- worker服务
LoggerServer         ----- logger服务
ApiApplicationServer ----- api服务
AlertServer          ----- alert服务

前端访问地址 http://172.30.xx.xx:12345/dolphinscheduler

服务启停操作

  • 一键停止集群所有服务

    sh ./bin/stop-all.sh
    
  • 一键开启集群所有服务

    sh ./bin/start-all.sh
    
  • 启停Master

sh ./bin/dolphinscheduler-daemon.sh start master-server
sh ./bin/dolphinscheduler-daemon.sh stop 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


抱歉,只有登录并在本文发表评论才能阅读隐藏内容
抱歉,只有登录并在本文发表评论才能阅读隐藏内容
点赞
  1. wangzhneyuhadoop说道:
    Google Chrome Windows 10
    2333

发表评论

电子邮件地址不会被公开。必填项已用 * 标注