From ddecd74b0c7d865b62a15450ba5660735f8d9ec5 Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 2 Dec 2014 17:17:36 +0800 Subject: [PATCH] Enable connections to Hbase with Zookeeper Quorum of more than 1 node --- common/src/main/java/com/kylinolap/common/util/HadoopUtil.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/com/kylinolap/common/util/HadoopUtil.java b/common/src/main/java/com/kylinolap/common/util/HadoopUtil.java index 77767fc..41fad0a 100644 --- a/common/src/main/java/com/kylinolap/common/util/HadoopUtil.java +++ b/common/src/main/java/com/kylinolap/common/util/HadoopUtil.java @@ -72,7 +72,7 @@ public static Configuration newHBaseConfiguration(String url) { return conf; // case of "hbase:domain.com:2181:/hbase-unsecure" - Pattern urlPattern = Pattern.compile("([\\w\\d\\-.]+)[:](\\d+)(?:[:](.*))?"); + Pattern urlPattern = Pattern.compile("([\\w\\d\\-.,]+)[:](\\d+)(?:[:](.*))?"); Matcher m = urlPattern.matcher(url); if (m.matches() == false) throw new IllegalArgumentException("HBase URL '" + url + "' is invalid, expected url is like '" + "hbase:domain.com:2181:/hbase-unsecure" + "'"); @@ -81,7 +81,8 @@ public static Configuration newHBaseConfiguration(String url) { String quorum = m.group(1); try { - InetAddress.getByName(quorum); + for (String quorum_node : quorum.split(",")) + InetAddress.getByName(quorum_node); } catch (UnknownHostException e) { throw new IllegalArgumentException("Zookeeper quorum is invalid: " + quorum + "; urlString=" + url, e); }