You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2015/09/19 19:13:27 UTC
hbase git commit: HBASE-14280 Bulk Upload from HA cluster to remote
HA hbase cluster fails (Ankit Singhal)
Repository: hbase
Updated Branches:
refs/heads/master 1545e1ed8 -> a7afc132e
HBASE-14280 Bulk Upload from HA cluster to remote HA hbase cluster fails (Ankit Singhal)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a7afc132
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a7afc132
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a7afc132
Branch: refs/heads/master
Commit: a7afc132e2db7ebbb571b43ae17161bff40b59c5
Parents: 1545e1e
Author: tedyu <yu...@gmail.com>
Authored: Sat Sep 19 10:13:00 2015 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Sat Sep 19 10:13:00 2015 -0700
----------------------------------------------------------------------
.../apache/hadoop/hbase/util/FSHDFSUtils.java | 25 ++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/a7afc132/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java
index 1360fb2..bdc2534 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java
@@ -27,6 +27,7 @@ import java.net.URI;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import java.util.Collection;
import com.google.common.collect.Sets;
import org.apache.commons.logging.Log;
@@ -66,8 +67,17 @@ public class FSHDFSUtils extends FSUtils {
dfsUtilClazz = Class.forName("org.apache.hadoop.hdfs.DFSUtil");
}
if (getNNAddressesMethod == null) {
- getNNAddressesMethod =
- dfsUtilClazz.getMethod("getNNServiceRpcAddresses", Configuration.class);
+ try {
+ // getNNServiceRpcAddressesForCluster is available only in version
+ // equal to or later than Hadoop 2.6
+ getNNAddressesMethod =
+ dfsUtilClazz.getMethod("getNNServiceRpcAddressesForCluster", Configuration.class);
+ } catch (NoSuchMethodError e) {
+ // If hadoop version is older than hadoop 2.6
+ getNNAddressesMethod =
+ dfsUtilClazz.getMethod("getNNServiceRpcAddresses", Configuration.class);
+ }
+
}
Map<String, Map<String, InetSocketAddress>> addressMap =
@@ -115,6 +125,17 @@ public class FSHDFSUtils extends FSUtils {
if (srcServiceName.equals(desServiceName)) {
return true;
}
+ if (srcServiceName.startsWith("ha-hdfs") && desServiceName.startsWith("ha-hdfs")) {
+ Collection<String> internalNameServices =
+ conf.getTrimmedStringCollection("dfs.internal.nameservices");
+ if (!internalNameServices.isEmpty()) {
+ if (internalNameServices.contains(srcServiceName.split(":")[1])) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ }
if (srcFs instanceof DistributedFileSystem && desFs instanceof DistributedFileSystem) {
//If one serviceName is an HA format while the other is a non-HA format,
// maybe they refer to the same FileSystem.