diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java index a1a81ed..5b0c8fc 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java @@ -131,8 +131,16 @@ public class IntegrationTestingUtility extends HBaseTestingUtility { } public void createDistributedHBaseCluster() throws IOException { + //if it is a distributed HBase cluster, use the conf provided by classpath + //to set hbase dir and fs.defaultFS. + //Since when the super class HBaseTestingUtility initializing, it will + //change hbase.rootdir to a local test dir. Configuration conf = getConfiguration(); - conf.set("fs.defaultFS", conf.get("original.defaultFS")); + Configuration localConf = HBaseConfiguration.create(); + conf.set("fs.defaultFS", localConf.get("fs.defaultFS")); + conf.set(HConstants.HBASE_DIR, localConf.get(HConstants.HBASE_DIR)); + LOG.debug("Setting {} to {} since it is a distributed cluster", + HConstants.HBASE_DIR, localConf.get(HConstants.HBASE_DIR)); Class clusterManagerClass = conf.getClass(HBASE_CLUSTER_MANAGER_CLASS, DEFAULT_HBASE_CLUSTER_MANAGER_CLASS, ClusterManager.class); ClusterManager clusterManager = ReflectionUtils.newInstance(