1.x版本基本使用
创建租户
DS里面的组合的概念对应的是Linux里面的用户概念,所以我们这里创建一个hadoop租户来对应Linux的hadoop用户
创建多用户
DS也可以控制用户的权限,我们可以建立不同的用户,用管理员用户来分配给不同的用户对应的资源项目等相关权限
创建告警组
DS支持不同的告警类型,1.3.6版本可支持的告警类型比较单一,有邮件和短信告警、钉钉和企业微信,小编这里会以qq邮箱配置一下告警
- 配置 install_config.conf中的alert config
mailProtocol="SMTP"
mailServerHost="smtp.qq.com"
mailServerPort="465"
mailSender="996371106@qq.com"
mailUser="996371106@qq.com"
mailPassword="************"
starttlsEnable="false"
sslEnable="true"
sslTrust="smtp.qq.com"
- 后台添加告警组
创建数据源
数据源中心这里主要是使用sql组件的时候配合使用,使用sql组件进行取数,数据质量的校验、邮件的告警。数据源中心支持的源数据比较多 这里我创建了三个数据源,spark数据源是我用来跑实时(分钟级别)的报表任务的,saprk|hive数据源中心用来做数据质量校验以及取数发邮件用的,mysql的数据源是我用来做DS的调度校验用的
创建资源
资源中心是我们脚本、jar包存放的地方,我们可以按照不同的层级创建不同的目录
创建项目及工作流
-
创建项目,这里小编只创建了一个项目,其实这里可以创建不同的项目进行权限的控制,每一个开发人员负责不同的项目,这样在分配时,不同的开发人员看到的页面内容是不一样的,这样就完美的对权限进行了控制。 -
创建工作流,创建工作流时,可以合理利用各个组件进行搭配使用。 -
创建依赖 -
定时(1.x版本的调度时间本身默认是会减一天的,所以要合理搭配脚本时间,实现离线的任务调度)
1.x版本bug解决
1.x版本里面我是使用了1.3.6和1.3.8版本,两个版本大致上没有什么大的区别,最直观的感受是,使用sql组件取数时,1.3.8可以取数超过10w行。这里主要是我在配置1.3.8版本的时候遇到了bug及解决方案
<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>
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
|