1. 资源规划
组件 | bigdata-hk-node1 | bigdata-hk-node2 | bigdata-hk-node3 |
---|---|---|---|
OS | centos7.6 | centos7.6 | centos7.6 |
JDK | jvm | jvm | jvm |
Zookeeper | QuorumPeerMain | QuorumPeerMain | QuorumPeerMain |
MySQL | N.A | N.A | mysqld |
DS | MasterServer / ApiApplicationServer | MasterServer / WorkerServer / AlertServer / LoggerServer | WorkerServer / LoggerServer |
2. 安装介质
版本:apache-dolphinscheduler-1.3.9-bin.tar.gz
下载:https://dolphinscheduler.apache.org/zh-cn/download/download.html
3. 环境准备
- 安装JDK(v1.8+)
- 安装MySQL(v5.7+,JDBC Driver v5.1.47+)
- 安装ZooKeeper(v3.4.6+)
参考:《CentOS7.6-安装ZooKeeper-3.6.3》
说明:节点内存建议分配大于4G,否则告警服务器、日志服务器等无法正常启动。
4. 安装DS
4.1. 解压缩
cd /share
tar -zxvf apache-dolphinscheduler-1.3.9-bin.tar.gz -C /opt/module/
mv /opt/module/apache-dolphinscheduler-1.3.9-bin /opt/module/dolphinscheduler-1.3.9
4.2. 创建部署用户
先在“bigdata-hk-node1”节点部署DolphinScheduler,之后分发到其他节点,所有安装节点均需新建用户:**dolphinscheduler**
。
sudo su
# 新建用户(所有DS相关节点执行)
useradd dolphinscheduler
# 设置密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler
设置sudo免密:
sudo su
echo 'dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' >> /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
4.3. 配置hosts映射
安装虚拟机时已配置好映射,此处可省略。
sudo vi /etc/hosts
192.168.56.101 bigdata-hk-node1
192.168.56.102 bigdata-hk-node2
192.168.56.103 bigdata-hk-node3
4.3. 配置ssh免密登录
配置节点“bigdata-hk-node1”到其他节点的ssh免密登录,以下操作均在bigdata-hk-node1节点上执行。
修改DolphinScheduler安装目录权限。
sudo chown -R dolphinscheduler:dolphinscheduler /opt/module/dolphinscheduler-1.3.9
生成密钥。
su - dolphinscheduler
ssh-keygen
将生成的公钥复制到其他节点。
ssh-copy-id bigdata-hk-node1
ssh-copy-id bigdata-hk-node2
ssh-copy-id bigdata-hk-node3
4.4. 配置数据库
# bigdata-hk-node3(MySQL安装节点,root)
sudo su
source /etc/profile
mysql -uroot -p123456
内容如下:
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler';
flush privileges;
quit
4.5. 创建表和导入基础数据
修改“conf”目录下“datasource.properties”中的配置。如果选择MySQL,请注释掉PostgreSQL相关配置(反之同理),还需要手动添加MySQL驱动jar包到“lib”目录下,这里下载的是:mysql-connector-java-5.1.47.jar,然后正确配置数据库连接相关信息。
cd /opt/module/dolphinscheduler-1.3.9
cp /share/mysql-connector-java-5.1.47.jar /opt/module/dolphinscheduler-1.3.9/lib/
vi conf/datasource.properties
内容如下: ```
postgre
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler
mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://192.168.56.103:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true spring.datasource.username=dolphinscheduler spring.datasource.password=dolphinscheduler
修改并保存完后,执行“script”目录下的创建表及导入基础数据脚本。
```bash
cd /opt/module/dolphinscheduler-1.3.9
sh script/create-dolphinscheduler.sh
4.6. 修改运行参数
cd /opt/module/dolphinscheduler-1.3.9
rm -rf conf/env/dolphinscheduler_env.sh
vi conf/env/dolphinscheduler_env.sh
内容如下:
export HADOOP_HOME=/opt/module/hadoop-3.2.2
export HADOOP_CONF_DIR=/opt/module/hadoop-3.2.2/etc/hadoop
export SPARK_HOME2=/opt/module/spark
export PYTHON_HOME=/usr/bin/python
export JAVA_HOME=/opt/module/jdk1.8.0_221
export HIVE_HOME=/opt/module/apache-hive-3.1.2-bin
export DATAX_HOME=/opt/module/datax/bin/datax.py
export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$DATAX_HOME:$PATH
创建JDK软链接:
sudo ln -s /opt/module/jdk1.8.0_221/bin/java /usr/bin/java
4.7. 修改一键部署参数
cd /opt/module/dolphinscheduler-1.3.9
vi conf/config/install_config.conf
内容如下:
# 这里填mysql或postgresql
dbtype="mysql"
# 数据库连接地址
dbhost="192.168.56.103:3306"
# 数据库名
dbname="dolphinscheduler"
# 数据库用户名
username="dolphinscheduler"
# 数据库密码,如果有特殊字符,请使用 \ 转义
password="dolphinscheduler"
# Zookeeper 地址
zkQuorum="192.168.56.101:2181,192.168.56.102:2181,192.168.56.103:2181"
# 将DS安装到哪个目录,不同于解压目录,在解压目录中新建了一个install_path作为安装目录
installPath="/opt/module/dolphinscheduler-1.3.9/install"
# 使用哪个用户部署,使用第 3 节创建的用户
deployUser="dolphinscheduler"
# 邮件协议
mailProtocol="SMTP"
# 邮件服务地址
mailServerHost="smtp.qq.com"
# 发送者
mailSender="xxx@qq.com"
# 发送用户
mailUser="xxx@qq.com"
# 邮件服务地址值,与${mailServerHost}保持一致
sslTrust="smtp.qq.com"
# 业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS、S3、NONE
# 单机如果想使用本地文件系统,请配置为 HDFS,因为 HDFS 支持本地文件系统;
# 如果不需要资源上传功能请选择NONE。强调一点:使用本地文件系统不需要部署hadoop
resourceStorageType="HDFS"
# 用户数据本地目录,请确保该目录存在,且具有读写权限
dataBasedirPath="/opt/module/dolphinscheduler-1.3.9/data"
# 如果上传资源保存想保存在hadoop上,hadoop集群的NameNode 启用了HA的话,
# 需要将hadoop的配置文件core-site.xml和hdfs-site.xml 放到安装路径的conf目录下
# 本例即是放到/opt/module/dolphinscheduler/conf下面,并配置namenode cluster名称;
# 如果NameNode不是HA,则只需要将mycluster修改为具体的ip或者主机名即可
defaultFS="hdfs://bigdata-hk-node1:8020"
# 如果没有使用到Yarn,保持以下默认值即可;
# 如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者 hostname
# 比如"192.168.xx.xx,192.168.xx.xx";
# 如果是单ResourceManager请配置yarnHaIps=""即可
yarnHaIps=""
# 如果ResourceManager是HA或者没有使用到Yarn保持默认值即可;
# 如果是单ResourceManager,请配置真实的ResourceManager主机名或者ip
singleYarnIp="192.168.56.102"
# 资源上传根路径,主持HDFS和S3,由于hdfs支持本地文件系统,需要确保本地文件夹存在且有读写权限
resourceUploadPath="/opt/module/dolphinscheduler-1.3.9/resource"
# 在哪些机器上部署DS服务
ips="192.168.56.101,192.168.56.102,192.168.56.103"
# master服务部署在哪台机器上
masters="192.168.56.101,192.168.56.102"
# worker服务部署在哪台机器上,并指定此worker属于哪一个worker组
# 下面示例的default即为组名
workers="192.168.56.102:default,192.168.56.103:default"
# 报警服务部署在哪台机器上
alertServer="192.168.56.102"
# api 服务端口(默认)
apiServerPort="12345"
# 后端api服务部署在在哪台机器上
apiServers="192.168.56.101"
4.8. 一键部署
su - dolphinscheduler
cd /opt/module/dolphinscheduler-1.3.9
sh install.sh
进程查看:
# bigdata-hk-node1
jps
**** MasterServer
**** ApiApplicationServer
# bigdata-hk-node2
jps
**** MasterServer
**** WorkerServer
**** AlertServer
**** LoggerServer
# bigdata-hk-node3
jps
**** WorkerServer
**** LoggerServer
日志查看:
ls -l /opt/module/dolphinscheduler-1.3.9/install/logs
tail -200f /opt/module/dolphinscheduler-1.3.9/install/logs/dolphinscheduler-*.out
tail -200f /opt/module/dolphinscheduler-1.3.9/install/logs/dolphinscheduler-*.log
5. 服务启停
cd /opt/module/dolphinscheduler-1.3.9/install
# 一键启停
sh ./bin/start-all.sh
sh ./bin/stop-all.sh
6. 验证
WebUI:http://bigdata-hk-node1:12345/dolphinscheduler
默认账户口令:admin/dolphinscheduler123