You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

连接HBase时触发java.lang.NumberFormatException异常的解决方法

解决HBase配置中的NumberFormatException问题

嘿,我一眼就看出问题出在哪了——你这是把ZooKeeper的端口号错误地塞进了hbase.zookeeper.quorum配置里,还触发了框架的格式问题,导致ZooKeeper解析连接字符串时翻车了!

直接解决方案

按照下面的步骤修改你的配置代码:

  • 第一步:修正ZooKeeper集群地址,只保留IP,去掉端口号:
    String ZOOKEPER_QORUM_NODE = "172.31.17.251,172.31.17.252,172.31.17.253";
    
  • 第二步:如果你的ZooKeeper用的不是默认端口2181,单独配置端口(用默认值的话这步可以跳过):
    new HBaseGraphConfiguration()
        .set("hbase.zookeeper.quorum", ZOOKEPER_QORUM_NODE)
        .set("hbase.zookeeper.property.clientPort", "2181");
    

为什么会出这个问题?

HBase的hbase.zookeeper.quorum配置项只负责指定ZooKeeper集群的节点IP地址,端口是靠独立的hbase.zookeeper.property.clientPort配置项来设置的(默认就是2181)。

你把端口和IP写在一起后,HBase处理配置时错误地给整个字符串套上了方括号(从你的控制台输出里能看到connectString=[xxx]),ZooKeeper的连接字符串解析器会把2181]当成端口来解析——这字符串里带个方括号尾巴,肯定转不成整数,直接就抛出NumberFormatException了。

去掉端口号后,框架会正确生成不带方括号的连接字符串,解析器就能正常识别每个ZooKeeper节点啦。

内容的提问来源于stack exchange,提问作者Litchy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:54:36