public boolean configInstance()

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;
        }
    }