hive - java.lang.NoSuchMethodError:org.apache.hadoop.hive.ql.exec.Utilities.addToClassPath
问题描述
我使用 CDH 6.3.2 蜂巢作业,出现错误
24-06-2021 13:35:18 CST hive-job INFO - Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.exec.Utilities.addToClassPath(Ljava/lang/ClassLoader;[Ljava/lang/String;)Ljava/lang/ClassLoader;
24-06-2021 13:35:18 CST hive-job INFO - at azkaban.jobtype.HadoopSecureHiveWrapper.runHive(HadoopSecureHiveWrapper.java:123)
24-06-2021 13:35:18 CST hive-job INFO - at azkaban.jobtype.HadoopSecureHiveWrapper$1.run(HadoopSecureHiveWrapper.java:71)
24-06-2021 13:35:18 CST hive-job INFO - at azkaban.jobtype.HadoopSecureHiveWrapper$1.run(HadoopSecureHiveWrapper.java:68)
24-06-2021 13:35:18 CST hive-job INFO - at java.security.AccessController.doPrivileged(Native Method)
24-06-2021 13:35:18 CST hive-job INFO - at javax.security.auth.Subject.doAs(Subject.java:422)
24-06-2021 13:35:18 CST hive-job INFO - at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875)
24-06-2021 13:35:18 CST hive-job INFO - at azkaban.jobtype.HadoopSecureHiveWrapper.main(HadoopSecureHiveWrapper.java:68)
24-06-2021 13:35:18 CST hive-job INFO - Process with id 14985 completed unsuccessfully in 2 seconds.
24-06-2021 13:35:18 CST hive-job ERROR - caught error running the job
java.lang.RuntimeException: azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 1
at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:312)
at azkaban.jobtype.AbstractHadoopJavaProcessJob.run(AbstractHadoopJavaProcessJob.java:50)
at azkaban.jobtype.HadoopHiveJob.run(HadoopHiveJob.java:52)
at azkaban.execapp.JobRunner.runJob(JobRunner.java:830)
at azkaban.execapp.JobRunner.doRun(JobRunner.java:607)
at azkaban.execapp.JobRunner.run(JobRunner.java:568)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 1
at azkaban.jobExecutor.utils.process.AzkabanProcess.run(AzkabanProcess.java:125)
at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:304)
... 10 more
24-06-2021 13:35:18 CST hive-job ERROR - java.io.IOException: Exception reading file:/tmp/mr-azkaban3460056546681440256.tokenFailed to cancel tokens Exception reading file:/tmp/mr-azkaban3460056546681440256.tokenjava.io.FileNotFoundException: /tmp/mr-azkaban3460056546681440256.token (Permission denied)
24-06-2021 13:35:18 CST hive-job ERROR - Job run failed!
java.lang.RuntimeException: azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 1
at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:312)
at azkaban.jobtype.AbstractHadoopJavaProcessJob.run(AbstractHadoopJavaProcessJob.java:50)
at azkaban.jobtype.HadoopHiveJob.run(HadoopHiveJob.java:52)
at azkaban.execapp.JobRunner.runJob(JobRunner.java:830)
at azkaban.execapp.JobRunner.doRun(JobRunner.java:607)
at azkaban.execapp.JobRunner.run(JobRunner.java:568)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 1
at azkaban.jobExecutor.utils.process.AzkabanProcess.run(AzkabanProcess.java:125)
at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:304)
... 10 more
24-06-2021 13:35:18 CST hive-job ERROR - azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 1 cause: azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 1
24-06-2021 13:35:18 CST hive-job INFO - Finishing job hive-job at 1624512918756 with status FAILED
我已经修改了 azkaban-exec/bin/internal/internal-start-executor.sh
#CLASSPATH=$CLASSPATH:$HADOOP_HOME/conf:$HADOOP_HOME/*
CLASSPATH=$CLASSPATH:/etc/hadoop/conf:/opt/cloudera/parcels/CDH/jars/*
否则我会得到一个错误“线程“主”java.lang.NoClassDefFoundError:org/apache/hadoop/conf/Configuration中的异常”
我的 commonprivate.properties
…………………………
hadoop.classpath=hadoop classpath
hadoop.home=/opt/cloudera/parcels/CDH/lib/hadoop
hive.home=/opt/cloudera/parcels/CDH/lib/hive
spark.home=/opt/cloudera/parcels/CDH/lib/spark
hadoop.conf=/etc/hadoop/conf
jobtype.global.classpath=${hadoop.conf},/opt/cloudera/parcels/CDH/jars/*,{hadoop.classpath}
解决方案
推荐阅读
- c++ - C ++中没有参数可变参数模板函数
- c# - 在 SQLite 中添加带有空格的 TEXT 元素
- wordpress - 如何将 wordpress 查询限制为仅包含 1 个共享标签或图像的帖子?
- arrays - 如何找到列表中元素的所有索引?
- react-native - Onesignal 为某些用户在我的通知的标题或正文中添加“[修改]”
- javascript - .closest() 获取隐藏的 div 值
- python - 发送多封电子邮件时如何识别收件人电子邮件不正确
- javascript - 使用 JavaScript 检测光标何时不再位于文本区域中
- github-pages - 网站在本地工作,但 GitHub Pages 显示一个空白页面
- postgresql - H2 - Postgres 模式支持网络数据类型