IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> DolphinScheduler 1.x使用经验篇及bug解决篇 -> 正文阅读

[大数据]DolphinScheduler 1.x使用经验篇及bug解决篇

1.x版本基本使用

创建租户

DS里面的组合的概念对应的是Linux里面的用户概念,所以我们这里创建一个hadoop租户来对应Linux的hadoop用户
在这里插入图片描述

创建多用户

DS也可以控制用户的权限,我们可以建立不同的用户,用管理员用户来分配给不同的用户对应的资源项目等相关权限
在这里插入图片描述

创建告警组

DS支持不同的告警类型,1.3.6版本可支持的告警类型比较单一,有邮件和短信告警、钉钉和企业微信,小编这里会以qq邮箱配置一下告警

  • 配置 install_config.conf中的alert config
# alert config
mailProtocol="SMTP"
# mail server host
mailServerHost="smtp.qq.com"

# mail server port
# note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, make sure the port is correct.
mailServerPort="465"

# sender
mailSender="996371106@qq.com"

# user
mailUser="996371106@qq.com"

# sender password
# note: The mail.passwd is email service authorization code, not the email login password.
mailPassword="************"

# TLS mail protocol support
starttlsEnable="false"

# SSL mail protocol support
# only one of TLS and SSL can be in the true state.
sslEnable="true"

#note: sslTrust is the same as mailServerHost
sslTrust="smtp.qq.com"
  • 后台添加告警组
    在这里插入图片描述

创建数据源

数据源中心这里主要是使用sql组件的时候配合使用,使用sql组件进行取数,数据质量的校验、邮件的告警。数据源中心支持的源数据比较多
在这里插入图片描述
这里我创建了三个数据源,spark数据源是我用来跑实时(分钟级别)的报表任务的,saprk|hive数据源中心用来做数据质量校验以及取数发邮件用的,mysql的数据源是我用来做DS的调度校验用的在这里插入图片描述

  • spark
    在这里插入图片描述
    在这里插入图片描述

  • mysql
    在这里插入图片描述

创建资源

资源中心是我们脚本、jar包存放的地方,我们可以按照不同的层级创建不同的目录
在这里插入图片描述
在这里插入图片描述

创建项目及工作流

  1. 创建项目,这里小编只创建了一个项目,其实这里可以创建不同的项目进行权限的控制,每一个开发人员负责不同的项目,这样在分配时,不同的开发人员看到的页面内容是不一样的,这样就完美的对权限进行了控制。
    在这里插入图片描述

  2. 创建工作流,创建工作流时,可以合理利用各个组件进行搭配使用。
    在这里插入图片描述

  3. 创建依赖
    在这里插入图片描述
    在这里插入图片描述

  4. 定时(1.x版本的调度时间本身默认是会减一天的,所以要合理搭配脚本时间,实现离线的任务调度

    • 脚本时间参数
      在这里插入图片描述

    • 调度时间参数(1.x版本使用补数的话选择当天补数当天,因为DS默认会减一天
      在这里插入图片描述

在这里插入图片描述

1.x版本bug解决

1.x版本里面我是使用了1.3.6和1.3.8版本,两个版本大致上没有什么大的区别,最直观的感受是,使用sql组件取数时,1.3.8可以取数超过10w行。这里主要是我在配置1.3.8版本的时候遇到了bug及解决方案

  • 集群:阿里emr集群

  • bug1:租户创建失败,报NullPointException:null
    在这里插入图片描述

    • 解决方案:这里我们使用的是阿里的emr集群,当我们配置集群模式时,需要把core-site.xml、hdfs-site.xml两个配置文件放到DS的conf目录下,但是当我们创建租户使用HadoopUtils这个方法时,它会去读取这两个配置文件,配置文件中有特殊字符它识别不了,从而导致创建租户失败,这里我们删除掉下面的配置就可以了
<name>dfs.webhdfs.rest-csrf.custom-header</name>
    <value>X-XSRF-HEADER</value>
  </property>
  <property>
    <name>dfs.client.datanode-restart.timeout</name>
    <value>30s</value>
  </property>
  <property>
    <name>dfs.http.client.retry.policy.spec</name>
    <value>10000,6,60000,10</value>
  </property>
--
    <name>dfs.datanode.handler.count</name>
    <value>30</value>
  </property>
  <property>
    <name>dfs.namenode.decommission.interval</name>
    <value>30s</value>
  </property>
  <property>
    <name>mapreduce.job.acl-view-job</name>
    <value>*</value>
  • bug2:dolphinscheduler资源中心上传大文件,上传一直卡住或者上传失败 org.eclipse.jetty.server.HttpChannel:[600] - /dolphinscheduler/resources/create
    java.lang.OutOfMemoryError: Java heap space

    在这里插入图片描述

    • 解决方案:修改dolphinscheduler-daemon.sh中的HEAP_OPTS参数就可以了
LOG_FILE="-Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=api"
CLASS=org.apache.dolphinscheduler.api.ApiApplicationServer
HEAP_OPTS="-Xms1g -Xmx1g -Xmn512m"
  • bug3:获取不到yarn上的任务成功失败的状态,导致DS上的任务一直是失败的(yarn是HA的)
    • 解决方案:去除掉yarnHaIps后面的配置,在singleYarnIp填上存活的yarn地址(这里是因为源码里面读取的是singleYarnIp的状态)
yarnHaIps=""
singleYarnIp="emr-header-1.cluster-11111"
然后去修改 install.sh脚本,因为本身阿里的emr集群使用knox做了保密
sed -i ${txt} "s#yarn.application.status.address.*#yarn.application.status.address=http://${singleYarnIp}:8088/ws/v1/cluster/apps/%s?user.name=hadoop#g" conf/common.properties
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:12:48  更:2022-08-19 19:15:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:01:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码