Спасибо за ответ @VS_FF, я нашел проблему, а также теперь публикую весь ответ
Краткое решение этой проблемы просто установлено conf.setDelimiterParsingDisabled(true);
Сначала этоРекомендуется устанавливать hbase.zookeeper.quorum = "ip1,ip2,ip3"
(хост ip) и hbase.zookeeper.property.clientPort = 2181
(порт) отдельно.
Строка IP-адресов вводится в конфигурацию HBase.Затем, у него есть два вида метода синтаксического анализа, контролируемого
conf = new PropertiesConfiguration();
conf.setDelimiterParsingDisabled(true);
, если применяется setDelimiterParsingDisabled(true)
, тогда конфигурация будет вводить исходную строку в zookeeper, говоря "ip1,ip2,ip3"
, иначе setDelimiterParsingDisabled(false)
(этоявляется настройкой по умолчанию), в этом состоянии он будет вводить массив в zookeeper, говоря: [ip1,ip2,ip3]
.
Однако, zookeeper должен получить переменную String
, поэтому, если setDelimiterParsingDisabled(false)
, он сначалапреобразовать массив в String
, добавив скобки []
.
Наконец, zookeeper анализирует переменную String
с использованием разбиения нотации ,
, поэтому он, наконец, получает ip1 = "[ip1", ip2 = "ip2", ip3 = "ip3]"
и выбрасываетNumberFormatException