Hive - derby - java .lang.SecurityException: нарушение герметизации: пакет org. apache .derby.impl.services.locks запечатан - PullRequest
1 голос
/ 06 апреля 2020

После установки Hive и Derby и перед запуском hive я хотел создать схему метаданных в виде: schematool -initSchema -dbType derby

Это выдало мне следующую ошибку:

"Основная причина: java. sql .SQLException: не найден подходящий драйвер для jdb c: 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 / Библиотека: /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 / to /usr/local/hive/apache-hive-3.1.2-bin/lib/ * 102 6 *

. Это решило вышеуказанную ошибку. Но теперь я получаю следующую ошибку.

"java .lang.SecurityException: нарушение герметизации: пакет org. apache .derby.impl.services.locks запечатан."

Некоторые предложили в этом списке рассылки проверить, не указываю ли я дважды файлы дерби в пути к классам. По-видимому, это не повторяется в 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

...