【问题标题】:Spark in Oozie Workflow throws Class not found ExceptionOozie 工作流中的 Spark 引发找不到类异常
【发布时间】:2016-10-26 07:34:58
【问题描述】:

]1

色相 3.10 火花 1.6.0 CDH 5.8.0

当我使用 spark-submit 命令运行 jar 时,它可以正常工作,但使用 hue 工作流程时会出现错误。

`java.lang.ClassNotFoundException: RowCountFilter 在 java.net.URLClassLoader$1.run(URLClassLoader.java:366) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) 在 java.lang.Class.forName0(本机方法) 在 java.lang.Class.forName(Class.java:270) 在 org.apache.spark.util.Utils$.classForName(Utils.scala:175) 在 org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:689) 在 org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 在 org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 在 org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 在 org.apache.oozie.action.hadoop.SparkMain.runSpark(SparkMain.java:256) 在 org.apache.oozie.action.hadoop.SparkMain.run(SparkMain.java:207) 在 org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:49) 在 org.apache.oozie.action.hadoop.SparkMain.main(SparkMain.java:52) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:236) 在 org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) 在 org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) 在 org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) 在 org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:415) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) 在 org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) 拦截 System.exit(101) Oozie Launcher 失败,主类 [org.apache.oozie.action.hadoop.SparkMain],退出代码 [101]

`

> 任何人都可以帮助缺少什么吗?

【问题讨论】:

  • 似乎 Spark 操作找不到 jar 文件。也可能是类的名称不正确。我不是 100% 确定,但如果您不添加 file:// 或其他内容,Spark 操作可能默认假定 jar 位于 HDFS 中。
  • 我的罐子在 HDFS 并且类名也是正确的。我也尝试过使用“hdfs://”,但它不起作用。
  • 您是否尝试过将包名添加到类名中?例如。 my.package.RowCountFilter.
  • 感谢您的及时回复。 @LiMuBei,我只是做了示例代码,所以我的代码中没有添加任何包。

标签: apache-spark hbase hue


【解决方案1】:

请分享您的 job.properties 和 coordinator.properties 文件。检查这些文件中的 lib 路径 oozie.libpath 并查看是否存在所需的 jar。

oozie 触发作业时,会检查 lib 路径下的 jars 分发到集群中的所有节点执行。

您可能还想验证 oozie-site.xml 中的配置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多