cdh6,使用oozie进行spark的jar任务调度

首先准备1个jar

然后保证他丢到服务器,能用spark-submit /sparkTest.jar跑。

不会打包spark的可参考:linux上spark运行scala的jar包_我要用代码向我喜欢的女孩表白的博客-CSDN博客

首先你得有oozie和hue,安装好了,才行

下面是jar在hue的oozie中的应用

切换文档为操作action

将那个星星,也就是spark程序,托过来

然后上传你的spark.jar到hdfs上,因为他只能读取hdfs的jar

打开一台机器

hadoop fs -mkdir /sparkNews

hadoop fs -put /sparkTest.jar /sparkNews

其中/sparkTest.jar是我本地jar包的路径

开启权限

hadoop fs -chmod -R 777 /sparkNews

 选择你的jar位置

然后保存

 

点击提交,播放的那个标识,三角形

 提交,点击试运行,出现问题

不得不说网上的菜雕,写文章真是太shift了,我还根据下面安装了半天?

然后我CDH直接搞定

简书 这篇文章是真好,csdn的文章鱼龙混杂,鱼目混珠。

安装完成之后,直接就有lib

之后,进行中,一直卡在百分之50,打开oozie日志发现

 没有log4j2文件,但是我有log4j.xml,难道还得加1个log4j2?,我直接启动spark都没有这种情况。我加上试一下

先在集群上直接测试,丢到oozie上测试

然后点击运行:发现一直卡在50%

 去oozie查看日志

点击oozie选择oozie web ui

先看这条running的,然后点击橙色,跳转到日志界面

拉到最下面查看日志,点他,和点logs,这2个id的,logs都要看

 他说我没有设置hadoop的环境变量

添加环境变量(分发到所有机器)

vi /etc/profile

export HADOOP_HOME=/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_DIST_CLASSPATH=$(hadoop classpath)

 source /etc/profile(所有机器)

或者在代码使用

System.setProperty("HADOOP_USER_NAME","root")
System.setProperty("HADOOP_HOME","/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop")

配置的时候一定要

Files 和jar/py.name保持一致

与代码中要执行的类,保持一致

点击设置:

AppName改成代码里的名称

 默认的客户端模式,我配置了集群,所以写集群模式

集群模式定义之前,spark一定要开启集群模式





​​​​​​​如何使用Hue创建Spark2的Oozie工作流_worldchinalee的博客-CSDN博客_hue oozie spark

以上是使用Spark2

如果用cluster模式,代码中不能有master。因为cluster模式,是将driver提交到其中一台机器上执行,然后交给集群执行

client模式,是本地driver交给集群执行,网速好的情况,当然使用client模式

错误示范直接跳过

通过命令"hadoop fs -ls /user"命令查看文件目录,确实不存在/user/oozie路径,说明oozie的sharelib没有放到hdfs上,我们现在要做的就是将oozie的share lib放到Hadoop的对应目录中

 hadoop fs -mkdir -p /user/oozie/share/lib

没有,我就创建一个空的呗,然后再次运行

org.apache.oozie.action.ActionExecutorException: Could not locate Oozie sharelib

参考:Oozie 报错的解决方法_qqliang1314的博客-CSDN博客t

他说在做一个本地映射,找到oozie的lib目录

/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/oozie

解决参考:安装Oozie共享库并添加Spark2_gmHappy的博客-CSDN博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CDH5 Oozie是一个用于工作流调度和协调的开源工具。ExtJS是一个流行的JavaScript应用程序框架,对于Oozie来说并不是必需的,所以CDH5 Oozie并不包含ExtJS 2.2。 CDH5 Oozie使用的是基于Java的Web用户界面(UI),其中包含了必要的前端框架和库。这个UI可以用于创建、编程和监控工作流。虽然没有ExtJS 2.2,但是CDH5 Oozie仍然可以提供强大的功能和灵活性。 如果您需要使用ExtJS 2.2,可以单独下载并集成到CDH5 Oozie中。为了实现这一点,您可能需要对CDH5 Oozie的UI进行自定义和修改,以便与ExtJS 2.2进行集成。您可以将ExtJS 2.2的相关脚本和样式表导入CDH5 Oozie的UI中,然后相应地修改和调整CDH5 Oozie的代码。 要将ExtJS 2.2与CDH5 Oozie集成,您可能需要具备一定的Java和前端开发知识。您还需要了解CDH5 Oozie的UI结构和工作方式,以便在集成过程中进行正确的修改。 总而言之,CDH5 Oozie并不包含ExtJS 2.2,但这并不意味着它缺少功能。如果您需要使用ExtJS 2.2,您可以将其与CDH5 Oozie进行集成,以获得自定义和改进的用户界面体验。 ### 回答2: CDH5是Cloudera提供的一种集成了Hadoop生态系统的发行版,而Oozie是Hadoop生态系统中的一种工作流管理工具。在CDH5中进行Oozie的安装和配置时,可能会遇到缺少ExtJS2.2的问题。 ExtJS是一种用于构建富客户端Web应用程序的JavaScript框架。在CDH5中使用Oozie版本可能依赖于ExtJS2.2库来实现一些用户界面的功能。如果缺少这个库,可能会导致某些功能无法正常使用或显示错误。 解决这个问题的方法是在CDH5中安装ExtJS2.2库。可以从官方网站或其他合法渠道下载ExtJS2.2的压缩包,并将其解压到CDH5所在的服务器上。然后,根据Oozie的配置文件或相关文档,将解压后的ExtJS2.2库路径配置到对应的位置。 配置完毕后,重新启动Oozie服务,使其加载并使用新安装的ExtJS2.2库。这样,Oozie的用户界面应该能够正常显示,并且可以使用ExtJS2.2库提供的功能。 需要注意的是,如果CDH5的版本较旧或Oozie版本较新,可能会依赖其他版本的ExtJS库,而不是2.2。在解决问题之前,最好对CDH5和Oozie的版本进行了解,并查找相关文档以确认所需的ExtJS库的版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值