【发布时间】:2023-03-17 08:20:02
【问题描述】:
我正在设置 HBase 配置new HBaseGraphConfiguration().set("hbase.zookeeper.quorum", ZOOKEPER_QORUM_NODE) where
ZOOKEPER_QORUM_NODE = "172.31.17.251:2181,172.31.17.252:2181,172.31.17.253:2181";
然而它抛出一个java.lang.NumberFormatException,错误的部分是
Caused by: java.lang.NumberFormatException: For input string: "2181]"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at org.apache.zookeeper.client.ConnectStringParser.<init>(ConnectStringParser.java:72)
错误行之前的控制台输出是
2018-05-30 14:40:52 INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=[172.31.17.251:2181, 172.31.17.252:2181, 172.31.17.253:2181] sessionTimeout=180000 watcher=hconnection-0x25a65b770x0, quorum=[172.31.17.251:2181, 172.31.17.252:2181, 172.31.17.253:2181], baseZNode=/hbase
2018-05-30 14:40:52 INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=[172.31.17.251:2181, 172.31.17.252:2181, 172.31.17.253:2181] sessionTimeout=180000 watcher=hconnection-0x25a65b770x0, quorum=[172.31.17.251:2181, 172.31.17.252:2181, 172.31.17.253:2181], baseZNode=/hbase
如何解决?
【问题讨论】:
-
也许问题是显而易见的,但以防万一问题是端口号有右括号,因此它不能转换为数字。如果它是配置文件的一部分,请尝试在括号前留一个空格。
-
@Juan 变量没有任何括号,并且在控制台日志输出中它有
connectString=[*,*,*],这意味着这两个括号是解析器添加的?第一个括号[没有错误,但第二个括号]有错误 -
@Juan 我还需要补充一点,如果我设置
ZOOKEPER_QORUM_NODE = "172.31.17.251,172.31.17.252,172.31.17.253";,变量将变为connectString=[172.31.17.251:2181, 172.31.17.252:2181, 172.31.17.253]:2181 -
请附上您的代码。基础
For input string: "2181]",我猜你用:溢出了你的字符串数组。您需要将数组转换为列表,然后一一溢出。 -
@Bejond 我的代码就是上面那行,
ZOOKEPER_QORUM_NODE = "172.31.17.251:2181,172.31.17.252:2181,172.31.17.253:2181";这是zookeeper quorum String,我猜为什么要转换成列表是因为这个ZOOKEPER_QORUM_NODEString被解析了官方org.apache.hbase包
标签: java hbase apache-zookeeper