Apache phoenix ドライバーを介して HBase に接続できません。環境情報: hadoop-2.6.0.
hbase-0.98.9-hadoop2.
phoenix-4.1.0-server-hadoop2 (すべての地域サーバーに保持)。
phoenix-4.1.0-client-hadoop2 (この jar を使用して jdbc 接続を作成します)。
Java クライアント側、例外が発生しています
原因: org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: java.io.IOException: クラス org.apache.phoenix.coprocessor.MetaDataRegionObserver をロードできません ...
原因: java .io.IOException: クラス org.apache.phoenix.coprocessor.MetaDataRegionObserver を org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.testTableCoprocessorAttrs にロードできません...
HBase マスター ノード ログで、次のエラーが表示されます。
2015-02-02 12:48:11,550 DEBUG [FifoRpcScheduler.handler1-thread-14] util.FSTableDescriptors: readTableDecriptor 中の例外。現在のテーブル名 = SYSTEM.CATALOG org.apache.hadoop.hbase.TableInfoMissingException: hdfs の下にテーブル記述子ファイルがありません://HadoopNode:9000/home/hduser/Data/hbase/data/default/SYSTEM.CATALOG
フェニックス接続を作成するために使用しているコード:
String zkQuorum = "HbaseMasterNode:2222";
try
{
Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
String connectionURL = "jdbc:phoenix:" + zkQuorum;
Connection connection = DriverManager.getConnection(connectionURL);
System.out.println(connection);
}
catch (Exception e)
{
throw new IllegalArgumentException("Create phoenix connection(" + zkQuorum + ") throw exception", e);
}
基本的な Hbase Java API の助けを借りて接続できますが、この問題は、HBase に Phoenix ドライバーを使用しようとした場合にのみ直面しています。