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 シェルを実行するには、最初にいくつかのソフトウェアをインストールする必要があります。 リストを以下に示します。
- MySQL
- ハドゥープ
- ハイブ
- ジャバ
このソフトウェアとプラグインが正常にインストールされたら、Hive シェルを実行できます。
サービスの実行と Hive シェルの実行
最後のメソッドは実行部分で、すべてのサービスを実行し、Hive シェルを実行する必要があります。 以下の手順に従ってください。
start-all.shを開始して、Hadoop のすべてのサービスを開始します。- Hadoop のすべてのサービスが実行されているかどうかを確認します。 jps コマンドで確認してください。
- 最後に、Hive コマンドを入力して Hive シェルを開始します。