3

バージョン: Hadoop: 2.0.0-cdh4.3.1
HBase: 0.94.6-cdh4.3.1

Cloudera クイック スタート VM を実行しています。これが私の小さなリモート HBase Java クライアント (HbaseClient.java) です。

public static void main(String[] args) throws IOException {
    Configuration config = HBaseConfiguration.create();
    HTable table = new HTable(config, "s1");
    System.out.println(table.getTableName());
}

Java クライアントを実行すると、次のエラーが発生します。

log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2013-08-25 00:01:56.684 java[39082:1703] Unable to load realm info from SCDynamicStore
Exception in thread "main" org.apache.hadoop.hbase.client.NoServerForRegionException: Unable to find region for s1,,99999999999999 after 10 tries.
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:980)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:885)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:987)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:889)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:846)
    at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:271)
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:211)
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:170)
    at com.***************.api.HBaseClient.main(HBaseClient.java:24)

コードをデバッグしましたが、クライアントがリソース フォルダーで hbase-site.xml を使用しているかどうかを確認するのは困難です。hbase-site.xml に間違った形式のコンテンツを入れても、Java クライアントで同じエラーが発生します。なので使っていないと思います。resources フォルダーは CLASSPATH の一部ではありませんか? hbase-site.xml が使用されているかどうかを確認する方法はありますか?使用されていない場合、クライアントに使用させる方法はありますか?

ここに画像の説明を入力

4

2 に答える 2