分布式调度框架。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

26 KiB

DolphinScheduler是什么?

一个分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用

GitHub URL: https://github.com/apache/incubator-dolphinscheduler

Official Website: https://dolphinscheduler.apache.org

DolphinScheduler

EN doc CN doc

先决条件

如何使用docker镜像

以 docker-compose 的方式启动dolphinscheduler(推荐)

$ docker-compose -f ./docker/docker-swarm/docker-compose.yml up -d

docker-compose.yml文件中,默认的创建Postgres的用户、密码和数据库,默认值分别为:rootrootdolphinscheduler

同时,默认的Zookeeper也会在docker-compose.yml文件中被创建。

访问前端页面:http://192.168.xx.xx:12345/dolphinscheduler

默认的用户是admin,默认的密码是dolphinscheduler123

提示: 为了在docker中快速开始,你可以创建一个名为ds的租户,并将这个租户ds关联到用户admin

或者通过环境变量 DATABASE_HOST, DATABASE_PORT, ZOOKEEPER_QUORUM

你可以指定已经存在的 PostgresZookeeper 服务. 如下:

$ docker run -d --name dolphinscheduler \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
-p 12345:12345 \
apache/dolphinscheduler:latest all

访问前端页面:http://192.168.xx.xx:12345/dolphinscheduler

或者运行dolphinscheduler中的部分服务

你能够运行dolphinscheduler中的部分服务。

  • 创建一个 本地卷 用于资源存储,如下:
docker volume create dolphinscheduler-resource-local
  • 启动一个 master server, 如下:
$ docker run -d --name dolphinscheduler-master \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
apache/dolphinscheduler:latest master-server
  • 启动一个 worker server (包括 logger server), 如下:
$ docker run -d --name dolphinscheduler-worker \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
-v dolphinscheduler-resource-local:/dolphinscheduler \
apache/dolphinscheduler:latest worker-server
  • 启动一个 api server, 如下:
$ docker run -d --name dolphinscheduler-api \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
-v dolphinscheduler-resource-local:/dolphinscheduler \
-p 12345:12345 \
apache/dolphinscheduler:latest api-server
  • 启动一个 alert server, 如下:
$ docker run -d --name dolphinscheduler-alert \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
apache/dolphinscheduler:latest alert-server

注意: 当你运行dolphinscheduler中的部分服务时,你必须指定这些环境变量 DATABASE_HOST, DATABASE_PORT, DATABASE_DATABASE, DATABASE_USERNAME, DATABASE_PASSWORD, ZOOKEEPER_QUORUM

如何构建一个docker镜像

你能够在类Unix系统和Windows系统中构建一个docker镜像。

类Unix系统, 如下:

$ cd path/incubator-dolphinscheduler
$ sh ./docker/build/hooks/build

Windows系统, 如下:

C:\incubator-dolphinscheduler>.\docker\build\hooks\build.bat

如果你不理解这些脚本 ./docker/build/hooks/build ./docker/build/hooks/build.bat,请阅读里面的内容。

支持矩阵

Type 支持 备注
Shell
Python2
Python3 间接支持 详见 FAQ
Hadoop2 间接支持 详见 FAQ
Hadoop3 尚未确定 尚未测试
Spark-Local(client) 间接支持 详见 FAQ
Spark-YARN(cluster) 间接支持 详见 FAQ
Spark-Mesos(cluster) 尚不
Spark-Standalone(cluster) 尚不
Spark-Kubernetes(cluster) 尚不
Flink-Local(local>=1.11) 尚不 Generic CLI 模式尚未支持
Flink-YARN(yarn-cluster) 间接支持 详见 FAQ
Flink-YARN(yarn-session/yarn-per-job/yarn-application>=1.11) 尚不 Generic CLI 模式尚未支持
Flink-Mesos(default) 尚不
Flink-Mesos(remote>=1.11) 尚不 Generic CLI 模式尚未支持
Flink-Standalone(default) 尚不
Flink-Standalone(remote>=1.11) 尚不 Generic CLI 模式尚未支持
Flink-Kubernetes(default) 尚不
Flink-Kubernetes(remote>=1.11) 尚不 Generic CLI 模式尚未支持
Flink-NativeKubernetes(kubernetes-session/application>=1.11) 尚不 Generic CLI 模式尚未支持
MapReduce 间接支持 详见 FAQ
Kerberos 间接支持 详见 FAQ
HTTP
DataX 间接支持 详见 FAQ
Sqoop 间接支持 详见 FAQ
SQL-MySQL 间接支持 详见 FAQ
SQL-PostgreSQL
SQL-Hive 间接支持 详见 FAQ
SQL-Spark 间接支持 详见 FAQ
SQL-ClickHouse 间接支持 详见 FAQ
SQL-Oracle 间接支持 详见 FAQ
SQL-SQLServer 间接支持 详见 FAQ
SQL-DB2 间接支持 详见 FAQ

环境变量

DolphinScheduler Docker 容器通过环境变量进行配置,缺省时将会使用默认值

数据库

DATABASE_TYPE

配置databaseTYPE, 默认值 postgresql

注意: 当运行dolphinschedulermaster-serverworker-serverapi-serveralert-server这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。

DATABASE_DRIVER

配置databaseDRIVER, 默认值 org.postgresql.Driver

注意: 当运行dolphinschedulermaster-serverworker-serverapi-serveralert-server这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。

DATABASE_HOST

配置databaseHOST, 默认值 127.0.0.1

注意: 当运行dolphinschedulermaster-serverworker-serverapi-serveralert-server这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。

DATABASE_PORT

配置databasePORT, 默认值 5432

注意: 当运行dolphinschedulermaster-serverworker-serverapi-serveralert-server这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。

DATABASE_USERNAME

配置databaseUSERNAME, 默认值 root

注意: 当运行dolphinschedulermaster-serverworker-serverapi-serveralert-server这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。

DATABASE_PASSWORD

配置databasePASSWORD, 默认值 root

注意: 当运行dolphinschedulermaster-serverworker-serverapi-serveralert-server这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。

DATABASE_DATABASE

配置databaseDATABASE, 默认值 dolphinscheduler

注意: 当运行dolphinschedulermaster-serverworker-serverapi-serveralert-server这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。

DATABASE_PARAMS

配置databasePARAMS, 默认值 characterEncoding=utf8

注意: 当运行dolphinschedulermaster-serverworker-serverapi-serveralert-server这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。

ZooKeeper

ZOOKEEPER_QUORUM

配置dolphinschedulerZookeeper地址, 默认值 127.0.0.1:2181

注意: 当运行dolphinschedulermaster-serverworker-serverapi-server这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。

ZOOKEEPER_ROOT

配置dolphinschedulerzookeeper中数据存储的根目录,默认值 /dolphinscheduler

通用

DOLPHINSCHEDULER_OPTS

配置dolphinschedulerjvm options,适用于master-serverworker-serverapi-serveralert-serverlogger-server,默认值 ""

DATA_BASEDIR_PATH

用户数据目录, 用户自己配置, 请确保这个目录存在并且用户读写权限, 默认值 /tmp/dolphinscheduler

RESOURCE_STORAGE_TYPE

配置dolphinscheduler的资源存储类型,可选项为 HDFSS3NONE,默认值 HDFS

RESOURCE_UPLOAD_PATH

配置HDFS/S3上的资源存储路径,默认值 /dolphinscheduler

FS_DEFAULT_FS

配置资源存储的文件系统协议,如 file:///, hdfs://mycluster:8020 or s3a://dolphinscheduler,默认值 file:///

FS_S3A_ENDPOINT

RESOURCE_STORAGE_TYPE=S3时,需要配置S3的访问路径,默认值 s3.xxx.amazonaws.com

FS_S3A_ACCESS_KEY

RESOURCE_STORAGE_TYPE=S3时,需要配置S3s3 access key,默认值 xxxxxxx

FS_S3A_SECRET_KEY

RESOURCE_STORAGE_TYPE=S3时,需要配置S3s3 secret key,默认值 xxxxxxx

HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE

配置dolphinscheduler是否启用kerberos,默认值 false

JAVA_SECURITY_KRB5_CONF_PATH

配置dolphinscheduler的java.security.krb5.conf路径,默认值 /opt/krb5.conf

LOGIN_USER_KEYTAB_USERNAME

配置dolphinscheduler登录用户的keytab用户名,默认值 hdfs@HADOOP.COM

LOGIN_USER_KEYTAB_PATH

配置dolphinscheduler登录用户的keytab路径,默认值 /opt/hdfs.keytab

KERBEROS_EXPIRE_TIME

配置dolphinscheduler的kerberos过期时间,单位为小时,默认值 2

HDFS_ROOT_USER

RESOURCE_STORAGE_TYPE=HDFS时,配置dolphinscheduler的hdfs的root用户名,默认值 hdfs

YARN_RESOURCEMANAGER_HA_RM_IDS

配置dolphinscheduler的yarn resourcemanager ha rm ids,默认值

YARN_APPLICATION_STATUS_ADDRESS

配置dolphinscheduler的yarn application status地址,默认值 http://ds1:8088/ws/v1/cluster/apps/%s

SKYWALKING_ENABLE

配置skywalking是否启用. 默认值 false

SW_AGENT_COLLECTOR_BACKEND_SERVICES

配置skywalking的collector后端地址. 默认值 127.0.0.1:11800

SW_GRPC_LOG_SERVER_HOST

配置skywalking的grpc服务主机或IP. 默认值 127.0.0.1

SW_GRPC_LOG_SERVER_PORT

配置skywalking的grpc服务端口. 默认值 11800

HADOOP_HOME

配置dolphinschedulerHADOOP_HOME,默认值 /opt/soft/hadoop

HADOOP_CONF_DIR

配置dolphinschedulerHADOOP_CONF_DIR,默认值 /opt/soft/hadoop/etc/hadoop

SPARK_HOME1

配置dolphinschedulerSPARK_HOME1,默认值 /opt/soft/spark1

SPARK_HOME2

配置dolphinschedulerSPARK_HOME2,默认值 /opt/soft/spark2

PYTHON_HOME

配置dolphinschedulerPYTHON_HOME,默认值 /usr/bin/python

JAVA_HOME

配置dolphinschedulerJAVA_HOME,默认值 /usr/local/openjdk-8

HIVE_HOME

配置dolphinschedulerHIVE_HOME,默认值 /opt/soft/hive

FLINK_HOME

配置dolphinschedulerFLINK_HOME,默认值 /opt/soft/flink

DATAX_HOME

配置dolphinschedulerDATAX_HOME,默认值 /opt/soft/datax

Master Server

MASTER_SERVER_OPTS

配置master-serverjvm options,默认值 -Xms1g -Xmx1g -Xmn512m

MASTER_EXEC_THREADS

配置master-server中的执行线程数量,默认值 100

MASTER_EXEC_TASK_NUM

配置master-server中的执行任务数量,默认值 20

MASTER_DISPATCH_TASK_NUM

配置master-server中的派发任务数量,默认值 3

MASTER_HOST_SELECTOR

配置master-server中派发任务时worker host的选择器,可选值为Random, RoundRobinLowerWeight,默认值 LowerWeight

MASTER_HEARTBEAT_INTERVAL

配置master-server中的心跳交互时间,默认值 10

MASTER_TASK_COMMIT_RETRYTIMES

配置master-server中的任务提交重试次数,默认值 5

MASTER_TASK_COMMIT_INTERVAL

配置master-server中的任务提交交互时间,默认值 1000

MASTER_MAX_CPULOAD_AVG

配置master-server中的CPU中的load average值,默认值 -1

MASTER_RESERVED_MEMORY

配置master-server的保留内存,单位为G,默认值 0.3

Worker Server

WORKER_SERVER_OPTS

配置worker-serverjvm options,默认值 -Xms1g -Xmx1g -Xmn512m

WORKER_EXEC_THREADS

配置worker-server中的执行线程数量,默认值 100

WORKER_HEARTBEAT_INTERVAL

配置worker-server中的心跳交互时间,默认值 10

WORKER_MAX_CPULOAD_AVG

配置worker-server中的CPU中的最大load average值,默认值 -1

WORKER_RESERVED_MEMORY

配置worker-server的保留内存,单位为G,默认值 0.3

WORKER_GROUPS

配置worker-server的分组,默认值 default

Alert Server

ALERT_SERVER_OPTS

配置alert-serverjvm options,默认值 -Xms512m -Xmx512m -Xmn256m

XLS_FILE_PATH

配置alert-serverXLS文件的存储路径,默认值 /tmp/xls

MAIL_SERVER_HOST

配置alert-server的邮件服务地址,默认值

MAIL_SERVER_PORT

配置alert-server的邮件服务端口,默认值

MAIL_SENDER

配置alert-server的邮件发送人,默认值

MAIL_USER=

配置alert-server的邮件服务用户名,默认值

MAIL_PASSWD

配置alert-server的邮件服务用户密码,默认值

MAIL_SMTP_STARTTLS_ENABLE

配置alert-server的邮件服务是否启用TLS,默认值 true

MAIL_SMTP_SSL_ENABLE

配置alert-server的邮件服务是否启用SSL,默认值 false

MAIL_SMTP_SSL_TRUST

配置alert-server的邮件服务SSL的信任地址,默认值

ENTERPRISE_WECHAT_ENABLE

配置alert-server的邮件服务是否启用企业微信,默认值 false

ENTERPRISE_WECHAT_CORP_ID

配置alert-server的邮件服务企业微信ID,默认值

ENTERPRISE_WECHAT_SECRET

配置alert-server的邮件服务企业微信SECRET,默认值

ENTERPRISE_WECHAT_AGENT_ID

配置alert-server的邮件服务企业微信AGENT_ID,默认值

ENTERPRISE_WECHAT_USERS

配置alert-server的邮件服务企业微信USERS,默认值

Api Server

API_SERVER_OPTS

配置api-serverjvm options,默认值 -Xms512m -Xmx512m -Xmn256m

Logger Server

LOGGER_SERVER_OPTS

配置logger-serverjvm options,默认值 -Xms512m -Xmx512m -Xmn256m

初始化脚本

如果你想在编译的时候或者运行的时候附加一些其它的操作及新增一些环境变量,你可以在/root/start-init-conf.sh文件中进行修改,同时如果涉及到配置文件的修改,请在/opt/dolphinscheduler/conf/*.tpl中修改相应的配置文件

例如,在/root/start-init-conf.sh添加一个环境变量SECURITY_AUTHENTICATION_TYPE

export SECURITY_AUTHENTICATION_TYPE=PASSWORD

当添加以上环境变量后,你应该在相应的模板文件application-api.properties.tpl中添加这个环境变量配置:

security.authentication.type=${SECURITY_AUTHENTICATION_TYPE}

/root/start-init-conf.sh将根据模板文件动态的生成配置文件:

echo "generate dolphinscheduler config"
ls ${DOLPHINSCHEDULER_HOME}/conf/ | grep ".tpl" | while read line; do
eval "cat << EOF
$(cat ${DOLPHINSCHEDULER_HOME}/conf/${line})
EOF
" > ${DOLPHINSCHEDULER_HOME}/conf/${line%.*}
done

FAQ

如何通过 docker-compose 停止 dolphinscheduler?

停止所有容器:

docker-compose stop

停止所有容器并移除所有容器,网络和存储卷:

docker-compose down -v

如何在 Docker Swarm 上部署 dolphinscheduler?

假设 Docker Swarm 集群已经部署(如果还没有创建 Docker Swarm 集群,请参考 create-swarm

启动名为 dolphinscheduler 的 stack

docker stack deploy -c docker-stack.yml dolphinscheduler

启动并移除名为 dolphinscheduler 的 stack

docker stack rm dolphinscheduler

如何用 MySQL 替代 PostgreSQL 作为 DolphinScheduler 的数据库?

由于商业许可证的原因,我们不能直接使用 MySQL 的驱动包.

如果你要使用 MySQL, 你可以基于官方镜像 apache/dolphinscheduler 进行构建.

  1. 下载 MySQL 驱动包 mysql-connector-java-5.1.49.jar (要求 >=5.1.47)

  2. 创建一个新的 Dockerfile,用于添加 MySQL 的驱动包:

FROM apache/dolphinscheduler:latest
COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
  1. 构建一个包含 MySQL 驱动包的新镜像:
docker build -t apache/dolphinscheduler:mysql-driver .
  1. 修改 docker-compose.yml 文件中的所有 image 字段为 apache/dolphinscheduler:mysql-driver

如果你想在 Docker Swarm 上部署 dolphinscheduler,你需要修改 docker-stack.yml

  1. 注释 docker-compose.yml 文件中的 dolphinscheduler-postgresql

  2. docker-compose.yml 文件中添加 dolphinscheduler-mysql 服务(可选,你可以直接使用一个外部的 MySQL 数据库)

  3. 修改 config.env.sh 文件中的 DATABASE 环境变量

DATABASE_TYPE=mysql
DATABASE_DRIVER=com.mysql.jdbc.Driver
DATABASE_HOST=dolphinscheduler-mysql
DATABASE_PORT=3306
DATABASE_USERNAME=root
DATABASE_PASSWORD=root
DATABASE_DATABASE=dolphinscheduler
DATABASE_PARAMS=useUnicode=true&characterEncoding=UTF-8

如果你已经添加了 dolphinscheduler-mysql 服务,设置 DATABASE_HOSTdolphinscheduler-mysql 即可

  1. 运行 dolphinscheduler (详见如何使用docker镜像)

如何在数据源中心支持 MySQL 数据源?

由于商业许可证的原因,我们不能直接使用 MySQL 的驱动包.

如果你要添加 MySQL 数据源, 你可以基于官方镜像 apache/dolphinscheduler 进行构建.

  1. 下载 MySQL 驱动包 mysql-connector-java-5.1.49.jar (要求 >=5.1.47)

  2. 创建一个新的 Dockerfile,用于添加 MySQL 驱动包:

FROM apache/dolphinscheduler:latest
COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
  1. 构建一个包含 MySQL 驱动包的新镜像:
docker build -t apache/dolphinscheduler:mysql-driver .
  1. docker-compose.yml 文件中的所有 image 字段修改为 apache/dolphinscheduler:mysql-driver

如果你想在 Docker Swarm 上部署 dolphinscheduler,你需要修改 docker-stack.yml

  1. 运行 dolphinscheduler (详见如何使用docker镜像)

  2. 在数据源中心添加一个 MySQL 数据源

如何在数据源中心支持 Oracle 数据源?

由于商业许可证的原因,我们不能直接使用 Oracle 的驱动包.

如果你要添加 Oracle 数据源, 你可以基于官方镜像 apache/dolphinscheduler 进行构建.

  1. 下载 Oracle 驱动包 ojdbc8.jar (such as ojdbc8-19.9.0.0.jar)

  2. 创建一个新的 Dockerfile,用于添加 Oracle 驱动包:

FROM apache/dolphinscheduler:latest
COPY ojdbc8-19.9.0.0.jar /opt/dolphinscheduler/lib
  1. 构建一个包含 Oracle 驱动包的新镜像:
docker build -t apache/dolphinscheduler:oracle-driver .
  1. docker-compose.yml 文件中的所有 image 字段修改为 apache/dolphinscheduler:oracle-driver

如果你想在 Docker Swarm 上部署 dolphinscheduler,你需要修改 docker-stack.yml

  1. 运行 dolphinscheduler (详见如何使用docker镜像)

  2. 在数据源中心添加一个 Oracle 数据源

如何支持 Python 2 pip 以及自定义 requirements.txt?

  1. 创建一个新的 Dockerfile,用于安装 pip:
FROM apache/dolphinscheduler:latest
COPY requirements.txt /tmp
RUN apt-get update && \
    apt-get install -y --no-install-recommends python-pip && \
    pip install --no-cache-dir -r /tmp/requirements.txt && \
    rm -rf /var/lib/apt/lists/*

这个命令会安装默认的 pip 18.1. 如果你想升级 pip, 只需添加一行

    pip install --no-cache-dir -U pip && \
  1. 构建一个包含 pip 的新镜像:
docker build -t apache/dolphinscheduler:pip .
  1. docker-compose.yml 文件中的所有 image 字段修改为 apache/dolphinscheduler:pip

如果你想在 Docker Swarm 上部署 dolphinscheduler,你需要修改 docker-stack.yml

  1. 运行 dolphinscheduler (详见如何使用docker镜像)

  2. 在一个新 Python 任务下验证 pip

如何支持 Python 3?

  1. 创建一个新的 Dockerfile,用于安装 Python 3:
FROM apache/dolphinscheduler:latest
RUN apt-get update && \
    apt-get install -y --no-install-recommends python3 && \
    rm -rf /var/lib/apt/lists/*

这个命令会安装默认的 Python 3.7.3. 如果你也想安装 pip3, 将 python3 替换为 python3-pip 即可

    apt-get install -y --no-install-recommends python3-pip && \
  1. 构建一个包含 Python 3 的新镜像:
docker build -t apache/dolphinscheduler:python3 .
  1. docker-compose.yml 文件中的所有 image 字段修改为 apache/dolphinscheduler:python3

如果你想在 Docker Swarm 上部署 dolphinscheduler,你需要修改 docker-stack.yml

  1. 修改 config.env.sh 文件中的 PYTHON_HOME/usr/bin/python3

  2. 运行 dolphinscheduler (详见如何使用docker镜像)

  3. 在一个新 Python 任务下验证 Python 3

以 Spark 2.4.7 为例:

  1. 下载 Spark 2.4.7 发布的二进制包 spark-2.4.7-bin-hadoop2.7.tgz

  2. 运行 dolphinscheduler (详见如何使用docker镜像)

  3. 复制 Spark 2.4.7 二进制包到 Docker 容器中

docker cp spark-2.4.7-bin-hadoop2.7.tgz dolphinscheduler-worker:/opt/soft

因为存储卷 dolphinscheduler-shared-local 被挂载到 /opt/soft, 因此 /opt/soft 中的所有文件都不会丢失

  1. 登录到容器并确保 SPARK_HOME2 存在
docker exec -it dolphinscheduler-worker bash
cd /opt/soft
tar zxf spark-2.4.7-bin-hadoop2.7.tgz
rm -f spark-2.4.7-bin-hadoop2.7.tgz
ln -s spark-2.4.7-bin-hadoop2.7 spark2 # or just mv
$SPARK_HOME2/bin/spark-submit --version

如果一切执行正常,最后一条命令将会打印 Spark 版本信息

  1. 在一个 Shell 任务下验证 Spark
$SPARK_HOME2/bin/spark-submit --class org.apache.spark.examples.SparkPi $SPARK_HOME2/examples/jars/spark-examples_2.11-2.4.7.jar

检查任务日志是否包含输出 Pi is roughly 3.146015

  1. 在一个 Spark 任务下验证 Spark

文件 spark-examples_2.11-2.4.7.jar 需要先被上传到资源中心,然后创建一个 Spark 任务并设置:

  • Spark版本: SPARK2
  • 主函数的Class: org.apache.spark.examples.SparkPi
  • 主程序包: spark-examples_2.11-2.4.7.jar
  • 部署方式: local

同样地, 检查任务日志是否包含输出 Pi is roughly 3.146015

  1. 验证 Spark on YARN

Spark on YARN (部署方式为 clusterclient) 需要 Hadoop 支持. 类似于 Spark 支持, 支持 Hadoop 的操作几乎和前面的步骤相同

确保 $HADOOP_HOME$HADOOP_CONF_DIR 存在

更多信息请查看 incubator-dolphinscheduler 文档.