与zookeepers getZookeeperClusterKey的NullPointerException

时间:2011-03-23 17:33:19

标签: hadoop osgi hbase apache-zookeeper

连接到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)

立即查看来源。

提前致谢!

0 个答案:

没有答案