in manager/dm-agent/src/main/java/org/apache/doris/manager/agent/service/heartbeat/DorisInstanceOperator.java [81:126]
public boolean configInstance(String moudleName, String installInfo, Map<String, String> parms) {
log.info("begin to config {} instance", moudleName);
try {
File confFile;
if (moudleName.equals(ServerAndAgentConstant.FE_NAME)) {
createDataPath(parms.get(ConfigDefault.FE_META_CONFIG_NAME));
confFile = Paths.get(installInfo, moudleName, "conf", ServerAndAgentConstant.FE_CONF_FILE).toFile();
} else if (moudleName.equals(ServerAndAgentConstant.BE_NAME)) {
String dataPathConfig = parms.get(ConfigDefault.BE_DATA_CONFIG_NAME);
String[] dataPaths = dataPathConfig.split(";");
for (String dataPath : dataPaths) {
createDataPath(dataPath);
}
confFile = Paths.get(installInfo, moudleName, "conf", ServerAndAgentConstant.BE_CONF_FILE).toFile();
} else {
String actualBrokerPath = getBrokerInstallationPath(installInfo);
String configFileName = ServerAndAgentConstant.BROKER_CONF_FILE;
if (actualBrokerPath.equals(ServerAndAgentConstant.BAIDU_BROKER_INIT_SUB_DIR)) {
log.debug("Baidu doris broker config");
configFileName = ServerAndAgentConstant.BAIDU_BROKER_CONF_FILE;
parms.putAll(ServerAndAgentConstant.BAIDU_BROKER_CONFIG_DEDAULT);
}
confFile = Paths.get(installInfo, actualBrokerPath, "conf", configFileName).toFile();
}
// Create a new profile
confFile.createNewFile();
StringBuffer configFileContentBuffer = new StringBuffer();
for (String key : parms.keySet()) {
String configItem = key + "=" + parms.get(key) + "\n\n";
configFileContentBuffer.append(configItem);
}
log.info("create new conf file {}", configFileContentBuffer.toString());
Files.asCharSink(confFile, Charset.forName("UTF-8")).write(configFileContentBuffer.toString());
log.info("config {} instance success");
return true;
} catch (Exception e) {
log.error("config {} instance error", e);
return false;
}
}