HOWTO · Java

org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient をインスタンス化できません

このチュートリアルでは、Java で java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient を解決する方法を示します。

このチュートリアルでは、java.lang.RuntimeException: 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 シェルをエラーなしで適切に実行します。

~/.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 シェルの実行

最後のメソッドは実行部分で、すべてのサービスを実行し、Hive シェルを実行する必要があります。 以下の手順に従ってください。

  1. start-all.sh を開始して、Hadoop のすべてのサービスを開始します。
  2. Hadoop のすべてのサービスが実行されているかどうかを確認します。 jps コマンドで確認してください。
  3. 最後に、Hive コマンドを入力して Hive シェルを開始します。