hadoop - 纱作业失败,出现ClassNotFound异常,但在HADOOP_CLASSPATH中添加了jar

标签 hadoop curl hive yarn

我对Hive WebHcat和Yarn有一些问题。
当我尝试通过curl在 hive 中创建表格时,例如:

curl -s -d execute="select+*+from+pokes;" \ -d statusdir="pokes.output" \
'http://localhost:50111/templeton/v1/hive?user.name=ekoifman'



https://cwiki.apache.org/confluence/display/Hive/WebHCat+Reference+Hive

和 yarn 容器失败与

Error: java.lang.ClassNotFoundException: org.apache.logging.log4j.spi.LoggerContextFactory



但是所需的jar存在于Hive类路径中,当我启动WebHcat时,我在https://github.com/apache/hive/blob/master/hcatalog/webhcat/svr/src/main/bin/webhcat_server.sh#L211-L215的Hadoop类路径中显式添加了log4j-api-2.4.1.jar

因此,问题是为什么 yarn 容器无法找到降落在 hive 类路径中并明确添加到hadoop_classpath中的jar?

谢谢。

最佳答案

我将在 hive 类路径中已经存在的log4j库添加到yarn类路径后,问题解决了。

关于hadoop - 纱作业失败,出现ClassNotFound异常,但在HADOOP_CLASSPATH中添加了jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47458278/

相关文章:

scala - 使用 Spark 从目录中读取多个文件

hadoop - 只有一个映射器的组合器,在 hadoop 中有两个映射器的情况下

CSV 数据以奇怪的格式导出/复制到 HDFS

python - 如何将 curl POST 转换为 Python 中的请求 POST?

Java 相当于 PHP 的curls 指令

hadoop - 需要一种方法来过滤 HIVE 中某个 id 具有多个记录的记录的数据

hadoop - 如何将Hadoop文件系统保存在hadoop安装盘以外的物理盘中?

c - 下载未使用 Curl C API 恢复

Hadoop Hive Web 界面选项

mongodb - mongo-hadoop。不处理 mongodb 文档删除