dolphinscheduler部署安装及使用

前言

dolphinscheduler又称海豚调度器,本文内容分为dolphinscheduler单机部署、集群部署、功能使用以及相关问题解决

部署安装

环境准备

操作系统:linux centos6/7

部署版本:apache-dolphinscheduler-2.0.5-bin

JDK:配置java环境,将JAVA_HOME配置于PATH中,推荐版本使用jdk8以上

数据库:本文使用的是MySQL5.7版本,也能使用5.7版本以上,或者是使用PostgreSQL数据库(8.2.15+)

注册中心:zookeeper(3.5.5+)

配置系统环境
  1. 创建部署用户,以创建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
# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin
  1. 配置ssh免密登录,安装时需要向其他集群服务器发送资源
# 生成公私钥
ssh-keygen
# 拷贝到其他节点
ssh-copy-id -i ~/.ssh/id_rsa.pub dolphionscheduler@node-2
ssh-copy-id -i ~/.ssh/id_rsa.pub dolphionscheduler@node-3
# 客户端通过ssh连接远程服务器,就可以免密登录了
ssh dolphionscheduler@node-2
修改安装配置文件

在安装之前需要修改install_config.conf文件,基础安装只需要修改INSTALL MACHINE、DolphinScheduler ENV、Database、Registry Server几个部分即可,下面对这些参数进行说明(实际环境中最好删除以下注释

# ---------------------------------------------------------
# INSTALL MACHINE
# ---------------------------------------------------------
# 集群服务器(hostname/ip)
ips="node-1,node-2,node-3"
# ssh默认端口
sshPort="22"
# 主服务节点
masters="node-1"
# 工作服务节点
workers="node-2:default,node-3:default"
# 预警服务节点
alertServer="node-3"
# 对外开放api节点
apiServers="node-1"
# python网关服务节点
pythonGatewayServers="ds1"
# 安装路径
installPath="/opt/dolphinscheduler"
# 部署用户
deployUser="dolphinscheduler"
# ---------------------------------------------------------
# DolphinScheduler ENV
# ---------------------------------------------------------
# jdk安装目录
javaHome="/usr/cybersmart/bigdata/common/jdk1.8.0_121"
# api服务端口
apiServerPort="12345"
# ---------------------------------------------------------
# Database
# ---------------------------------------------------------
# 数据库类型mysql/h2/postgresql
DATABASE_TYPE=${DATABASE_TYPE:-"mysql"}
# jdbc连接URL
SPRING_DATASOURCE_URL=${SPRING_DATASOURCE_URL:-"jdbc:mysql://10.1.2.53:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8"}
# 数据库用户名
SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME:-"dolphinscheduler"}
# 数据库用户密码
SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD:-"dolphinscheduler"}
# ---------------------------------------------------------
# Registry Server
# ---------------------------------------------------------
# 注册中心类型
registryPluginName="zookeeper"
# 注册中心地址
registryServers="10.1.2.51:2181,10.1.2.52:2181,10.1.2.53:2181,10.1.2.54:2181,10.1.2.55:2181"
# 注册中心zNode命名空间
registryNamespace="dolphinscheduler"
初始化数据库

DolphinScheduler 元数据存储在关系型数据库中,目前支持 PostgreSQL 和 MySQL,如果使用 MySQL 则需要手动下载 mysql-connector-java 驱动 (5.1.38+) 并移动到 DolphinScheduler 的 lib目录下。下面以 MySQL 为例,说明如何初始化数据库

mysql -uroot -p
mysql> CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler'
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> grant all privileges on dolphinscheduler.* to 'dolphinscheduler'@'%' ;
mysql> flush privileges;

完成上述操作之后已经为DolphinScheduler创建了一个新的数据库,然后通过Shell脚本快速初始化数据库

sh script/create-dolphinscheduler.sh
安装并启动DolphinScheduler

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

sh install.sh

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

登录DolphinScheduler

访问http://apiServers:apiServerPort/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
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐