浏览代码

HADOOP-14108. CLI MiniCluster: add an option to specify NameNode HTTP port. Contributed by Takanobu Asanuma.

(cherry picked from commit 209ecd1a5c056e096a5d804759f88302608d503b)
Akira Ajisaka 8 年之前
父节点
当前提交
ed55bcee1f

+ 1 - 0
hadoop-common-project/hadoop-common/src/site/markdown/CLIMiniCluster.md.vm

@@ -55,6 +55,7 @@ There are a number of command line arguments that the users can use to control w
     $ -namenode <arg>        URL of the namenode (default is either the DFS
     $ -namenode <arg>        URL of the namenode (default is either the DFS
     $                        cluster or a temporary dir)
     $                        cluster or a temporary dir)
     $ -nnport <arg>          NameNode port (default 0--we choose)
     $ -nnport <arg>          NameNode port (default 0--we choose)
+    $ -nnhttpport <arg>      NameNode HTTP port (default 0--we choose)
     $ -nodemanagers <arg>    How many nodemanagers to start (default 1)
     $ -nodemanagers <arg>    How many nodemanagers to start (default 1)
     $ -nodfs                 Don't start a mini DFS cluster
     $ -nodfs                 Don't start a mini DFS cluster
     $ -nomr                  Don't start a mini MR cluster
     $ -nomr                  Don't start a mini MR cluster

+ 6 - 1
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/MiniHadoopClusterManager.java

@@ -69,6 +69,7 @@ public class MiniHadoopClusterManager {
   private int numNodeManagers;
   private int numNodeManagers;
   private int numDataNodes;
   private int numDataNodes;
   private int nnPort;
   private int nnPort;
+  private int nnHttpPort;
   private int rmPort;
   private int rmPort;
   private int jhsPort;
   private int jhsPort;
   private StartupOption dfsOpts;
   private StartupOption dfsOpts;
@@ -92,6 +93,8 @@ public class MiniHadoopClusterManager {
         .addOption("datanodes", true, "How many datanodes to start (default 1)")
         .addOption("datanodes", true, "How many datanodes to start (default 1)")
         .addOption("format", false, "Format the DFS (default false)")
         .addOption("format", false, "Format the DFS (default false)")
         .addOption("nnport", true, "NameNode port (default 0--we choose)")
         .addOption("nnport", true, "NameNode port (default 0--we choose)")
+        .addOption("nnhttpport", true,
+            "NameNode HTTP port (default 0--we choose)")
         .addOption(
         .addOption(
             "namenode",
             "namenode",
             true,
             true,
@@ -152,7 +155,8 @@ public class MiniHadoopClusterManager {
       URISyntaxException {
       URISyntaxException {
     if (!noDFS) {
     if (!noDFS) {
       dfs = new MiniDFSCluster.Builder(conf).nameNodePort(nnPort)
       dfs = new MiniDFSCluster.Builder(conf).nameNodePort(nnPort)
-          .numDataNodes(numDataNodes).startupOption(dfsOpts).build();
+          .nameNodeHttpPort(nnHttpPort).numDataNodes(numDataNodes)
+          .startupOption(dfsOpts).build();
       LOG.info("Started MiniDFSCluster -- namenode on port "
       LOG.info("Started MiniDFSCluster -- namenode on port "
           + dfs.getNameNodePort());
           + dfs.getNameNodePort());
     }
     }
@@ -254,6 +258,7 @@ public class MiniHadoopClusterManager {
     noDFS = cli.hasOption("nodfs");
     noDFS = cli.hasOption("nodfs");
     numDataNodes = intArgument(cli, "datanodes", 1);
     numDataNodes = intArgument(cli, "datanodes", 1);
     nnPort = intArgument(cli, "nnport", 0);
     nnPort = intArgument(cli, "nnport", 0);
+    nnHttpPort = intArgument(cli, "nnhttpport", 0);
     dfsOpts = cli.hasOption("format") ? StartupOption.FORMAT
     dfsOpts = cli.hasOption("format") ? StartupOption.FORMAT
         : StartupOption.REGULAR;
         : StartupOption.REGULAR;