ZooKeeper返回HBase服务器地址的垃圾字符

时间:2012-03-26 06:34:37

标签: scala hadoop hbase playframework-2.0 apache-zookeeper

怎么回事?

很抱歉,如果我在这里听起来很蠢。

我正在尝试创建一个基本的play2.0 - HBase应用程序。当我尝试从播放中连接HBase时,ZooKeeper会返回HBase服务器地址的垃圾字符。

def main(args : Array[String]) : Unit = {
 val conf =  HBaseConfiguration create
 val admin = new HBaseAdmin(conf)

 // list the tables
 val listtables = admin.listTables()
 listtables.foreach(println)
}

我已经找到了弱点,它位于org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker。它使用本地地址和端口的垃圾值加载数据,然后传递给HServerAddress类以进行进一步操作。

我查看了我的hbase-site.xml(只包含localhost)和hbase-default.xml,看起来很正常,符合Apache的指示。

<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>file:///Users/gchandra/Applications/hbase-0.92.1/data-store/hbase</value>
</property>
</configuration>

下面粘贴的是堆栈跟踪。

Exception in thread "main" java.lang.IllegalArgumentException: Not a host:port pair: ?���5610@L-C02FF6MTDF91��192.168.1.4,64256,1332739256936
at org.apache.hadoop.hbase.HServerAddress.<init>(HServerAddress.java:60)
at org.apache.hadoop.hbase.MasterAddressTracker.getMasterAddress(MasterAddressTracker.java:63)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:354)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:94)
at services.HBaseConnection$.main(HBaseConnection.scala:20)
at services.HBaseConnection.main(HBaseConnection.scala)

如果有人可以帮助我,请欣赏它!谢谢!

2 个答案:

答案 0 :(得分:0)

刚搜索了您的异常消息,发现了这个:Re: IllegalArgumentException: Not a host:port

您的客户端库和服务器之间的版本是否不匹配?

答案 1 :(得分:0)

它在另一个盒子里工作,不知道为什么它在我当地表现得很奇怪!谢谢大家!