怎么回事?
很抱歉,如果我在这里听起来很蠢。
我正在尝试创建一个基本的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)
如果有人可以帮助我,请欣赏它!谢谢!
答案 0 :(得分:0)
刚搜索了您的异常消息,发现了这个:Re: IllegalArgumentException: Not a host:port
您的客户端库和服务器之间的版本是否不匹配?
答案 1 :(得分:0)
它在另一个盒子里工作,不知道为什么它在我当地表现得很奇怪!谢谢大家!