前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Spark数仓项目】需求四:Dolphinscheduler进行日志文件调度

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

作者头像
火之高兴
发布2024-07-25 15:47:37
490
发布2024-07-25 15:47:37
举报
文章被收录于专栏:大数据应用技术
本项目需求运行在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的启动

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

代码语言:javascript
复制
[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数据库清空。

代码语言:javascript
复制
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 上线和运行

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

上线。

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

显示绿色对钩,即为任务全部成功。

五、报错

代码语言:javascript
复制
[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 毫秒超时时间。 解决方案是把等待时间调长一点。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本项目需求运行在Hadoop10单机环境:
  • 一、环境配置准备工作
    • 1.1 虚拟机内存和CPU核心扩容
      • 1.2 Dolphinscheduler2.0.6单机的安装和租户配置
        • 1.3 Dolphinscheduler的启动
        • 二、调度平台所需资源管理
          • 2.1 Jar包及依赖的打包
            • 2.2 shell命令脚本的上传
              • 进入dolphinscheduler的资源中心,将我们执行前三个需求时所用到的jar包shell上传。此jar包在上传dolphinscheduler资源中心之前应该先在本地服务器进行submit提交测试,确保可用。 这里的shell脚本编写,在前面需求中已经有过描述。
              • 三、开始器创建调度任务
              • 四、调度器运行测试
                • 4.1 开始运行调度之前
                  • 4.2 上线和运行
                  • 五、报错
                  相关产品与服务
                  腾讯云服务器利旧
                  云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档