当前位置: 首页 > news >正文

DolphinScheduler安装配置教程(超级详细)

一、安装前准备

        1、下载DolphinScheduler

                下载地址:https://dolphinscheduler.apache.org/zh-cn/download/          

        2、集群部署规划

                集群模式下,Master及Worker至少各2个节点(例:192.168.0.1、192.168.0.2)

        3、资源准备

                1)、操作系统:linux CentOS 7.9

                2)、安装包:apache-dolphinscheduler-3.1.9-bin.tar.gz

                3)、JDK:配置Java环境,推荐使用jdk8+

                4)、数据库:MySQL5.7+版本(我用的是MySQL8.0.40)

                5)、数据库连接驱动:mysql-connector-java-8.0.16.jar

                6)、注册中心:zookeeper3.4.6+版本(我用的是3.6.3)

                7)、其他环境配置:Python、DataX、Minio、Kettle

二、安装步骤

        1、创建用户

#创建用户
sudo useradd dolphinscheduler
#设置密码
sudo echo "dolphinscheduler" | passwd --stdin dolphinscheduler
#配置sudo免密
sudo sed -i '$adolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sudo sed -i 's/Defaults  requirett/#Defaults  requirett/g' /etc/sudoers

        2、SSH免密登录

                注:集群模式需要操作,单机及伪集群模式部署不需要执行此步骤

#切换到dolphinscheduler用户
su dolphinscheduler
#配置服务器之间SSH免密登录(安装时需要发送资源至其他Master/Worker节点)
#如果你在192.168.0.1这台服务器上面安装的,那就要向192.168.0.2发送资源,如果有更多服务器就执行更多行命令即可
ssh-copy-id 192.168.0.2
#ssh-copy-id 192.168.0.3

        3、创建数据库

#登录到MySQL服务中
mysql -uroot -p
#创建用户和密码,用户名:dolphinscheduler 密码:123456
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY '123456';
#创建数据库,库名:dolphinscheduler
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
#授权
grant all privileges on dolphinscheduler.* to 'dolphinscheduler'@'%';
#刷新权限
flush privileges;

        4、解压安装包

#解压
tar -zxvf apache-dolphinscheduler-3.1.9-bin.tar.gz
#重命名
mv apache-dolphinscheduler-3.1.9-bin apache-dolphinscheduler
#赋权
sudo chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler

        5、添加MySQL驱动

#拷贝MySQL连接驱动至dolphinscheduler的各个模块中
#注意需要用创建的dolphinscheduler用户来执行
#进入安装路径
cd apache-dolphinscheduler
#拷贝mysql-connector-java-8.0.16.jar至每个模块的libs目录下,
#其中包括api-server/libs和alert-server/libs和master-server/libs和worker-server/libs和tools/libs
cp /mysql-connector-java-8.0.16.jar api-server/libs/
cp /mysql-connector-java-8.0.16.jar alert-server/libs/
cp /mysql-connector-java-8.0.16.jar master-server/libs/
cp /mysql-connector-java-8.0.16.jar worker-server/libs/
cp /mysql-connector-java-8.0.16.jar tools/libs/

        6、修改dolphinscheduler_env.sh配置

#文件位置:bin/env/dolphinscheduler_env.sh
#这个启动文件bin/start-all.sh,会将bin/env/dolphinscheduler_env.sh的配置信息下发到其他server中
#所以修改bin/env/dolphinscheduler_env.sh这个配置文件是一个快速搭建的方式
#注意需要用创建的dolphinscheduler用户来执行
vi bin/env/dolphinscheduler_env.sh##【必须】修改JDK安装路径
export JAVA_HOME=${JAVA_HOME:-/tools/jdk1.8}##【必须】修改MySQL连接信息
# Database related configuration, set database type, username and password
export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false"
export SPRING_DATASOURCE_USERNAME="dolphinscheduler"
export SPRING_DATASOURCE_PASSWORD="123456"# 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}##【必须】zookeeper是DolphinScheduler的注册中心
# Registry center configuration, determines the type and link of the registry center
export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}
export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-localhost:2181}
#集群这样配
#export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-192.168.0.1:2181,192.168.0.2:2181}##【非必须】以下配置项是非必须的,可以保持默认不变,没有相应环境时,dolphinscheduler可以正常运行
##【非必须】我这里配置了Python、DataX、Kettle等环境# Tasks related configurations, need to change the configuration if you use the related tasks.
export HADOOP_HOME=${HADOOP_HOME:-/opt/soft/hadoop}
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-/opt/soft/hadoop/etc/hadoop}
export SPARK_HOME1=${SPARK_HOME1:-/opt/soft/spark1}
export SPARK_HOME2=${SPARK_HOME2:-/opt/soft/spark2}
export PYTHON_HOME=${PYTHON_HOME:-/usr/bin/python}
export HIVE_HOME=${HIVE_HOME:-/opt/soft/hive}
export FLINK_HOME=${FLINK_HOME:-/opt/soft/flink}
export DATAX_HOME=${DATAX_HOME:-/tools/datax/datax}
export SEATUNNEL_HOME=${SEATUNNEL_HOME:-/opt/soft/seatunnel}
export CHUNJUN_HOME=${CHUNJUN_HOME:-/opt/soft/chunjun}
export KETTLE_HOME=${KETTLE_HOME:-/tools/data-integration-9.3}export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME/bin:$SEATUNNEL_HOME/bin:$CHUNJUN_HOME/bin:$PATH

        7、初始化元数据

#在配置好MySQL连接信息之后,才能初始化元数据
#DolphinScheduler有可执行脚本供初始化元数据
#注意需要用创建的dolphinscheduler用户来执行
./tools/bin/upgrade-schema.sh

        初始化元数据之后,dolphinscheduler数据库中会自动创建相应的表

        8、修改install_env.sh配置

#修改安装配置文件
#注意需要用创建的dolphinscheduler用户来执行
vi bin/env/install_env.sh#服务器的IP地址
#ips=${ips:-"ds1,ds2,ds3,ds4,ds5"}
ips=${ips:-"192.168.0.1,192.168.0.2"}sshPort=${sshPort:-"22"}##【重点】如果是伪集群部署,就按如下配置即可(所有的服务节点均部署在同一台服务器上)
##【重点】集群部署,配置多个IP即可#Master服务节点信息
masters=${masters:-"192.168.0.1"}
#集群部署
#masters=${masters:-"192.168.0.1,192.168.0.2"}#Worker服务节点信息
workers=${workers:-"192.168.0.1:default"}
#集群部署
#workers=${workers:-"192.168.0.1:default,192.168.0.2:default"}#Alert服务节点信息
alertServer=${alertServer:-"192.168.0.1"}
#集群部署
#alertServer=${alertServer:-"192.168.0.1,192.168.0.2"}#Api服务节点信息
apiServers=${apiServers:-"192.168.0.1"}
#集群部署
#apiServers=${apiServers:-"192.168.0.1,192.168.0.2"}#安装路径
installPath=${installPath:-"/tools/apache-dolphinscheduler"}#创建的用户
deployUser=${deployUser:-"dolphinscheduler"}zkRoot=${zkRoot:-"/dolphinscheduler"}

        9、安装DolphinScheduler

#DolphinScheduler提供了安装脚本,直接执行即可
#注意需要用创建的dolphinscheduler用户来执行
./bin/install.sh

        10、启停命令

#DolphinScheduler提供有停止所有服务和启动所有服务的脚本
#建议通过这两个脚本执行服务的启停
#注意需要用创建的dolphinscheduler用户来执行
#停止所有服务
./bin/stop-all.sh
#启动所有服务
./bin/start-all.sh

        11、UI界面访问

                访问地址:http://192.168.0.1:12345/dolphinscheduler/ui

                默认账/密:admin/dolphinscheduler123

三、环境配置

        1、Python2.7环境安装

#1、安装依赖库
sudo yum -y install python-devel openssl openssl-devel gcc sqlite sqlite-devel mysql-devel libxml2-devel libxslt-devel#2、下载安装包
wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz#3、解压
tar -zxf Python-2.7.13.tgz#4、进入目录
cd python2.7#5、编译安装
sudo ./configure --prefix=/tools/python2.7 --with-threads --enable-shared
sudo make && make altinstall#6、备份旧文件
mv /usr/bin/pip /usr/bin/pip_old
mv /usr/bin/easy_install /usr/bin/easy_install_old
mv /usr/bin/python /usr/bin/python_old#7、创建软连接
sudo ln -s /tools/python2.7/lib/libpython2.7.so /usr/lib
sudo ln -s /tools/python2.7/lib/libpython2.7.so.1.0 /usr/lib
sudo ln -s /tools/python2.7/bin/python2.7 /usr/bin/python
sudo ln -s /tools/python2.7/lib/libpython2.7.so /usr/lib64
sudo ln -s /tools/python2.7/lib/libpython2.7.so.1.0 /usr/lib64#8、测试是否可用
pythonPython 2.7.13 (default, Aug 25 2025, 11:14:36)[GCC 4.8.5 20120313 (Red Hat 4.8.5-44)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>>

        2、DataX环境安装

#下载安装包
wget https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz#解压到tools文件夹中
tar -zxvf datax.tar.gz -C /tools/#进入安装目录
cd datax#验证脚本
python bin/datax.py job/job.json

        3、Kettle环境安装

#下载地址
https://sourceforge.net/projects/pentaho/files/#点击 “Download Latest Version”#下载下来是一个pdf文件#打开pdf文件,点击Developer Edition Dowbload#界面上填入个人信息之后,点击“Submit Request”,弹框后查看下载列表#选择pdi-ce-10.2.0.0-222.zip,点击Download

        4、资源中心配置

#1、修改api-server和worker-server的配置文件
#注意需要用创建的dolphinscheduler用户来执行
vi api-server/conf/common.properties#本地存储路径,需要创建好路径,并且dolphinscheduler用户要有读写权限
data.basedir.path=/tools/apache-dolphinscheduler/data
#自行安装的minio文件服务这里选择S3
resource.storage.type=S3
#minio文件服务上面存放文件的前缀路径
resource.storage.upload.base.path=/dolphinscheduler
#minio文件服务的用户名
resource.aws.access.key.id=minioadmin
#minio文件服务的密码
resource.aws.secret.access.key=123456
#不修改
resource.aws.region=cn-north-1
#minio文件服务的桶名称
##【注意】这个桶路径需提前在minio文件服务中创建好,否则api-server启动会失败
resource.aws.s3.bucket.name=dolphinscheduler
#minio文件服务的连接方式
resource.aws.s3.endpoint=http://localhost:9000#内容跟api-server的配置文件内容一致
vi worker-server/conf/common.properties#本地存储路径,需要创建好路径,并且dolphinscheduler用户要有读写权限
data.basedir.path=/tools/apache-dolphinscheduler/data
#自行安装的minio文件服务这里选择S3
resource.storage.type=S3
#minio文件服务上面存放文件的前缀路径
resource.storage.upload.base.path=/dolphinscheduler
#minio文件服务的用户名
resource.aws.access.key.id=minioadmin
#minio文件服务的密码
resource.aws.secret.access.key=123456
#不修改
resource.aws.region=cn-north-1
#minio文件服务的桶名称
##【注意】这个桶路径需提前在minio文件服务中创建好,否则worker-server启动会失败
resource.aws.s3.bucket.name=dolphinscheduler
#minio文件服务的连接方式
resource.aws.s3.endpoint=http://localhost:9000

http://www.dtcms.com/a/352907.html

相关文章:

  • 吉比特(雷霆游戏)前端二面问题总结
  • 骰子滚出最大和
  • 往来港澳台地区通行证件识读的应用案例
  • 艾体宝新闻 | 98%好评率!KnowBe4 连续5年蝉联第一,现开放免费钓鱼测试等你解锁
  • 查询窗口输入“ 188 8888 8888 “这种前后、中间都带空格的电话号码的处理方式
  • 目前3D打印机槽点网络汇总, 个人提可改进项, 可颠覆性方向,公开
  • AI需求优先级:数据价值密度×算法成熟度
  • CentCentOS7-OPenStack-Trian版搭建
  • 经典聚类算法讲解:K-means 和 DBSCAN
  • 实战原型模式案例
  • 【Chrome 扩展】chrome自动升级后 Switchomega扩展不支持了怎么办
  • Transformer实战(15)——使用PyTorch微调Transformer语言模型
  • centos 判断一个对象是文件还是文件夹
  • HarmonyOS 高效数据存储全攻略:从本地优化到分布式实战
  • 财务报表怎么做?财务常用的报表软件都有哪些
  • vscode 调试 指定 python文件 运行路径
  • IO 字符流 【详解】| Java 学习日志 | 第 13 天
  • npm run start 的整个过程
  • LeetCode 刷题【54. 螺旋矩阵】
  • 共享云服务器替代传统电脑做三维设计会卡顿吗
  • Spring Boot 启动失败:循环依赖排查到懒加载配置的坑
  • 手写MyBatis第37弹: 深入MyBatis MapperProxy:揭秘SQL命令类型与动态方法调用的完美适配
  • 特征降维-特征组合
  • YOLO 目标检测:数据集构建(LabelImg 实操)、评估指标(mAP/IOU)、 NMS 后处理
  • Java全栈开发工程师的面试实战:从基础到微服务
  • 科普 | 5G支持的WWC架构是个啥(2)?
  • Android系统框架知识系列(十七):Telephony Service - 移动通信核心引擎深度解析
  • 5G NR学习笔记 预编码(precoding)和波束赋形(beamforming)
  • DAY 58 经典时序预测模型2
  • 不用伪基站也能攻破5G?Sni5Gect框架如何实现“隐形攻击”