Apache Oozie- 实战操作一集成 hue& 调度 Sshel 程序|学习笔记

简介: 快速学习 Apache Oozie- 实战操作一集成 hue& 调度 Sshel 程序

开发者学堂课程【Oozie 知识精讲与实战演练Apache Oozie- 实战操作一集成hue& 调度 Sshel 程序】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/716/detail/12792


Apache Oozie-- 实战操作--集成 hue& 调度 shell 程序


内容介绍

一、Hue 和 Oozie 的整合


一、Hue 和 Oozie 的整合

Oozie 作为一款调度软件,它本身的开发并不友好,不管是调度 Hive 程序还是 amp 程序都要编写大量的配置文件,再进行上传提交才能完成定时调度执行,非常麻烦。但是当 Oozie 配置上 hue 后,在 hue 上用鼠标拖拽各种图标,就可以完成定时调度。

1.修改 hue 配置文件 hue.ini

打开 hue 文件,修改 liboozie。复制 liboozie,打开 Notepad + +,打开 hue 的编辑文件,Ctrl+F 进行搜索,点击查找下一个,此时便定位到了选项配置的地方。这里需要修改以下几个参数。第一个是 oozie_url,把注释打开,修改端口为 note-1 第二个是 Remote_deployement_dir 即文件路径,上传定时任务时,路经位于 HDFS 上,复制粘贴做指定并把前面注释打开。

2.修改 oozie 配置文件

搜索 oozieCtrl+F 进行搜索,这里关于 oozie 的单支有很多,必须找到 oozie 旁边有中括号的。查找完毕后,把 oozie_jobs_count=100enable_cron_scheduling=trueenable_document_action=trueenable_impala_action=false打开,然后 Ctrl+S 进行保存。修改 filebrowser。filebrowser 被称为文件浏览,这里的配置跟 oozie 没有太大的关系,这里主要开启 HDFS 视区,浏览的时候有没有上传和下载的按钮。hue 去访问 HDFS 原先没有按钮,但是配置后,便会显示按钮。之后进行相关配置,比如本地开发出一个 hive 脚本,需要用 hue 来调度,直接点击按钮上传便可以选择它,非常方便。搜索 filebrowser,打开 archive_upload_tempdir=/tmpshow_download_button=trueenable_extract_uploaded_archive=trueCtrl+S 进行保存。

启动 hue 进程

image.png

启动后,把 hue 服务进行重启,因为我们修改了配置文件。

3.使用 hue 配置 oozie 调度

打开浏览器,进行刷新加载,加载完后,点击 Query 下的Scheduler 发现这里有三个选项,Workflowoozie 当中的普通的工作流程,Schedule 是定时调度,Bundle 是批处理,可以批次绑定 Schedule。以 Workflow 为例,点开后发现它的界面非常友好,因为各种 actions 的节点都帮我们配置成了鼠标。只需要选择所需执行的按钮,把他拖拽到下面就可以。

4.利用 hue 调度 shell 脚本

HDFS 上创建一个 shell 脚本程序文件,

图片2.png

user rootoozie works 里创建一个新的文件夹叫 oozie _hue 并打开它。

图片3.png

然后在这里面创建一个新的文件叫 hello_hue.sh。这个文件现在是一个空文件,打开并对其进行编辑。

图片4.png

5.准备好后创建工作流程。

点击 Query 下的 schedule,创建一个 workflow。创建好后给工作流程取一个名字。然后执行 shell 脚本,把图标拖拽,添加 shell 脚本的路径。

图片5.png

点击 Files,选择文件的地方。点击保存。保存后发现立即出现了一个叫 submit 的按钮,

图片6.png

说明工作流程已经编辑好了。点击 submit 按钮进行提交。

6.修改工作流程

提交后刷新一下界面。发现现在正在运行一个程序

这里显示它已经结束了,但是点击 Workflows 后发现这个 shell killed 了,说明它失败了。查看失败的原因,点击 Tasks,错误信息显示文件不存在。但是刚才指定了 shell 脚本的路径,提示找不到路径,是因为工作路径指定时多指定了一次。因此需要修改。点击 Query 下的 Schedule Workflow,再点击右上角三个点的按钮下的 Workflows

图片7.png

找到之前编辑的工作流程,双击打开它,点击右上角的 Edit 按钮,点击右上角三个点的按钮里的 Settings

图片8.png

修改 Workspace,把路径返回到根目录,选择 Select this folder。最后进行保存提交。执行完后发现运行成功。

图片9.png

具体 oozie xml 文件是谁编写的,可以打开 properties,和 xml 文件,里面有开始节点,执行的文件叫 hello_hue.sh

相关文章
|
3月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
123 1
|
1月前
|
Java 测试技术 API
如何在 Apache JMeter 中集成 Elastic APM
如何在 Apache JMeter 中集成 Elastic APM
39 1
|
2月前
|
Kubernetes Go 持续交付
一个基于Go程序的持续集成/持续部署(CI/CD)
本教程通过一个简单的Go程序示例,展示了如何使用GitHub Actions实现从代码提交到Kubernetes部署的CI/CD流程。首先创建并版本控制Go项目,接着编写Dockerfile构建镜像,再配置CI/CD流程自动化构建、推送Docker镜像及部署应用。此流程基于GitHub仓库,适用于快速迭代开发。
50 3
|
2月前
|
Kubernetes 持续交付 Go
创建一个基于Go程序的持续集成/持续部署(CI/CD)流水线
创建一个基于Go程序的持续集成/持续部署(CI/CD)流水线
|
1月前
|
存储 缓存 安全
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
32 0
|
3月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
3月前
|
jenkins 持续交付
jenkins学习笔记之六:共享库方式集成构建工具
jenkins学习笔记之六:共享库方式集成构建工具
|
3月前
|
SQL DataWorks 安全
DataWorks产品使用合集之调度资源组与集成资源内部的实例如何进行共用
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
jenkins 持续交付
jenkins学习笔记之九:jenkins认证集成github
jenkins学习笔记之九:jenkins认证集成github
|
3月前
|
安全 jenkins 持续交付
jenkins学习笔记之八:jenkins认证集成gitlab
jenkins学习笔记之八:jenkins认证集成gitlab

热门文章

最新文章

推荐镜像

更多