【Spark数仓项目】需求四:Dolphinscheduler进行日志文件调度


本项目需求运行在Hadoop10单机环境:

  • Spark3.2.0
  • Flink1.13.6
  • Hadoop3.1.4
  • jdk1.8
  • Sqoop1.4.6
  • MySQL5.7
  • Hive3.1.2
  • Kafka0.11
  • Flume1.9.0
  • Zookeeper3.4.6
  • Hbase2.4
  • Redis6.2.0
  • Dlink0.7.3
  • Dolphinscheduler2.0.6

Windows11 开发环境:

  • Idea 2020
  • Moba
  • DBeaver7.0.0
  • Scala2.12.17

项目中所需的表,工具类,可以在前文需求中找到。

一、环境配置准备工作

1.1 虚拟机内存和CPU核心扩容

首先正常关闭虚拟机,然后调高虚拟机配置参数,我的主机配置是AMD8核,16G,参考虚拟机配置如下:
在这里插入图片描述
Dolphinscheduler的启动本身运行组件就很多,需要前置启动的有yarn资源管理,hdfs集群,zkServer。结合我们的项目前三个需求,还需要将Spark、Hive也启动,才能完成所以组件的调度。因此根据配置,调高参数需求。

1.2 Dolphinscheduler2.0.6单机的安装和租户配置

具体安装过程在这里不再赘述,网上参考很多。

需要注意的是,要使用调度,就要完成租户的创建,租户要在管理员中首先创建一个root租户,然后再在root租户中创建一个自己的用户guoyachao。

admin管理员>root租户>guoyachao用户。

这里解决不好会报很多运行的错误,测试shell命令打印控制台也没有资源。最后我们使用的是root租户下的guoyachao用户。

1.3 Dolphinscheduler的启动

在这里插入图片描述

全部启动成功的后台进程:

[root@hadoop10 sbin]# jps
2499 SecondaryNameNode
2819 ResourceManager
7875 Jps
6276 WorkerServer
6374 AlertServer
2984 NodeManager
4426 RunJar
7660 Master
7757 Worker
2063 NameNode
2224 DataNode
6322 LoggerServer
6482 PythonGatewayServer
6227 MasterServer
4277 RunJar
3926 QuorumPeerMain
6427 ApiApplicationServer

初次启动完成后,建议跑一个shell调度,打印一个hello word进行测试。

二、调度平台所需资源管理

2.1 Jar包及依赖的打包

在这里插入图片描述
这里需要更改为false,yarn模式,然后重新打包,因为我们加入了新的依赖。
将新的jar和依赖jar上传到linux目录。
注意:这一步可以提前准备完成调试,在运行dolphinscheduler时关闭idea等,可以节省内存,包括下一节的shell脚本的编写。

2.2 shell命令脚本的上传

在这里插入图片描述
进入dolphinscheduler的资源中心,将我们执行前三个需求时所用到的jar包shell上传。此jar包在上传dolphinscheduler资源中心之前应该先在本地服务器进行submit提交测试,确保可用。
这里的shell脚本编写,在前面需求中已经有过描述。
在这里插入图片描述
如果出现权限不够问题,请将该目录下的shell脚本权限给到777就可以了,这个目录就是dolphinscheduler的资源中心目录。
在这里插入图片描述
上图是用户的信息,权限是普通用户,租户是root,这样才是正常的。

三、开始器创建调度任务

在这里插入图片描述
在项目管理中创建项目,如上图。
在这里插入图片描述
在项目中创建工作流,现在就可以加入调度任务了。
在这里插入图片描述
第一个调度任务是将日志从本地上传到hdfs,执行put命令即可,在需求一中体现过。
在这里插入图片描述
第二个调度任务是Hive导入ods,需要注意资源中心,导入我们上传的shell脚本,选择正确的脚本。在命令脚本中,定义一个变量dt,因为我们运行时,要写日期变量。
在这里插入图片描述
后续调度任务类似,添加资源,注意日期变量。

最后保存。

四、调度器运行测试

4.1 开始运行调度之前

运行之前需要将前面测试时的hive数据库清空。

select * from dim.area_geo

-- 维表要提前放入基础数据,前面需求有描述



-- 23-6-29 调度前,清空表

select * from ods.app_event_log 



select * from tmp.event_log_washed

select count(*) from tmp.event_log_washed

select * from tmp.event_log_splited 

select count(*) from tmp.event_log_splited  

select * from dwd.event_log_detail

select count(*) from dwd.event_log_detail




alter table ods.app_event_log   drop partition(dt='2023-06-22')  

alter table tmp.event_log_washed   drop partition(dt='2023-06-22')  

alter table tmp.event_log_splited   drop partition(dt='2023-06-22')  

alter table dwd.event_log_detail drop partition(dt='2023-06-22')

4.2 上线和运行

在这里插入图片描述
上线。
在这里插入图片描述

在这里插入图片描述
显示绿色对钩,即为任务全部成功。

五、报错

[ERROR] 2023-06-29 19:36:00.190 org.apache.dolphinscheduler.service.log.LogClientService:[101] - roll view log error
org.apache.dolphinscheduler.remote.exceptions.RemotingTimeoutException: wait response on the channel Host{address='192.168.200.10:50051', ip='192.168.200.10', port=50051} timeout 10000

这个错误表明在执行日志滚动视图操作时出现了问题。具体错误原因是远程通信超时,程序等待位于地址 ‘192.168.200.10:50051’ 的主机的响应超过了设定的 10000 毫秒超时时间。
解决方案是把等待时间调长一点。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Apache DolphinScheduler是一个新一代分布式大数据工作流任务调度系统,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环图) 的方式将任务连接起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill任务等操作。目前已经有像IBM、腾讯、美团、360等400多家公司生产上使用。 调度系统现在市面上的调度系统那么多,比如老牌的Airflow, Oozie,Kettle,xxl-job ,Spring Batch等等, 为什么要选DolphinSchedulerDolphinScheduler 的定位是大数据工作流调度。通过把大数据和工作流做了重点标注. 从而可以知道DolphinScheduler的定位是针对于大数据体系。 DolphinScheduler是非常强大的大数据调度工具,有以下一些特点:1、通过拖拽以DAG 图的方式将 Task 按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态;2、支持丰富的任务类型;3、支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill 任务等操作;4、支持工作流全局参数及节点自定义参数设置;5、支持集群HA,通过 Zookeeper实现 Master 集群和 Worker 集群去中心化;6、支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计;7、支持补数,并行或串行回填数据。课程会带大家构建DolphinScheduler大数据调度平台,实战讲解多种任务调度配置,会基于案例讲解DolphinScheduler使用,让大家在实战中掌握DolphinScheduler。 DolphinScheduler 发展很快 很多公司调度都切换到了DolphinScheduler,掌握DolphinScheduler调度使用势在必行,抓住新技术机遇,为跳巢涨薪做好准备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据程序终结者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值