目的

通过使用CLI MiniCluster,用户可以通过单个命令启动和停止单节点Hadoop集群,而无需设置任何环境变量或管理配置文件。

CLI MiniCluster启动了YARN/MapReduce和HDFS集群。

这对于用户希望快速尝试真正的Hadoop集群或测试依赖于大量Hadoop功能的非Java程序的情况非常有用。

Hadoop Tarball

您应该能够从发行版中获取Hadoop tarball。此外,您还可以直接从源代码创建一个tarball:

  [bash]
1
2
$ mvn clean install -DskipTests $ mvn package -Pdist -Dtar -DskipTests -Dmaven.javadoc.skip

注意:您需要安装protoc 2.5.0。

tarball 应该在 hadoop-dist/target/ 目录中可用。

运行 MiniCluster

从解压缩的tarball的根目录中,您可以使用以下命令启动 CLI MiniCluster:

  [bash]
1
$ bin/mapred minicluster -rmport RM_PORT -jhsport JHS_PORT

在上面的示例命令中,RM_PORT 和 JHS_PORT 应该由用户选择这些端口号进行替换。

如果未指定,将使用随机的空闲端口。

用户可以使用一些命令行参数来控制要启动哪些服务,并传递其他配置属性。可用的命令行参数有:

  [bash]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ -D <property=value> 传递到配置对象的选项 $ -datanodes <arg> 要启动的数据节点数(默认值为1) $ -format 格式化DFS(默认为false) $ -help 打印选项帮助。 $ -jhsport <arg> JobHistoryServer 端口(默认为0--我们选择) $ -namenode <arg> namenode 的 URL(默认为DFS集群或临时目录) $ -nnport <arg> NameNode 端口(默认为0--我们选择) $ -nnhttpport <arg> NameNode HTTP 端口(默认为0--我们选择) $ -nodemanagers <arg> 要启动的 NodeManagers 数量(默认值为1) $ -nodfs 不要启动 Mini DFS 集群 $ -nomr 不要启动 Mini MR 集群 $ -rmport <arg> ResourceManager 端口(默认为0--我们选择) $ -writeConfig <path> 将配置保存到此 XML 文件。 $ -writeDetails <path> 将基本信息写入此 JSON 文件。

要显示此可用参数的完整列表,用户可以将 -help 参数传递给上述命令。

参考资料

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/CLIMiniCluster.html