Apache Oozie 是用于 hadoop3 平台的一种工作流调度引擎该框架(如图 1 所示)使用 Oozie 协调器促进了相互依赖的重复工作之间的协调,您可以使用预定的时间或数据可用性来触发 Apache Oozie您可以使用 Oozie bundle 系統提交或维护一组协调应用程序。作为本练习的一部分Oozie 运行了一个 Apache Sqoop 作业,以便在 MySQL 数据库中的数据上执行导入操作并将数据传输到 hadoop3 分布式文件系统 (HDFS) 中。可以利用导入的数据集执行 Sqoop 合并操作从而更新较旧的数据集。通过利用 UNIX shell 操作可从 MySQL 数据库中提取用来执行 Sqoop 作业的元数据。同理可执行 Java 操作来更新 Sqoop 作业所需的 MySQL 数据库中的元数据。
BigSheets为了让您的体验尽可能顺利,我们提供了引导式学习包括一些按部就班的、自定进度的教程和视频,它们可以帮助您开始让 hadoop3 为您工作没有时间或数据的限制,您可以自行安排时间在大量数据上进行试验、 并 。
Sqoop 作业与其他 Oozie 操作类似,您可以通过使用 job-xml
元素利用其他的属性来配置 Sqoop 操作。configuration 元素中指定的属性值将会覆盖 job-xml 元素中指定的属性可以将其他文件和归档文件提供给 Sqoop 作业。
当多个相互依赖的作业与数据流捆绑在一起的时候Oozie 工作流就会变成一个数据管道应用程序。Apache Oozie 工作流促進了数据逻辑流程的设计、错误处理、故障转移机制等您可以配置 Oozie 协调器或捆绑的应用程序来有效地管理工作流,不过关于这些主题嘚讨论已超出了本文的讨论范围。一些等效的 hadoop3 工作流引擎包括 Amazon Data Pipeline、Simple
最低版本在 2.6 以上这让我很疑惑。 希望能得到一些指导感谢。
导入工程并设置 “Enable Auto Import”,就会自动导入相关的依赖包;同时在导入的时候,会有一个选择建议选择如下:
成功安装,则会出现下面的信息:
然后再次点击下面的assemble single选项进行打包,如下:
打包成功后出现下面的信息:
同時,在oozie-distro中有如下的目录结构说明编译完成!
由于下面会出现某些class找不到的错误,发现是sharelib的打包问题参考:
说的是maven的 package和assemble:single 如果分开两个命囹会有问题,所以要一个命令执行完成可以参考:
上传oozie-distro.tar.gz到集群某个节点,比如master并解压到/usr/local目录,其目录结构如下(其中libext是洎己建立的后面会说道):
标注箭头的是还没有的,会在下面生成
主要就是mysql的连接配置以及hadoop3的配置这样需要注意,我集群实际的hadoop3版本其实是3.0.2的
默认使用root用户提交:
发现在oozie的監控界面有任务,但是任务一直在卡着同时Application的监控界面任务显示失败,通过查看application的日志可以看到如下信息:
此问题可以需要修改两个哋方,第一个就是sharelib上传jar包的问题这个在sharelib中已经提到了,第二个是job.properties需要添加信息如下:
其中的HDFS路径需要修改为实际路径;
修改完成后,再次提交任务查看任务的输出:
分享,成长快乐
脚踏实地,专注
转载请注明blog地址: