hive - Hive - derby - java.lang.SecurityException:密封违规:包 org.apache.derby.impl.services.locks 已密封
问题描述
在安装 Hive 和 Derby 之后,在运行 hive 之前,我想将元数据模式创建为: schematool -initSchema -dbType derby
它给了我以下错误:
“根本原因:java.sql.SQLException:找不到适合 jdbc 的驱动程序:derby://home/hadoop/metastore_db;create=true”
我检查了 CLASSPATH,如下所示:
.:/usr/lib/jvm/jre-1.8.0-openjdk/jre/lib:/usr/lib/jvm/jre-1.8.0-openjdk/lib:/usr/lib/jvm/jre-1.8.0 -openjdk/lib/tools.jar:/usr/local/derby/db-derby-10.4.2.0-bin/lib/derbyclient.jar:/usr/local/derby/db-derby-10.4.2.0-bin/lib /derby.jar:/usr/local/derby/db-derby-10.4.2.0-bin/lib/derbytools.jar
所需的 jar 文件在那里。
但是,我复制了derbytools.jar、derby.jar和derbyclient.jar
/usr/local/derby/db-derby-10.4.2.0-bin/lib/ 到 /usr/local/hive/apache-hive-3.1.2-bin/lib/
. 这解决了上述错误。但现在我收到以下错误。
“java.lang.SecurityException:密封违规:包 org.apache.derby.impl.services.locks 已密封。”
此邮件列表中的一些建议检查我是否在类路径中两次指向 derby jar 文件。显然,它没有在 CLASSPATH 中重复。
请让我知道我哪里出错了。
conf/hive-site.xml中的条目如下:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby://home/hadoop/metastore_db;create=true </value>
<!--<value>jdbc:derby://localhost:1527/metastore_db;create=true </value>-->
<description>JDBC connect string for a JDBC metastore </description>
</property>
谢谢, Soumyadeep
解决方案
推荐阅读
- python - 如何将特定的文件列表传递给`binaryFiles`
- c++ - 关于 C++ while 循环的语法混淆
- javascript - 使用 Yarn Workspaces 和 Typescript 时在子目录中导入文件
- r - R中的复选框用户输入?
- tensorflow - GKE 上的 TPU 内存泄漏导致 OOM/“不可用:套接字已关闭”错误
- reactjs - React Hook 由于某种原因没有更新状态
- python - Kivy:制作包含不同小部件并能够在 kv 文件中访问它们的属性的单个小部件的最佳方法
- python - 如何在图表的条形上方设置单个标记
- vba - 复制/粘贴时停止 VBA 将文本更改为日期
- javascript - s3.headObject 正在制作意外项目