Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found

  • Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found
    • 1. 思路第一步
    • 2. 新问题及解决

Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found

问题描述
一次应用程序迁移底层Hadoop集群(由CDH迁移至HDP),在发起Spark On YARN任务的时候,Spark任务连接Hive异常,出现如标题所示的异常。
软件版本

软件 版本
HDP 2.6.4.0-91
Spark 1.6.3
Hadoop 2.7.3

1. 思路第一步

  1. 首先查找此类,此类是在datanucleus-api-jdo.jar中的,如下图所示;
  2. 也就是说,在Spark On YARN调用的时候其Classpath并没有该类,考虑添加此jar包到Classpath;
  3. 此jar包在Hive的安装目录,直接把整个Hive的lib添加到Classpath;

2. 新问题及解决

  1. 添加hive的lib到Classpath后,出现如下所示的错误:
java.lang.SecurityException: sealing violation: package org.apache.derby.impl.services.timer is sealedat java.net.URLClassLoader.getAndVerifyPackage(URLClassLoader.java:399)at java.net.URLClassLoader.definePackageInternal(URLClassLoader.java:419)at java.net.URLClassLoader.defineClass(URLClassLoader.java:451)at java.net.URLClassLoader.access$100(URLClassLoader.java:73)at java.net.URLClassLoader$1.run(URLClassLoader.java:368)at java.net.URLClassLoader$1.run(URLClassLoader.java:362)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:361)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)

并且会提示:

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.EmbeddedDriverat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  1. 如果单看上面第二个NoClassDefFoundError,那么会认为是没有加入相应的jar包,通过查询,此类位于derby.jar中,同时在Hive的lib中是有该jar包的;
  2. 通过查询(参考:https://stackoverflow.com/questions/6454061/securityexception-sealing-violation-when-starting-derby-connection ),发现第一个错误,是由于有多个derby.jar在Classpath中导致的,所以了解到时加入了Hive的lib中的jar包后,引入的jar包过多;
  3. 在hdp中spark-client的lib包中有datanucleus-api-jdo.jar,并且没有derby.jar,可以考虑替换Hive的lib为spark-client中的lib到Classpath中;
  4. 经过实验,此方案可行!

Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found相关推荐

  1. DataNucleus之JDO操作示例

    JDO(Java Data Object )是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API.注意JDO是一种规范,而不是一个产品.而DataNucleus正是实现J ...

  2. Google App Engine + JDO + Spring MVC,CRUD示例

    注意 本教程更多关于实践指南,请参考此官方的在数据存储区中使用JDO了解详细说明. 请参阅以下代码段,以使用Java数据对象(JDO)在GAE数据存储上执行CRUD. 只需使用JDO注释为客户注释,然 ...

  3. IDEA中运行SparkSql报javax.jdo.JDOFatalInternalException: Error creating transactional connection factory

    在IDEA中运行SparkSql,报错如下 20/07/20 21:16:25 WARN HiveMetaStore: Retrying creating default database after ...

  4. Spark SQL CLI 运行

    1:运行 ./bin/spark-sql 需要先把hive-site.xml 负责到spark的conf目录下 [jifeng@feng02 spark-1.2.0-bin-2.4.1]$ ./bin ...

  5. Hive 0.13.1 和HBase 0.98.6.1整合

    A:安装hadoop和HBase 参考:http://blog.csdn.net/wind520/article/details/39856353 B:安装Hive 1:下载:wget http:// ...

  6. Hive学习和配置Mysql

    1.Hive简介  起源自facebook由Jeff Hammerbacher领导的团队  构建在Hadoop上的数据仓库框架  设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海 ...

  7. Apache Sentry手动安装、使用手册

    Sentry手动安装.使用手册 1 Sentry简介 Apache Sentry 是Cloudera公司发布的一个Hadoop开源组件,截止目前还是Apache的孵化项目,它提供了细粒度级.基于角色的 ...

  8. CentOS下Hive2.0.0集群模式安装详解

    本文环境如下: 操作系统:CentOS 6 32位 Hive版本:2.0.0 JDK版本:1.8.0_77 32位 Hadoop版本:2.6.4 MySQL版本:5.6.30 1. 准备工作 1.1 ...

  9. Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    pyspark --master yarn执行代码的时候报错: 020-05-03 10:18:11 WARN Hive:168 - Failed to access metastore. This ...

最新文章

  1. Android使用BroadCastRecevier广播实现接收短信,并利用Toast弹出显示内容
  2. linux shell命令设置内存大小运行jar文件
  3. Docker可视化工具portainer的安装与使用
  4. 伪元素控制网页表单样式
  5. windows下mysql的数据备份
  6. openid saml2_单一登录云:SAML和OpenId
  7. 如何选择面向对象语言
  8. C++设计模式-享元模式
  9. Fedora Linux中配置JDK5或JDK6环境变量
  10. 谨慎设计方法签名(40)
  11. java中的静态块static{}及this,super,final的用法总结
  12. python设置很大的刻度_【Matplotlib】设置刻度(1)
  13. np.linspace函数用法
  14. echarts最简单的南丁格尔玫瑰图+图例
  15. 如何申请注册微信公众号
  16. ad转3d视图快捷键_【技术干货】PCB工程师不得不看:超级实用AD常用快捷键总结...
  17. java代码在图片上画框
  18. KNN(K临近算法)的简单模拟实现
  19. 为什么安装MathType无法复制粘贴
  20. 路由器的flash和内存

热门文章

  1. python加密excel
  2. 使用vue音频播放器(vue-aplayer)详解
  3. 笔记本无线网卡开启wifi方法
  4. 《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(4)-- Controller Architecture
  5. 程派高式八卦掌传人——刘树行
  6. cpu电压解释;cpu上面的数字和字母
  7. 股票涨跌的心理学原理: 过度自信理论
  8. 淘宝关键词搜索采集商品价格销量接口分析商品价格走势(商品列表接口,商品销量接口,商品价格接口,分类ID采集精准商品数据接口)接口代码对接流程
  9. AI 边缘计算平台 - BeagleBone AI 64 简介
  10. c语言switch购物折扣,SWITCH国际版ESHOP史低来袭推荐(64):精彩在继续,折扣在进行,捡漏的机会到啦!...