in manager/dm-agent/src/main/java/org/apache/doris/manager/agent/service/heartbeat/DorisInstanceOperator.java [128:161]
public boolean startInstance(String moudleName, String installInfo, String followerEndpoint) {
log.info("begin to start {} instance", moudleName);
try {
if (moudleName.equals(ServerAndAgentConstant.BROKER_NAME)) {
moudleName = getBrokerInstallationPath(installInfo);
}
int mainProcPid = processIsRunning(moudleName, installInfo);
if (mainProcPid == -1) {
log.info("{} instance not running, start it", moudleName);
String startScript = "";
if (moudleName.equals(ServerAndAgentConstant.FE_NAME)) {
startScript = ServerAndAgentConstant.FE_START_SCRIPT;
if (followerEndpoint != null && !followerEndpoint.isEmpty()) {
startScript += " --helper " + followerEndpoint;
}
} else if (moudleName.equals(ServerAndAgentConstant.BE_NAME)) {
startScript = ServerAndAgentConstant.BE_START_SCRIPT;
} else {
startScript = ServerAndAgentConstant.BROKER_START_SCRIPT;
}
startScript += " --daemon";
executePkgShellScriptWithBash(startScript, installInfo, moudleName, Maps.newHashMap());
} else {
log.info("instance {} is running", moudleName);
}
log.info("start {} instance success", moudleName);
return true;
} catch (Exception e) {
log.error("Start " + moudleName + " instance error {}.", e);
return false;
}
}