Dolphinscheduler使用随笔

Posted 拓路者8521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dolphinscheduler使用随笔相关的知识,希望对你有一定的参考价值。

一、版本

海豚调度器还是一款比较不错的可视化调度器,但是感觉维护的人有点少,完善度差点。笔者主要用的版本为2.0.5版,之前下载过3.1.0,但是3.1.0有个小bug,后来又退回到2.0.5版本

二、安装

官网有很详细的安装教程,附Dolphinscheduler-2.0.5链接如下:
Dolphinscheduler-2.0.5使用及安装连接 https://dolphinscheduler.apache.org/zh-cn/docs/2.0.5/user_doc/guide/installation/cluster.html
有几点补充下:
1.ha高可用集群配置,需要将core-site和hdfs-site放到conf目录里面,不要资源中心不可以用,当然你也可以直接指定active namenode,但NN挂掉切换成stanby NN就要重新指定了
#if resourceStorageType is HDFS,defaultFS write namenode address,HA, you need to put core-site.xml and hdfs-site.xml in the conf directory.
2.DolphinScheduler 元数据存储在关系型数据库中,目前支持 PostgreSQL 和 mysql,如果使用 MySQL 则需要手动下载 mysql-connector-java 驱动 (8.0.16) 并移动到 DolphinScheduler 的 lib目录下。版本一定是8.0.16,知心的我附上下载链接,哈哈哈
https://mvnrepository.com/artifact/mysql/mysql-connector-java
3.之后就是权限问题,包含两个概念,一个是DolphinScheduler的元数据库的权限授予,官网上有详细说明不赘述;其次是服务器上的安装运行账号,我习惯是和hadoop用一个账号,无非是把官网的DolphinScheduler改成hadoop的账号,但要保证官网上的权限,hadoop账号都要有
4.DolphinScheduler-2.0.5是一键式安装,将install_config.conf配置好后,运行安装好即可,DolphinScheduler-3.1.0略微有点麻烦,配置完成install_env.sh后,还有其他几个文件要配置,不知道为啥简洁性反而差了,但是按照官网文档一步步走安装是没有问题的。

三、使用过程

1.DolphinScheduler的可视化界面还是很友好的,脚本调度,直接在资源中心更换脚本,项目自动就跟着采用最新的脚本,必须赞一个👍。
2.也有一个小瑕疵,不知道是我没有找到还是怎么回事,第一个节点完成后,想停顿3分钟实现不了,延时执行时间不管用,也不知道怎么回事,后来我只能通过在shell脚本上加入sleep 3m来解决。

3.脚本调度还有一个注意事项,nohup + & 后台挂机执行,脚本会自动转入下一个节点,此处要注意!
4.数据用脚本调度采集到kafka后,再用flume同步至目的地时,由于flume是不能采用脚本调度,因此从flume到目的地有一定的延迟,此时,进行下一步操作,由于flume没有同步完成,造成数据错误,为解决这个问题,笔者做了一个监控脚本,当flume同步完成之后才可以进行下一个节点操作,挺有借鉴意义,有类似的问题,可以借鉴。附脚本如下:

#!/bin/bash
# 如果是输入的日期按照取输入日期;如果没输入日期取当前时间的前一个小时
if [ -n "$1" ] ;then
    do_date=$1
   hr=$do_date: 8: 2
   date1=$do_date: 0: 8
else
   do_date=`date -d "-1 hour" +%Y%m%d%H`
   hr=$do_date: 8: 2
   date1=$do_date: 0: 8
fi

file_path=xxxxxxx

while :
do
   fi_count=`hadoop fs -ls $file_path | grep tmp | wc -l`
   if [[ $fi_count -eq 0 ]]; then
      echo $file_path 已同步完成
      break;
   else
      echo $file_path 未同步完成
      sleep 1m
   fi
done

5.关于DolphinScheduler-3.1.0小bug,资源中心上传文件不能大于5s,文件大小看你网速,很是无语的操作,DolphinScheduler建议修改三个xml文件,我试了下3.1.0不行,各种重启,去浏览器缓存都不行,可能3.0.0可以吧,因为有个jar比较大,只能退到2.0.5

四、DolphinScheduler集群扩容

DolphinScheduler扩容根据官网步骤一步步操作还是很简单的,在此记录下过程
1.配置visudo,保证待添加的节点账户有sudo权限
2.配置ssh,保证各节点间可以ssh登录
3.将DolphinScheduler的已经安装好的安装包分发到待扩容节点,此处注意,mater和worker节点的配置还是有区别的,已经安装好的最好不要动,要扩容worker就分发worker的
4.修改 conf/env 目录下的 dolphinscheduler_env.sh 环境变量
5.修改 所有 节点上的配置文件 conf/config/install_config.conf, 同步修改以下配置.
新增的master节点, 需要修改 ips 和 masters 参数.
新增的worker节点, 需要修改 ips 和 workers 参数.
6.如果扩容的是worker节点,需要设置worker分组.请参安全中心创建worker分组

# default worker groups separated by comma, like 'worker.groups=default,test'
worker.groups=default

7.重启即可

五、其他问题

用的还比较浅,有后续再补充。

以上是关于Dolphinscheduler使用随笔的主要内容,如果未能解决你的问题,请参考以下文章

Dolphinscheduler Master突报 [244] - handler error: java.lang.NullPointerException: null解决历程

Dolphinscheduler Master突报 [244] - handler error: java.lang.NullPointerException: null解决历程

使用DolphinScheduler调度Python任务

使用DolphinScheduler调度Python任务

Apache DolphinScheduler征稿-Apache DolphinScheduler的入门级教程及使用

随笔-关于公网IP无法访问服务器的解决办法