|
@@ -1805,12 +1805,7 @@ public class MiniDFSCluster {
|
|
|
shutdownDataNodes();
|
|
|
for (NameNodeInfo nnInfo : nameNodes) {
|
|
|
if (nnInfo == null) continue;
|
|
|
- NameNode nameNode = nnInfo.nameNode;
|
|
|
- if (nameNode != null) {
|
|
|
- nameNode.stop();
|
|
|
- nameNode.join();
|
|
|
- nameNode = null;
|
|
|
- }
|
|
|
+ stopAndJoinNameNode(nnInfo.nameNode);
|
|
|
}
|
|
|
ShutdownHookManager.get().clearShutdownHooks();
|
|
|
if (base_dir != null) {
|
|
@@ -1851,14 +1846,25 @@ public class MiniDFSCluster {
|
|
|
public synchronized void shutdownNameNode(int nnIndex) {
|
|
|
NameNode nn = nameNodes[nnIndex].nameNode;
|
|
|
if (nn != null) {
|
|
|
- LOG.info("Shutting down the namenode");
|
|
|
- nn.stop();
|
|
|
- nn.join();
|
|
|
+ stopAndJoinNameNode(nn);
|
|
|
Configuration conf = nameNodes[nnIndex].conf;
|
|
|
nameNodes[nnIndex] = new NameNodeInfo(null, null, null, null, conf);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Fully stop the NameNode by stop and join.
|
|
|
+ */
|
|
|
+ private void stopAndJoinNameNode(NameNode nn) {
|
|
|
+ if (nn == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ LOG.info("Shutting down the namenode");
|
|
|
+ nn.stop();
|
|
|
+ nn.join();
|
|
|
+ nn.joinHttpServer();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Restart all namenodes.
|
|
|
*/
|