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