【问题标题】:what difference between execute a map-reduce job using hadoop and java command使用 hadoop 和 java 命令执行 map-reduce 作业有什么区别
【发布时间】:2014-09-30 13:18:52
【问题描述】:

找到许多运行 map-reduce 程序的选项。任何人都可以解释以下命令之间的区别。以及对 Map-reduce 工作的影响(如果有)。

     java -jar MyMapReduce.jar [args] 

     hadoop jar MyMapReduce.jar [args] 

     yarn jar MyMapReduce.jar [args] 

在这些命令中哪一个最好?

是否可以进行配置,例如使用 Yarn 和 Job History(如显示 Hadoop 和 yarn 命令)在 Web 服务上显示有关作业的所有信息,在下面的命令中使用 Web 服务 8088(YARN) 的端口正常使用?

     java -jar MyMapReduce.jar [args] 

【问题讨论】:

    标签: java hadoop mapreduce hdfs hadoop-yarn


    【解决方案1】:

    没有一个比另一个更好。当您执行java -jar 命令时,它与执行一个非Hadoop 应用程序是一样的。如果您使用hadoop jaryarn jar,它将使用/usr/bin/hadoop/usr/bin/yarn 脚本来设置环境。

    除非您修改了任何脚本来设置额外的变量,否则它们三个应该是一样的。

    【讨论】:

    • 当我使用“java -jar MyMapReduce.jar [args]”运行 map reduce 作业时,YARN 中不显示作业条目(端口号 8088 上的 WEB 服务)。但是如果使用 YARN 或 HADOOP 命令运行,则显示有关 YARN 服务中作业的所有信息
    【解决方案2】:

    选项有自己的规范:

       java -jar MyMapReduce.jar [args] 
    

    上面期望所有的hadoop jars都定义在jar的类路径中。

    如果是

       hadoop jar MyMapReduce.jar [args]  and 
       yarn jar MyMapReduce.jar [args] 
    

    上述 jar 将通过获取 $HADOOP_CLASSPATH 中预定义的那些 jar 来运行。

    【讨论】:

    • 当我使用“java -jar MyMapReduce.jar [args]”运行 map reduce 作业时,YARN 中不显示作业条目(端口号 8088 上的 WEB 服务)。但如果使用 YARN 或 HADOOP 命令运行,则显示有关 YARN 服务中作业的所有信息
    • 使用 java -jar 运行会生成一个 java 作业,而 hadoop jar 会生成一个 hadoop 作业,所以它可以在作业跟踪器中使用
    • 如果一个集群有三个节点,并且我使用 java 运行 map reduce 作业。它是在单机上运行还是使用集群中的所有节点?
    猜你喜欢
    • 2012-07-07
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    相关资源
    最近更新 更多