HOWTO · Java

org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient를 인스턴스화할 수 없습니다.

이 튜토리얼은 java.lang.RuntimeException: Java에서 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient를 인스턴스화할 수 없음을 해결하는 방법을 보여줍니다.

이 페이지의 내용

이 튜토리얼은 java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient를 해결하는 방법을 보여줍니다.

Java에서 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient를 인스턴스화할 수 없습니다.

Apache Hive는 Hadoop 파일에 저장된 대용량 데이터 세트를 읽고 관리하고 쓰기 위한 오픈 소스 데이터 웨어하우스 소프트웨어입니다. SQL과 유사하게 작동합니다. 경우에 따라 Hadoop 및 Hive가 제대로 구성되지 않은 경우 java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 오류가 발생할 수 있습니다.

Ubuntu 플랫폼에서 작업하는 동안 이 오류에 대한 해결책은 다음과 같습니다. 오류 없이 Hive Shell을 정상적으로 실행하려면 아래의 방법을 따르십시오.

~/.bashrc 파일

홈 디렉토리에서 bashrc 파일을 열고 sudo gedit ~/.bashrc 파일 끝에 다음 환경 변수를 추가합니다.

# directory configuration for JAVA_HOME
export JAVA_HOME="/usr/lib/jvm/java-9-oracle"
export PATH="$PATH:$JAVA_HOME/bin"

# directory configuration for HADOOP_HOME
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

export HIVE_HOME=/usr/lib/hive
export PATH=$PATH:$HIVE_HOME/bin

.jar 파일

또한 .jar 파일 MySQL-connector-java-5.1.28.jar 또는 최신 버전을 Hive 홈의 lib 디렉토리에 넣어야 합니다.

hive-site.xml 파일 생성

Hive의 conf 디렉터리에 배치될 hive-site.xml 파일을 생성해야 합니다. 파일에 다음 코드를 삽입해야 합니다.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>root</value>
</property>

<property>
  <name>datanucleus.autoCreateSchema</name>
  <value>true</value>
</property>

<property>
  <name>datanucleus.fixedDatastore</name>
  <value>true</value>
</property>

<property>
 <name>datanucleus.autoCreateTables</name>
 <value>True</value>
 </property>

</configuration>

필수 소프트웨어 및 플러그인 설치

Ubuntu에서 Hive 셸을 실행하려면 먼저 몇 가지 소프트웨어를 설치해야 합니다. 목록은 다음과 같습니다.

  1. MySQL
  2. 하둡
  3. 하이브
  4. 자바

이 소프트웨어와 플러그인이 성공적으로 설치되면 Hive 셸을 실행할 수 있습니다.

서비스 실행 및 Hive Shell 실행

마지막 방법은 모든 서비스를 실행하고 Hive 셸을 실행해야 하는 실행 부분입니다. 아래 단계를 따르십시오.

  1. start-all.sh를 시작하여 모든 Hadoop 서비스를 시작합니다.
  2. 이제 Hadoop의 모든 서비스가 실행 중인지 확인합니다. jps 명령을 사용하여 확인하십시오.
  3. 마지막으로 Hive 명령을 입력하여 Hive 셸을 시작합니다.