首页 > 代码库 > Hadoop MapReduce下一代 - 命令行Mini集群

Hadoop MapReduce下一代 - 命令行Mini集群

目的:

使用命令行接口运行Mini集群,用户可以使用一个简单的命令启动或者停止一个单节点的Hadoop集群,不需要设置任何环境变量和管理配置文件。这个CLI Mini集群将会启动Yarn/MapReduce和HDFS。

这个案例适合想要快速体验一个真实的Hadoop集群或者测试一个没有java程序的功能。

Hadoop Tarbar

你应该尽可能的使用Hadoop tarball的release版本,当然,你也可以从源代码创建一个tarball:

$mvn clean install -DskipTests
$mvn package -pdist -Dtar -DskipTests -Dmaven.javadoc.skip
注意:在安装tarball之前需要 protoc 2.5.0被安装

tarball竟可能的安装在hadoop-dist/target/目录。

运行Mini集群:

从root目录解压出tarball,你可以使用下面的命令启动CLI Mini集群:

$ bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.4.1-tests.jar minicluster -rmport RM_PORT -jhsport JHS_PORT

在上边命令行的例子中,RM_PORT和JHS_PORT应该被用户选择的端口号替换。如果没有被指定,将会随机分配端口给用户。

通过其他的属性配置,当控制服务启动的时候这儿有一些控制命令参数可以被用户使用。 有效的命令行参数:


$ -D <property=value>    Options to pass into configuration object
$ -datanodes <arg>       多少datanode节点被启动 (默认为1)
$ -format                格式化DFS(默认为false)
$ -help                  打印帮助信息.
$ -jhsport <arg>         (default 0--we choose)
$ -namenode <arg>        NameNode的URL (默认是DFS集群或者一个临时目录)
$ -nnport <arg>          NameNode port (default 0--we choose)
$ -nodemanagers <arg>    多少个NameNodes被启动 (default 1)
$ -nodfs                 不允许启动一个 mini DFS 集群
$ -nomr                  Don‘t start a mini MR cluster
$ -rmport <arg>          ResourceManager 端口(default 0--we choose)
$ -writeConfig <path>    保存配置到指定的文件(path).
$ -writeDetails <path>   以json格式写入基本信息到指定的目录(path).

用户可以通过-help参数命令显示了有效列表的参数使用方法。

Hadoop MapReduce下一代 - 命令行Mini集群