我对Hive WebHcat和Yarn有一些问题。 当我尝试通过curl在hive中创建表时,例如:
curl -s -d execute ="从+ 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容器因
而失败错误:java.lang.ClassNotFoundException: org.apache.logging.log4j.spi.LoggerContextFactory
但Hive类路径中存在需要的jar,当我启动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所以问题是为什么纱线容器找不到放在hive类路径中并在hadoop_classpath中明确添加的jar?
感谢。
答案 0 :(得分:0)
在我将已经存在于hive类路径中的log4j库添加到yarn classpath中之后问题已解决。