HBASE-9020 Make hbase-it HBASE_HOME configurable

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1506205 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
jxiang 2013-07-23 18:42:11 +00:00
parent be6adbdd7e
commit b60e27d9d8

View File

@ -143,21 +143,24 @@ public class HBaseClusterManager extends ClusterManager {
* CommandProvider to manage the service using bin/hbase-* scripts * CommandProvider to manage the service using bin/hbase-* scripts
*/ */
static class HBaseShellCommandProvider extends CommandProvider { static class HBaseShellCommandProvider extends CommandProvider {
private String getHBaseHome() { private final String hbaseHome;
return System.getenv("HBASE_HOME"); private final String confDir;
}
private String getConfig() { HBaseShellCommandProvider(Configuration conf) {
String confDir = System.getenv("HBASE_CONF_DIR"); hbaseHome = conf.get("hbase.it.clustermanager.hbase.home",
if (confDir != null) { System.getenv("HBASE_HOME"));
return String.format("--config %s", confDir); String tmp = conf.get("hbase.it.clustermanager.hbase.conf.dir",
System.getenv("HBASE_CONF_DIR"));
if (tmp != null) {
confDir = String.format("--config %s", tmp);
} else {
confDir = "";
} }
return "";
} }
@Override @Override
public String getCommand(ServiceType service, Operation op) { public String getCommand(ServiceType service, Operation op) {
return String.format("%s/bin/hbase-daemon.sh %s %s %s", getHBaseHome(), getConfig(), return String.format("%s/bin/hbase-daemon.sh %s %s %s", hbaseHome, confDir,
op.toString().toLowerCase(), service); op.toString().toLowerCase(), service);
} }
} }
@ -169,7 +172,7 @@ public class HBaseClusterManager extends ClusterManager {
protected CommandProvider getCommandProvider(ServiceType service) { protected CommandProvider getCommandProvider(ServiceType service) {
//TODO: make it pluggable, or auto-detect the best command provider, should work with //TODO: make it pluggable, or auto-detect the best command provider, should work with
//hadoop daemons as well //hadoop daemons as well
return new HBaseShellCommandProvider(); return new HBaseShellCommandProvider(getConf());
} }
/** /**