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

jopen 10年前

目的:

使用命令行接口运行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参数命令显示了有效列表的参数使用方法。