Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found
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. 思路第一步
- 首先查找此类,此类是在datanucleus-api-jdo.jar中的,如下图所示;
- 也就是说,在Spark On YARN调用的时候其Classpath并没有该类,考虑添加此jar包到Classpath;
- 此jar包在Hive的安装目录,直接把整个Hive的lib添加到Classpath;
2. 新问题及解决
- 添加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)
- 如果单看上面第二个NoClassDefFoundError,那么会认为是没有加入相应的jar包,通过查询,此类位于derby.jar中,同时在Hive的lib中是有该jar包的;
- 通过查询(参考:https://stackoverflow.com/questions/6454061/securityexception-sealing-violation-when-starting-derby-connection ),发现第一个错误,是由于有多个derby.jar在Classpath中导致的,所以了解到时加入了Hive的lib中的jar包后,引入的jar包过多;
- 在hdp中spark-client的lib包中有datanucleus-api-jdo.jar,并且没有derby.jar,可以考虑替换Hive的lib为spark-client中的lib到Classpath中;
- 经过实验,此方案可行!
Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found相关推荐
- DataNucleus之JDO操作示例
JDO(Java Data Object )是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API.注意JDO是一种规范,而不是一个产品.而DataNucleus正是实现J ...
- Google App Engine + JDO + Spring MVC,CRUD示例
注意 本教程更多关于实践指南,请参考此官方的在数据存储区中使用JDO了解详细说明. 请参阅以下代码段,以使用Java数据对象(JDO)在GAE数据存储上执行CRUD. 只需使用JDO注释为客户注释,然 ...
- 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 ...
- Spark SQL CLI 运行
1:运行 ./bin/spark-sql 需要先把hive-site.xml 负责到spark的conf目录下 [jifeng@feng02 spark-1.2.0-bin-2.4.1]$ ./bin ...
- 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:// ...
- Hive学习和配置Mysql
1.Hive简介 起源自facebook由Jeff Hammerbacher领导的团队 构建在Hadoop上的数据仓库框架 设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海 ...
- Apache Sentry手动安装、使用手册
Sentry手动安装.使用手册 1 Sentry简介 Apache Sentry 是Cloudera公司发布的一个Hadoop开源组件,截止目前还是Apache的孵化项目,它提供了细粒度级.基于角色的 ...
- 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 ...
- 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 ...
最新文章
- Android使用BroadCastRecevier广播实现接收短信,并利用Toast弹出显示内容
- linux shell命令设置内存大小运行jar文件
- Docker可视化工具portainer的安装与使用
- 伪元素控制网页表单样式
- windows下mysql的数据备份
- openid saml2_单一登录云:SAML和OpenId
- 如何选择面向对象语言
- C++设计模式-享元模式
- Fedora Linux中配置JDK5或JDK6环境变量
- 谨慎设计方法签名(40)
- java中的静态块static{}及this,super,final的用法总结
- python设置很大的刻度_【Matplotlib】设置刻度(1)
- np.linspace函数用法
- echarts最简单的南丁格尔玫瑰图+图例
- 如何申请注册微信公众号
- ad转3d视图快捷键_【技术干货】PCB工程师不得不看:超级实用AD常用快捷键总结...
- java代码在图片上画框
- KNN(K临近算法)的简单模拟实现
- 为什么安装MathType无法复制粘贴
- 路由器的flash和内存
热门文章
- python加密excel
- 使用vue音频播放器(vue-aplayer)详解
- 笔记本无线网卡开启wifi方法
- 《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(4)-- Controller Architecture
- 程派高式八卦掌传人——刘树行
- cpu电压解释;cpu上面的数字和字母
- 股票涨跌的心理学原理: 过度自信理论
- 淘宝关键词搜索采集商品价格销量接口分析商品价格走势(商品列表接口,商品销量接口,商品价格接口,分类ID采集精准商品数据接口)接口代码对接流程
- AI 边缘计算平台 - BeagleBone AI 64 简介
- c语言switch购物折扣,SWITCH国际版ESHOP史低来袭推荐(64):精彩在继续,折扣在进行,捡漏的机会到啦!...