public static boolean isNameNodeFormatted()

in bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/hadoop/HadoopSetup.java [243:286]


    public static boolean isNameNodeFormatted(HadoopParams hadoopParams) {

        boolean isFormatted = false;
        for (String nameNodeFormattedDir : hadoopParams.getNameNodeFormattedDirs()) {
            File file = new File(nameNodeFormattedDir);
            if (file.exists() && file.isDirectory()) {
                log.info("{} exists. Namenode DFS already formatted", nameNodeFormattedDir);
                isFormatted = true;
            }
        }

        if (isFormatted) {
            for (String nameNodeFormattedDir : hadoopParams.getNameNodeFormattedDirs()) {
                LinuxFileUtils.createDirectories(
                        nameNodeFormattedDir,
                        hadoopParams.user(),
                        hadoopParams.group(),
                        Constants.PERMISSION_755,
                        true);
            }
            return true;
        }

        // Check if name dirs are not empty
        String[] nameNodeDirs = hadoopParams.getDfsNameNodeDir().split(",");

        for (String nameNodeDir : nameNodeDirs) {
            File file = new File(nameNodeDir);
            if (!file.exists()) {
                log.info(
                        "NameNode will not be formatted because the directory {} is missing or cannot be checked for content.",
                        nameNodeDir);
                return true;
            } else {
                File[] files = file.listFiles();
                if (files != null && files.length > 0) {
                    log.info("NameNode will not be formatted since {} exists and contains content", nameNodeDir);
                    return true;
                }
            }
        }

        return false;
    }