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

相关文章
|
11月前
|
Java API Apache
使用 Apache PDFBox 操作PDF文件
Apache PDFBox库是一个开源的Java工具,专门用于处理PDF文档。它允许用户创建全新的PDF文件,编辑现有的PDF文档,以及从PDF文件中提取内容。此外,Apache PDFBox还提供了一些命令行实用工具。
956 6
|
11月前
|
Linux 网络安全 Apache
Centos下操作Apache httpd
Centos下操作Apache httpd
195 0
|
3月前
|
人工智能 数据可视化 开发者
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
FlowiseAI 是一款开源的低代码工具,通过拖拽可视化组件,用户可以快速构建自定义的 LLM 应用程序,支持多模型集成和记忆功能。
298 14
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
|
11月前
|
消息中间件 Java Kafka
实时计算 Flink版操作报错之Apache Flink中的SplitFetcher线程在读取数据时遇到了未预期的情况,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
Kubernetes Go 持续交付
一个基于Go程序的持续集成/持续部署(CI/CD)
本教程通过一个简单的Go程序示例,展示了如何使用GitHub Actions实现从代码提交到Kubernetes部署的CI/CD流程。首先创建并版本控制Go项目,接着编写Dockerfile构建镜像,再配置CI/CD流程自动化构建、推送Docker镜像及部署应用。此流程基于GitHub仓库,适用于快速迭代开发。
143 3
|
7月前
|
Kubernetes 持续交付 Go
创建一个基于Go程序的持续集成/持续部署(CI/CD)流水线
创建一个基于Go程序的持续集成/持续部署(CI/CD)流水线
|
6月前
|
存储 缓存 安全
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
71 0
|
8月前
|
jenkins 持续交付
jenkins学习笔记之六:共享库方式集成构建工具
jenkins学习笔记之六:共享库方式集成构建工具
|
8月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
8月前
|
jenkins 持续交付
jenkins学习笔记之九:jenkins认证集成github
jenkins学习笔记之九:jenkins认证集成github

热门文章

最新文章

推荐镜像

更多