开发者学堂课程【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 配置文件
搜索 oozie,Ctrl+F 进行搜索,这里关于 oozie 的单支有很多,必须找到 oozie 旁边有中括号的。查找完毕后,把 oozie_jobs_count=100,enable_cron_scheduling=true,enable_document_action=true,enable_impala_action=false打开,然后 Ctrl+S 进行保存。修改 filebrowser。filebrowser 被称为文件浏览,这里的配置跟 oozie 没有太大的关系,这里主要开启 HDFS 视区,浏览的时候有没有上传和下载的按钮。hue 去访问 HDFS 原先没有按钮,但是配置后,便会显示按钮。之后进行相关配置,比如本地开发出一个 hive 脚本,需要用 hue 来调度,直接点击按钮上传便可以选择它,非常方便。搜索 filebrowser,打开 archive_upload_tempdir=/tmp,show_download_button=true,enable_extract_uploaded_archive=true。Ctrl+S 进行保存。
启动 hue 进程
启动后,把 hue 服务进行重启,因为我们修改了配置文件。
3.使用 hue 配置 oozie 调度
打开浏览器,进行刷新加载,加载完后,点击 Query 下的Scheduler 发现这里有三个选项,Workflow 是oozie 当中的普通的工作流程,Schedule 是定时调度,Bundle 是批处理,可以批次绑定 Schedule。以 Workflow 为例,点开后发现它的界面非常友好,因为各种 actions 的节点都帮我们配置成了鼠标。只需要选择所需执行的按钮,把他拖拽到下面就可以。
4.利用 hue 调度 shell 脚本
在 HDFS 上创建一个 shell 脚本程序文件,
在 user root 的 oozie works 里创建一个新的文件夹叫 oozie _hue 并打开它。
然后在这里面创建一个新的文件叫 hello_hue.sh。这个文件现在是一个空文件,打开并对其进行编辑。
5.准备好后创建工作流程。
点击 Query 下的 schedule,创建一个 workflow。创建好后给工作流程取一个名字。然后执行 shell 脚本,把图标拖拽,添加 shell 脚本的路径。
点击 Files,选择文件的地方。点击保存。保存后发现立即出现了一个叫 submit 的按钮,
说明工作流程已经编辑好了。点击 submit 按钮进行提交。
6.修改工作流程
提交后刷新一下界面。发现现在正在运行一个程序
这里显示它已经结束了,但是点击 Workflows 后发现这个 shell 被 killed 了,说明它失败了。查看失败的原因,点击 Tasks,错误信息显示文件不存在。但是刚才指定了 shell 脚本的路径,提示找不到路径,是因为工作路径指定时多指定了一次。因此需要修改。点击 Query 下的 Schedule 的 Workflow,再点击右上角三个点的按钮下的 Workflows
找到之前编辑的工作流程,双击打开它,点击右上角的 Edit 按钮,点击右上角三个点的按钮里的 Settings。
修改 Workspace,把路径返回到根目录,选择 Select this folder。最后进行保存提交。执行完后发现运行成功。
具体 oozie 的 xml 文件是谁编写的,可以打开 properties,和 xml 文件,里面有开始节点,执行的文件叫 hello_hue.sh。