介绍
Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。可以让开发的任务更加的可视化和清晰,对数据开发工程非常的友好。想要了解更多的信息可以访问官方网站:https://dolphinscheduler.apache.org/zh-cn/index.html
快速开始
更多更详细的安装和快速开始请访问官方地址:https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/docker-deployment.html
前天条件
1. 下载源码包
请下载源码包 apache-dolphinscheduler-1.3.6-src.tar.gz,下载地址: 下载
2. 拉取镜像并启动服务
1
2
3
4
|
$ tar -zxvf apache-dolphinscheduler-1.3.6-src.tar.gz
$ cd apache-dolphinscheduler-1.3.6-src/docker/docker-swarm
$ docker pull apache/dolphinscheduler:latest
$ docker-compose up -d
|
3. 登录系统
访问前端页面: http://192.168.xx.xx:12345/dolphinscheduler
默认的用户是admin
,默认的密码是dolphinscheduler123
FAQ
使用DataX
1
2
3
4
5
6
7
8
|
#下载datax的编译好的文件,也可以自己本地编译
docker cp datax.tgz docker-swarm_dolphinscheduler-worker_1:/opt/soft
docker exec -it docker-swarm_dolphinscheduler-worker_1 bash
cd /opt/soft
tar zxf datax.tgz
rm -f datax.tgz
mv datax.tgz datax
|
使用Spark
1
2
3
4
5
6
7
8
9
10
11
12
|
#下载spark-2.4.7-bin-hadoop2.7.tgz 这个根据自己需要看版本,这个是共享的目录,不会丢失的
docker cp spark-2.4.7-bin-hadoop2.7.tgz docker-swarm_dolphinscheduler-worker_1:/opt/soft
#去容器内部配置
docker exec -it docker-swarm_dolphinscheduler-worker_1 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 # 或者 mv
$SPARK_HOME2/bin/spark-submit --version
#如果现实版本信息就成功了
|
环境变量
1
2
3
4
5
6
7
8
9
10
|
export HADOOP_HOME=/opt/soft/hadoop
export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
#export SPARK_HOME1=/opt/soft/spark1
export SPARK_HOME2=/opt/soft/spark2
export PYTHON_HOME=/opt/soft/python
export JAVA_HOME=/opt/soft/java
export HIVE_HOME=/opt/soft/hive
export FLINK_HOME=/opt/soft/flink
export DATAX_HOME=/opt/soft/datax/bin/datax.py
export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME:$PATH
|
上传大文件报错(使用docker-compose启动的方式)
java.lang.OutOfMemoryError: Java heap space
1
2
3
4
5
6
7
8
9
10
11
12
|
#修改文件apache-dolphinscheduler-1.3.6-src/docker/docker-swarm/config.env.sh
#============================================================================
# Api Server
#============================================================================
#这个是默认的大家,注意下版本
#API_SERVER_OPTS=-Xms512m -Xmx512m -Xmn256m
API_SERVER_OPTS=-Xms512m -Xmx1024m -Xmn256m
#修改好了保存,删除旧的容器,重启启动新的就好了
docker-compose stop docker-swarm_dolphinscheduler-api_1
docker-compose up -d
|
配置/etc/hosts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
dolphinscheduler-worker:
image: apache/dolphinscheduler:latest
command: worker-server
environment:
TZ: Asia/Shanghai
env_file: config.env.sh
healthcheck:
test: ["CMD", "/root/checkpoint.sh", "WorkerServer"]
interval: 30s
timeout: 5s
retries: 3
depends_on:
- dolphinscheduler-postgresql
- dolphinscheduler-zookeeper
volumes:
- dolphinscheduler-worker-data:/tmp/dolphinscheduler
- dolphinscheduler-logs:/opt/dolphinscheduler/logs
- dolphinscheduler-shared-local:/opt/soft
- dolphinscheduler-resource-local:/dolphinscheduler
restart: unless-stopped
networks:
- dolphinscheduler
#新增以下的配置,可以访问集群的一些机器
extra_hosts:
- "cdh01:172.26.10.71"
- "cdh02:172.26.10.72"
- "cdh03:172.26.10.73"
- "cdh04:172.26.10.74"
#下面的一行解决了,获取ApplicationStatus的失败
- "ds1:172.26.10.72"
|
getApplicationStatus获取失败(版本1.3.6)
1
2
3
|
报错日志:rg.apache.dolphinscheduler.common.utils.HttpUtils:[73] - ds1: Name or service not known
需要在worker节点上配置 ds1到自己yarn集群的服务器上就可以了。默认端口是8088
|
总结
随着使用过程更新内容