Ответ 1
Я сам это понял. В hive-site.xml замените ${system: java.io.tmpdir}/${system: user.name} на /tmp/mydir как на то, что было сказано в https://cwiki.apache.org/confluence/display/Hive/AdminManual+Configuration.
Я новичок в ВИЧ. Я уже настроил hadoop, и он работает хорошо, и я хочу настроить Hive. Когда я начинаю улей, он показывает ошибку как
Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
Есть ли какие-либо решения?
Я сам это понял. В hive-site.xml замените ${system: java.io.tmpdir}/${system: user.name} на /tmp/mydir как на то, что было сказано в https://cwiki.apache.org/confluence/display/Hive/AdminManual+Configuration.
Поместите следующее в начало hive-site.xml
<property>
<name>system:java.io.tmpdir</name>
<value>/tmp/hive/java</value>
</property>
<property>
<name>system:user.name</name>
<value>${user.name}</value>
</property>
См. также question
Изменить hfs-site.xml свойства
<name>hive.exec.scratchdir</name>
<value>/tmp/hive-${user.name}</value>
<name>hive.exec.local.scratchdir</name>
<value>/tmp/${user.name}</value>
<name>hive.downloaded.resources.dir</name>
<value>/tmp/${user.name}_resources</value>
<name>hive.scratch.dir.permission</name>
<value>733</value>
перезапустить метатест куста и hiveserver2
Я тоже столкнулся с той же ошибкой при запуске HMaster для Hbase. это было исправлено путем определения пути к каталогу на hdfs, где вы хотите хранить данные hbase в свойстве hbase.rootdir файла hbase-site.xml раньше я использовал только относительный путь.
путь, вызывающий исключение: hdfs://localhost: 8020
правильный путь: hdfs://localhost: 8020/hbase
Исключение в потоке "main" java.lang.IllegalArgumentException: java.net.URISyntaxException: Относительный путь в абсолютном URI: $ {system: java.io.tmpdir% 7D/$% 7Bsystem: user.name% 7D system: java.io Система.tmpdir: имя пользователя
Вышеуказанные свойства являются свойствами системного уровня, которые должны быть установлены пользователем, поэтому шаблон сайта куста не предоставил их, что требовало ручной настройки.
Установите вышеупомянутые свойства, например, используя тег свойства с парой ключ-значение имени в hive-site.xml. Его пользовательский уровень позволяет выбрать местоположение временного
<property>
<name>system:java.io.tmpdir</name>
<value>/user/local/hive/tmp/java</value>
</property>
<property>
<name>system:user.name</name>
<value>${user.name}</value>
</property>
добавить свойство в hive-site.xml
<configuration>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
<description>Will remove your error occurring because of metastore_db in shark</description>
</property>
</configuration>
добавить java и hasoop путь в hive-env.sh в соответствии с вашей системой.
# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/home/user17/BigData/hadoop
#hive
export HIVE_HOME=/home/user17/BigData/hive
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=$HIVE_HOME/conf
а также задайте путь улья и hadoop в .bashrc
export JAVA_HOME=/home/user17/jdk
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_INSTALL=/home/user17/BigData/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HIVE_INSTALL=/home/user17/BigData/hive
export PATH=$PATH:$HIVE_INSTALL/bin
Примечание. Этот путь к файлам задан в соответствии с моей системой, вы должны указать путь в соответствии с вашей системой. дайте мне знать, если не работайте