dolphinscheduler单机、伪集群部署

伪集群部署

1. 准备环境

1.1 软硬件环境配置建议

DolphinScheduler 作为一款开源分布式工作流任务调度系统,可以很好地部署和运行在 Intel 架构服务器及主流虚拟化环境下,并支持主流的Linux操作系统环境

1.1.1 Linux 操作系统版本要求
操作系统版本
Red Hat Enterprise Linux7.0 及以上
CentOS7.0 及以上
Oracle Enterprise Linux7.0 及以上
Ubuntu LTS16.04 及以上

注意: 以上 Linux 操作系统可运行在物理服务器以及 VMware、KVM、XEN 主流虚拟化环境上

1.1.2 服务器建议配置

DolphinScheduler 支持运行在 Intel x86-64 架构的 64 位通用硬件服务器平台。对生产环境的服务器硬件配置有以下建议:

生产环境

CPU内存硬盘类型网络实例数量
4核+8 GB+SAS千兆网卡1+

注意:

  • 以上建议配置为部署 DolphinScheduler 的最低配置,生产环境强烈推荐使用更高的配置
  • 硬盘大小配置建议 50GB+ ,系统盘和数据盘分开
1.1.3 网络要求

DolphinScheduler正常运行提供如下的网络端口配置:

组件默认端口说明
MasterServer5678非通信端口,只需本机端口不冲突即可
WorkerServer1234非通信端口,只需本机端口不冲突即可
ApiApplicationServer12345提供后端通信端口

注意:

  • MasterServer 和 WorkerServer 不需要开启网络间通信,只需本机端口不冲突即可
  • 管理员可根据实际环境中 DolphinScheduler 组件部署方案,在网络侧和主机侧开放相关端口
1.1.4 客户端 Web 浏览器要求

DolphinScheduler 推荐 Chrome 以及使用 Chromium 内核的较新版本浏览器访问前端可视化操作界面

1.1.5 环境准备(当前示例、文件均在/opt下)
  • 操作系统:linux centos 7.7
  • 部署版本:apache-dolphinscheduler-3.1.4-bin
  • JDK:配置Java环境,将JAVA_HOME配置于PATH中,推荐版本使用jdk8+
#1. 创建文件夹,上传包 
mkdir /opt/java
cd /opt/java
rz(或者其他上传方式)
#2. 解压
tar -zxvf jdk-8u152-linux-x64.tar.gz
#3. 配置环境变量
cd jdk1.8.0_152
pwd     (当前为/opt/java/jdk1.8.0_152)

vim /etc/profile

export JAVA_HOME=/opt/java/jdk1.8.0_152
export JRE_HOME=${JAVA_HOME}/jre
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

#4. 验证
java -version

java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
  • 数据库:本文使用的是MySQL 8.0.26版本,也可以使用5.7版本及以上,或者是使用PostgreSQL数据库(8.2.15+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
#创建文件夹
cd /opt
mkdir mysql

#上传 并解压
cd mysql
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar

#开始安装  如果命令执行失败 加上 --force nodeps
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm

yum install openssl-devel

rpm -ivh  mysql-community-devel-8.0.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm

rpm -ivh  mysql-community-server-8.0.26-1.el7.x86_64.rpm

#启动服务
systemctl start mysqld

#获取当前生成的随机密码
grep 'temporary password' /var/log/mysqld.log

#登录mysql 
mysql -uroot -p

#更改mysql限制
set global validate_password.policy = 0;
set global validate_password.length = 6;

#修改密码
ALTER  USER  'root'@'localhost'  IDENTIFIED BY '123456';


#创建用户提供外部访问并赋权
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
grant all on *.* to 'root'@'%';


#关闭防火墙
	#查看防火墙状态,如果是active(running),证明是打开的
	systemctl status firewalld.service

	#关闭防火墙
	systemctl stop firewalld.service

	#查看状态是否为disavtive(dead)
	systemctl status firewalld.service

	#永久关闭防火墙
	systemctl disable firewalld.service


navicate连接mysql,并创建新数据库ds

在这里插入图片描述

复制驱动包到对应的服务路径下api、alert、work、mast、standalone(单机模式下的数据源切换)

#复制mysql的驱动到对应libs目录中
cp /opt/mysql/mysql-connector-java-8.0.16.jar ./alert-server/libs/

cp /opt/mysql/mysql-connector-java-8.0.16.jar ./master-server/libs/

cp /opt/mysql/mysql-connector-java-8.0.16.jar ./worker-server/libs/

cp /opt/mysql/mysql-connector-java-8.0.16.jar ./api-server/libs/

cp /opt/mysql/mysql-connector-java-8.0.16.jar ./standalone-server/libs/standalone-server/

初始化,执行安装包 \tools\sql\sql 路径下的dolphinscheduler_mysql.sql文件

  • 注册中心:zookeeper(3.4.6+) 单机环境跳过,开始第二步的安装
#创建文件夹
cd /opt
mkdir  zooKeeper

#上传并解压
tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz 

#进入到conf目录
cd /opt/zooKeeper/apache-zookeeper-3.5.6-bin/conf/
#拷贝
cp  zoo_sample.cfg  zoo.cfg

#打开目录
cd /opt/zooKeeper/
#创建zooKeeper存储目录
mkdir  zkdata
#修改zoo.cfg
vim /opt/zooKeeper/apache-zookeeper-3.5.6-bin/conf/zoo.cfg

#修改存储路径
dataDir=/opt/zooKeeper/zkdata

#启动
cd /opt/zooKeeper/apache-zooKeeper-3.5.6-bin/bin/
#启动
 ./zkServer.sh  start

验证

在这里插入图片描述

成功启动:

在这里插入图片描述

启动失败:

在这里插入图片描述

  • 其他大数据相关组件:Hadoop 3.3.1 、Hive 3.1.2 、DataX 3.0、Spark 3.1.2等
  • 创建部署用户,并为该用户配置免登录,以创建dolphinscheduler用户为例(准备执行DS安装程序的服务器上创建即可)
# 创建用户需使用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
  • 修改域名映射
vim /ect/hosts
#如下 本地 映射为ds1
127.0.0.1   ds1 localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  • 配置免密登录
#按回车 根据提示 默认生成密钥对
ssh-keygen -t rsa
#配置免密登录 xxx映射的域名
ssh-copy-id xxx
#验证
ssh xxx

2. 开始安装

  • 单机部署(更换数据源)
#修改配置文件 dolphinscheduler_env.sh  注意 是bin/env下的,不是standalone下的,否则会被覆盖
#修改java路径 和环境变量一致
export JAVA_HOME=${JAVA_HOME:-/opt/java/jdk1.8.0_152}

#当前配置的是mysql
export DATABASE=${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://ds1:3306/ds?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME="root"
export SPRING_DATASOURCE_PASSWORD="xxxx"

#修改application.ymal 
pwd
/opt/soft/apache-dolphinscheduler-3.1.4-bin/standalone-server/conf


vim application.ymal 
spring:
  jackson:
    time-zone: UTC
    date-format: "yyyy-MM-dd HH:mm:ss"
  banner:
    charset: UTF-8
  cache:
    # default enable cache, you can disable by `type: none`
    type: none
    cache-names:
      - tenant
      - user
      - processDefinition
      - processTaskRelation
      - taskDefinition
    caffeine:
      spec: maximumSize=100,expireAfterWrite=300s,recordStats
  sql:
    init:
      schema-locations: classpath:sql/dolphinscheduler_mysql.sql
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.149.198:3306/ds?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
    username: root
    password: xxxx



---
spring:
  config:
    activate:
      on-profile: mysql
  sql:
     init:
       schema-locations: classpath:sql/dolphinscheduler_mysql.sql
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.149.198:3306/ds?useUnicode=true&characterEncoding=UTF-8
    username: root
    password: xxxx

—单机部署完成 使用命令 ./bin/dolphinscheduler-daemon.sh start standalone-server

  • 解压安装包
#1. 上传
cd /opt 
mkdir soft

#2. 移动
mv /opt/soft/apache-dolphinscheduler-3.1.4-bin.tar.gz /home/dolphinscheduler

#3. 解压
cd /home/dolphinscheduler
tar -zxvf apache-dolphinscheduler-3.1.4-bin.tar.gz

#4. 给用户dolphinscheduler赋权
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin

#5. 切换用户
su - dolphinscheduler

#6. 修改配置文件(install_env.sh、dolphinscheduler_env.sh)
cd /home/dolphinscheduler/apache-dolphinscheduler-3.1.4-bin/bin/env
vim install_env.sh

#只保留映射后的域名 ds1 伪集群所有服务都在一台机器上
ips=${ips:-"ds1"}

masters=${masters:-"ds1"}

workers=${workers:-"ds1:default"}

alertServer=${alertServer:-"ds1"}

apiServers=${apiServers:-"ds1"}
#修改安装默认路径
installPath=${installPath:-"/home/dolphinscheduler/dolphinscheduler"}

#查看环境变量配置
echo $JAVA_HOME
/opt/java/jdk1.8.0_152

#编辑
vim dolphinscheduler_env.sh
#修改java路径 和环境变量一致
export JAVA_HOME=${JAVA_HOME:-/opt/java/jdk1.8.0_152}

#当前配置的是mysql
export DATABASE=${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://ds1:3306/ds?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME="root"
export SPRING_DATASOURCE_PASSWORD="123456"


#执行安装
sh ../install.sh

#启动成功
====================== dolphinscheduler server config =============================
1.dolphinscheduler server node config hosts:[  ds1  ]
2.master server node config hosts:[  ds1  ]
3.worker server node config hosts:[  ds1:default  ]
4.alert server node config hosts:[  ds1  ]
5.api server node config hosts:[  ds1  ]


====================== dolphinscheduler server status =============================
node server state


ds1  Begin status master-server......
master-server  [  RUNNING  ]
End status master-server.
ds1  Begin status worker-server......
worker-server  [  RUNNING  ]
End status worker-server.
ds1  Begin status alert-server......
alert-server  [  RUNNING  ]
End status alert-server.
ds1  Begin status api-server......
api-server  [  RUNNING  ]
End status api-server.

#查看进程 
jps
#四个服务都正常启动
10272 WorkerServer
10229 MasterServer
10360 ApiApplicationServer
10315 AlertServer
23407 Jps

浏览器访问地址 http://ip:12345/dolphinscheduler/ui 即可登录系统UI。默认的用户名和密码是 admin/dolphinscheduler123

  • 相关命令
# 一键停止集群所有服务
sh /usr/local/dolphinscheduler-3.1.4/bin/stop-all.sh
# 一键开启集群所有服务
sh /usr/local/dolphinscheduler-3.1.4/bin/start-all.sh
# 启停 Master
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh stop master-server
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh start master-server
# 启停 Worker
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh start worker-server
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh stop worker-server
# 启停 Api
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh start api-server
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh stop api-server
# 启停 Logger
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh start logger-server
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh stop logger-server
# 启停 Alert
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh start alert-server
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh stop alert-server
# 启停 Python Gateway
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh start python-gateway-server
sh /usr/local/dolphinscheduler-3.1.4/bin/dolphinscheduler-daemon.sh stop python-gateway-server
  • 开启资源管理模块

    • 当前只展示对接本地,因为是伪集群部署,需要更改两个文件,分别是api-server和worker-server下的common.properties文件,当前操作不需要安装hadoop
    # resource storage type: HDFS, S3, NONE
    resource.storage.type=HDFS
    #上传后的存放路径,可以自由配置
    resource.storage.upload.base.path=/tmp/dolphinscheduler
    #
    resource.hdfs.fs.defaultFS=file:///
    
  • 30
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要搭建DolphinScheduler集群,首先需要准备好环境。根据引用[1]的内容,你需要安装Zookeeper和MySQL,并且使用DolphinScheduler的版本为1.3.9。 接下来,你需要构建DolphinScheduler的镜像。你可以参考引用提供的文章链接,该链接是DolphinScheduler官方文档的快速入门指南,其中有详细的步骤和说明。 在构建镜像完成后,你还需要对DolphinScheduler进行一些配置。根据引用的内容,DolphinScheduler使用了一些其他的组件和工具,如Hive、Hadoop、Spark、DataX、Python和Scala。你需要修改和添加相应的配置文件,以便与这些组件进行连接和交互。 总结来说,搭建DolphinScheduler集群需要进行以下步骤: 1. 确保环境准备好,包括安装Zookeeper和MySQL。 2. 根据官方文档的快速入门指南,构建DolphinScheduler的镜像。 3. 根据需要,修改和添加DolphinScheduler的配置文件,确保与其他组件的连接和交互正常。 希望以上信息对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker学习:docker部署dolphinscheduler1.3.9分布式集群](https://blog.csdn.net/nzbing/article/details/131372254)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【部署】Apache DolphinScheduler 集群部署](https://blog.csdn.net/weixin_43681796/article/details/128672900)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [dolphinscheduler配置](https://download.csdn.net/download/xionglangs/86088059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值