После установки 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