1

HBase に接続すると、次のメッセージが表示されます。

 java.lang.NullPointerException
    at java.lang.StringBuilder.<init>(StringBuilder.java:92)
    at org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper.getZookeeperClusterKey(ZooKeeperWrapper.java:956)

構成に問題があるようです。構成にxmlファイルを使用していませんが、コードでこれを行います。記録のために、これは私のコードの構成部分です:

usersTable = new HTable(config, "users");
config.set("hbase.zookeeper.quorum", "student-serv002.test");

Spring DM を使用して OSGi アプリケーションからこれを実行しています。

編集:

956行目あたりのソースコードは次のとおりです。

public static String getZookeeperClusterKey(Configuration conf, String name) {
954     String quorum = conf.get(HConstants.ZOOKEEPER_QUORUM.replaceAll(
955         "[\\t\\n\\x0B\\f\\r]", ""));
956     StringBuilder builder = new StringBuilder(quorum);
957     builder.append(":");
958     builder.append(conf.get(HConstants.ZOOKEEPER_ZNODE_PARENT));
959     if (name != null && !name.isEmpty()) {
960       builder.append(",");
961       builder.append(name);
962     }
963     return builder.toString();
964   }

明らかに、クォーラムの値は読み取られません。ただし、通常の非 OSGi アプリケーションで同じコードを使用しても問題はありませんでした。

編集:構成を提供する別の方法を使用すると、効果があったようです。次のエラーが表示されます。

java.lang.NullPointerException
    at org.apache.hadoop.hbase.client.HConnectionManager$ClientZKWatcher.getZooKeeperWrapper(HConnectionManager.java:231)

現在ソースを調べています。

4

0 に答える 0