Spark-sql:无法实例化 org.apache.hadoop.hive.metastore.HiveMetaStoreClient

2023-12-29

经过相当长的一段时间,无法弄清楚如何在运行 Spark-sql 二进制文件时识别以下错误的根本原因:

15/12/08 14:48:41 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:346)
    at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver$.main(SparkSQLCLIDriver.scala:109)
    at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.main(SparkSQLCLIDriver.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:665)
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:170)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:193)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:112)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
    at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1412)
    at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:62)
    at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:72)
    at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2453)
    at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2465)
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:340)
    ... 11 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1410)
    ... 16 more
Caused by: javax.jdo.JDOFatalUserException: Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found.
NestedThrowables:
java.lang.ClassNotFoundException: org.datanucleus.api.jdo.JDOPersistenceManagerFactory
    at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1175)
    at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:808)
    at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:701)
    at org.apache.hadoop.hive.metastore.ObjectStore.getPMF(ObjectStore.java:310)
    at org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:339)
    at org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:248)
    at org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:223)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:73)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    at org.apache.hadoop.hive.metastore.RawStoreProxy.<init>(RawStoreProxy.java:58)
    at org.apache.hadoop.hive.metastore.RawStoreProxy.getProxy(RawStoreProxy.java:67)
    at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.newRawStore(HiveMetaStore.java:497)
    at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:475)
    at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:523)
    at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:397)
    at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.<init>(HiveMetaStore.java:356)
    at org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:54)
    at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:59)
    at org.apache.hadoop.hive.metastore.HiveMetaStore.newHMSHandler(HiveMetaStore.java:4944)
    at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:171)
    ... 21 more
Caused by: java.lang.ClassNotFoundException: org.datanucleus.api.jdo.JDOPersistenceManagerFactory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at javax.jdo.JDOHelper$18.run(JDOHelper.java:2018)
    at javax.jdo.JDOHelper$18.run(JDOHelper.java:2016)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.jdo.JDOHelper.forName(JDOHelper.java:2015)
    at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1162)
    ... 40 more

您的类路径中缺少 datanucleus-api-jdo.jar。这个jar是hive使用的。尝试找出您需要这个 jar 的哪个版本(可能最新的就可以了)。然后您可以从这里下载它:http://repo1.maven.org/maven2/org/datanucleus/datanucleus-api-jdo/ http://repo1.maven.org/maven2/org/datanucleus/datanucleus-api-jdo/

并将其添加到您的 .hiverc 文件中,将其永久添加到 hive:

  add jar datanucleus-api-jdo.jar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark-sql:无法实例化 org.apache.hadoop.hive.metastore.HiveMetaStoreClient 的相关文章

随机推荐

  • 根据类型创建不同的对象

    我有一个数据库表 其中包含名为 type 的列 对于数据库列中的每一行 我必须根据类型创建一个对象 目前我使用 if else 语句 if type equals object1 Object1 object1 new Object1 el
  • 如何在knitr文件中自动为R包创建BibTex引用?

    我不确定这是否是 R LaTeX 或 BibTex 问题 我试图自动生成一个包含 R 包引用的 bib 文件 然后在末尾列出它们 我能够生成 BibTex 文件 并且没有发现 BibTex 文件有任何问题 但是当我编译 PDF 时 条目没有
  • 局部变量 n 可能尚未初始化

    import View UI public class App UI m public static void main String args System out println Hello UI n n menu UI 类位于 Vie
  • TinyMCE 多个编辑器在 Yii2 中无法正确渲染

    我正在使用 Yii2 和来自2amigos yii2 tinymce widget https github com 2amigos yii2 tinymce widget 仅当我仅使用一次时 编辑器看起来才正确 但是当我使用多个编辑器时
  • 在 Swift 中使用 hidesBackButton 隐藏导航栏中的后退按钮

    我想在从一个视图转换到另一个视图时隐藏后退按钮 我阅读了有关此问题的问题 每个答案都是 使用hidesBackButton 这样做的问题是 当我将其放入 viewDidLoad viewWillAppear 中时 后退按钮箭头会隐藏 但字符
  • 找不到“MySql.Data.MySqlClient”ADO.NET 提供程序的实体框架提供程序

    我尝试将实体框架与 MySQL 一起使用 但出现上述错误 我安装了最新的 MySQL 连接器 完整的错误如下 No Entity Framework provider found for MySql Data MySqlClient ADO
  • Material UI 自动完成 + 无限滚动在一起?

    问题 获取双滚动条 删除纸张滚动条会使自动完成内容不可滚动 因此仅显示下拉列表可见高度中的内容 如果我隐藏另一个滚动 则不会调用无限滚动 API 我怎样才能让它工作 描述 我正在尝试使用 Material UI Autocomplete 创
  • 组合框中的默认文本

    我有 2 个组合框 如图所示 想知道是否可以为组合框设置某种文本字段 因此第一个框将说明成员 这样我想摆脱组合框上方的文本框 我知道这可以通过将 成员 添加到数据集中来完成 但我不想这样做 还有别的办法吗 BR 您正在寻找的效果称为 水印
  • 当手机空闲/打瞌睡/锁定时 Android 服务不工作

    晚上好 我已经尝试了好几天了 我真的不知道还能尝试什么 我基本上尝试了我在网上找到的所有东西 但它仍然不起作用 但我有一种感觉 一旦我找到了解决方案它一定是非常简单的事情 我正在开发一个更大的项目 但在这里我只是想得到一个非常简单的示例 我
  • Jetty 中的 ServletHandler 和 ServletContextHandler 有什么区别?

    我正在尝试开始使用嵌入式 Jetty 服务器 我只想根据请求路径将请求映射到不同的 servlet 创建一个有什么区别ServletHandler并向其中添加 servlet 而不是创建ServletContextHandler并向其中添加
  • 复制迁移的目的是什么?

    背景 如果可执行文件具有在共享对象中定义的外部数据引用 则编译器将使用复制重定位并将副本放置在其 bss 部分中 本网站详细介绍了复制迁移 http www shrubbery net solaris9ab SUNWdev LLM p22
  • 验证失败:上传文件的扩展名与其内容不匹配

    我正在使用回形针 gem 上传文件 我的回形针 gem 版本是回形针 4 1 1 上传文件时抛出 Validation failed Upload file has an extension that does not match its
  • 我是否需要为图片元素内的每个源重复类属性? (HTML5)

    我正在将图像转换为 webp 这意味着我需要使用 图片 标签而不是 img 因为图片允许为不支持 webp 的设备和浏览器回退到 png 格式 无论如何 我有一个如下所示的 img img class usp pics pic1 src i
  • 检查 Arduino 中的内存占用

    我正在使用 Arduino 开发一个简单的项目 最近 我必须将我的一个变量转换为 long 而不是 int 为了让事情简单 我只是移动了它与之交互的所有数字 所以我不必担心跨类型比较和数学 这看起来很浪费 但这只是我自己的一个时钟 我并不在
  • 没有虚拟继承的多重继承

    我试图理解多重继承 这是我的代码 struct A A static int n static int increment return n int A n 0 struct B public A struct C public A str
  • 在Spring控制器中,我可以根据请求参数的数量调用一个方法吗?

    我一直在用 Spring 改造现有的网络应用程序 显然 从 Spring 开始比稍后添加要容易得多 我们有可以接受多个请求参数的 servlet 根据参数的数量 将采取不同的操作 例如 doSomething prod 15 显示产品 15
  • 使用 Unicode 字符作为 zip 存档内的文件名

    我正在压缩的文件名包含一些特殊字符 例如P r quation LES HOPITAUX NEUFS xls到另一个文件夹 比如说temp 我可以压缩文件 但问题是文件名会自动更改为P r 方程 LES HOPITAUX NEUFS xls
  • 在 WSO2 中传递 CDATA

    WSO2 4 8 1 在 XML 消息中传递 CDATA 部分时存在一个众所周知的问题 此类部分始终会替换为其 XML 转义字符串形式的内容 任何解决此问题的方法将不胜感激 同时 我找到了一个页面 介绍了用于此目的的一些补丁 patch05
  • Linuxarm64如何在AArch32和AArch64之间切换

    Linux支持运行32位应用程序 只要 内核启用CONFIG COMPAT 硬件支持AArch32 我假设32位应用程序必须在arm AArch32执行状态下运行 并且如果环境有32位应用程序和64位应用程序 32位应用程序进程 gt ar
  • Spark-sql:无法实例化 org.apache.hadoop.hive.metastore.HiveMetaStoreClient

    经过相当长的一段时间 无法弄清楚如何在运行 Spark sql 二进制文件时识别以下错误的根本原因 15 12 08 14 48 41 WARN NativeCodeLoader Unable to load native hadoop l