赞
踩
apache-dolphinscheduler-3.2.0-bin.tar.gz
主机名 | ip | 部署服务 |
---|---|---|
hadoop31 | 192.168.0.31 | MasterServer、WorkerServer、ApiServer |
hadoop32 | 192.168.0.32 | MasterServer、WorkerServer |
hadoop33 | 192.168.0.33 | WorkerServer、AlertServer |
组件 | 默认端口 | 说明 |
---|---|---|
MasterServer | 5678 | 非通信端口,只需本机端口不冲突即可 |
WorkerServer | 1234 | 非通信端口,只需本机端口不冲突即可 |
ApiApplicationServer | 12345 | 提供后端通信端口 |
服务端:192.168.0.31 客户端:192.168.0.32、192.168.0.33,服务端在31执行,客户端在32、33执行
# 服务端和客户端,安装chrony yum install chrony -y # 服务端和客户端,安装chrony yum install chrony -y # 服务端(此处也可以使用 ntp.aliyun.com 来代替 192.168.0.31,使用阿里云时间服务,如果使用31则是本机时间) cat > /etc/chrony.conf << EOF pool 192.168.0.31 iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync allow 192.168.0.0/24 local stratum 10 keyfile /etc/chrony.keys leapsectz right/UTC logdir /var/log/chrony EOF # 客户端 cat > /etc/chrony.conf << EOF pool 192.168.0.31 iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync keyfile /etc/chrony.keys leapsectz right/UTC logdir /var/log/chrony EOF # 客服端和服务端,重启chrony,开机自启动 systemctl restart chronyd systemctl enable chronyd #客户端进行验证 chronyc sources -v # 参数解释 # # pool ntp.aliyun.com iburst # 指定使用ntp.aliyun.com作为时间服务器池,iburst选项表示在初始同步时会发送多个请求以加快同步速度。 # # driftfile /var/lib/chrony/drift # 指定用于保存时钟漂移信息的文件路径。 # # makestep 1.0 3 # 设置当系统时间与服务器时间偏差大于1秒时,会以1秒的步长进行调整。如果偏差超过3秒,则立即进行时间调整。 # # rtcsync # 启用硬件时钟同步功能,可以提高时钟的准确性。 # # allow 192.168.0.0/24 # 允许192.168.0.0/24网段范围内的主机与chrony进行时间同步。 # # local stratum 10 # 将本地时钟设为stratum 10,stratum值表示时钟的准确度,值越小表示准确度越高。 # # keyfile /etc/chrony.keys # 指定使用的密钥文件路径,用于对时间同步进行身份验证。 # # leapsectz right/UTC # 指定时区为UTC。 # # logdir /var/log/chrony # 指定日志文件存放目录。
# 创建用户需使用 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
chmod -R 755 apache-dolphinscheduler-*-bin
# 使用创建的 dolphinscheduler 登陆,配置hadoop31到hadoop32、hadoop33免密登陆
su dolphinscheduler
# hadoop31节点,生成密钥
ssh-keygen -t rsa
# hadoop31节点操作,配置向hadoop31、hadoop32、hadoop33节点免密
ssh-copy-id hadoop31
ssh-copy-id hadoop32
ssh-copy-id hadoop33
ZK集群安装,参考教程:ZooKeeper集群的安装,本文安装 ZK 版本为 3.8.3。参考教程中是 3.4.14,安装步骤都是一样样儿的,对应着来就可以了。
# 启动zk集群
bin/zkServer.sh start
此处以
MySQL
为例
此处可使用
root
用户,推荐单独创建一个用户dolphinscheduler
-- 进入MySQL命令行
[root@hadoop01]# mysql -u root -p
Enter password: xxxxxx
-- 创建 dolphinscheduler 数据库用户和密码,并限定登陆范围
mysql > CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
-- 创建 dolphinscheduler 的元数据,并指定编码
mysql > CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- 为dolphinscheduler数据库授权
mysql > grant all privileges on dolphinscheduler.* to 'dolphinscheduler'@'%';
-- 刷新权限
mysql > flush privileges;
# 将apache-dolphinscheduler-3.2.0-bin.tar.gz上传至/opt/targz目录下
# 解压
[root@hadoop31 targz]# tar zxvf ./apache-dolphinscheduler-3.2.0-bin.tar.gz
# 修改目录权限,使得部署用户对解压缩后的文件有操作权限
[root@hadoop31 targz]# chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-3.2.0-bin
此处使用 MySQL 8.2.0版本,对应使用 JDBC 驱动为 mysql-connector-j-8.2.0.jar
,将该驱动移动至 DolphinScheduler 的每个模块下的 libs 目录下。共5个目录:
# 修改dolphinscheduler_env.sh vim apache-dolphinscheduler-3.2.0-bin/bin/env/dolphinscheduler_env.sh # 在文末添加以下配置: # JAVA_HOME, will use it to start DolphinScheduler server # JDK配置 export JAVA_HOME=${JAVA_HOME:-/opt/soft/jdk8} # Database related configuration, set database type, username and password # MySQL数据库配置 export DATABASE=${DATABASE:-mysql} export SPRING_PROFILES_ACTIVE=${DATABASE} export SPRING_DATASOURCE_URL="jdbc:mysql://192.168.17.28:3307/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false" export SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME:-"dolphinscheduler"} export SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD:-"dolphinscheduler"} # DolphinScheduler server related configuration export SPRING_CACHE_TYPE=${SPRING_CACHE_TYPE:-none} export SPRING_JACKSON_TIME_ZONE=${SPRING_JACKSON_TIME_ZONE:-UTC} export MASTER_FETCH_COMMAND_NUM=${MASTER_FETCH_COMMAND_NUM:-10} # Registry center configuration, determines the type and link of the registry center # zk注册中心 export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper} export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-hadoop31:2181,hadoop32:2181,hadoop33:2181} # Tasks related configurations, need to change the configuration if you use the related tasks. # 其他环境配置(此处只配置了hadoop、hive,其他环境未部署) # 如果你不使用某些任务类型,可以忽略不做配置,使用默认即可。比如Flink不使用,不做处理即可 export HADOOP_HOME=${HADOOP_HOME:-/opt/soft/hadoop-3.3.6} export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-/opt/soft/hadoop-3.3.6/etc/hadoop} export SPARK_HOME=${SPARK_HOME:-/opt/soft/spark} export PYTHON_LAUNCHER=${PYTHON_LAUNCHER:-/opt/soft/python} export HIVE_HOME=${HIVE_HOME:-/opt/soft/hive-3.1.3} export FLINK_HOME=${FLINK_HOME:-/opt/soft/flink} export DATAX_LAUNCHER=${DATAX_LAUNCHER:-/opt/soft/datax/bin/python3} export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_LAUNCHER:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_LAUNCHER:$PATH
# 修改install_env.sh vim apache-dolphinscheduler-3.2.0-bin/bin/env/install_env.sh # 按照集群部署方案,内容如下: # 集群节点 ips=${ips:-"hadoop31,hadoop32,hadoop33"} # ssh免密端口,使用默认 sshPort=${sshPort:-"22"} # master节点 masters=${masters:-"hadoop31,hadoop32"} # worker节点 workers=${workers:-"hadoop31:default,hadoop32:default,hadoop33:default"} # alert节点 alertServer=${alertServer:-"hadoop33"} # api节点 apiServers=${apiServers:-"hadoop31"} # dolphinscheduler实际安装路径 installPath=${installPath:-"/opt/soft/dolphinscheduler-3.2.0"} # 部署dolphinscheduler使用的用户名 deployUser=${deployUser:-"dolphinscheduler"} # zk根节点 zkRoot=${zkRoot:-"/dolphinscheduler"}
# 切换到apache-dolphinscheduler-3.2.0-bin目录下,执行命令
[root@hadoop31 apache-dolphinscheduler-3.2.0-bin]# sh ./tools/bin/upgrade-schema.sh
# 此操作,会向MySQL数据库写入元数据,共计65张表,如图所示:
# 执行install.sh部署命令
[root@hadoop31 apache-dolphinscheduler-3.2.0-bin]# ./bin/install.sh
# 当看到下图时,说明 DS 安装完成
提示:
安装完成后,此时安装用到的 apache-dolphinscheduler-3.2.0-bin 文件就没用了。
此时,已经将 DS 安装到配置中指定的 /opt/soft/dolphinscheduler-3.2.0 目录下了
访问地址:http://192.168.0.31:12345/dolphinscheduler/ui/
用户名:admin
密码:dolphinscheduler123
第一次安装后,会自动启动所有服务。如有服务问题或者后续需要启停,命令如下。以下脚本都在 DolphinScheduler安装目录的bin下
# 一键停止集群所有服务 sh /opt/soft/dolphinscheduler-3.2.0/bin/stop-all.sh # 一键启动集群所有服务 sh /opt/soft/dolphinscheduler-3.2.0/bin/start-all.sh # 启/停 master 服务 sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh start master-server sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh stop master-server # 启/停 worker 服务 sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh start worker-server sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh stop worker-server # 启/停 api 服务 sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh start api-server sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh stop api-server # 启/停 alert 服务 sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh start alert-server sh /opt/soft/dolphinscheduler-3.2.0/bin/dolphinscheduler-daemon.sh stop alert-server
本文结束,谢谢
___ ___ ___ ___ ___ ___
/\ \ /\ \ /\__\ /\ \ /\ \ /\__\
/::\ \ /::\ \ /::L_L_ /::\ \ /::\ \ /:| _|_
/:/\:\__\ /:/\:\__\ /:/L:\__\ /::\:\__\ /:/\:\__\ /::|/\__\
\:\ \/__/ \:\/:/ / \/_/:/ / \:\:\/ / \:\/:/ / \/|::/ /
\:\__\ \::/ / /:/ / \:\/ / \::/ / |:/ /
\/__/ \/__/ \/__/ \/__/ \/__/ \/__/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。