`

hadoop应用程序实例distributedshell

阅读更多

本文介绍YARN自带的一个非常简单的应用程序实例—distributedshell的使用方法。它可以看做YARN编程中的“hello world”,主要功能是并行执行用户提供的shell命令或者shell脚本。

 

(1)运行参数介绍

DistributedShell的基本运行参数如下:

(2)运行方法

DistributedShell的运行方法如下:

在YARN安装目录下,执行以下命令:

bin/hadoop jar\

share/hadoop/yarn/hadoop-yarn-applications-distributedshell-2.0.0-cdh4.1.1.jar\

org.apache.hadoop.yarn.applications.distributedshell.Client\

–jar share/hadoop/yarn/hadoop-yarn-applications-distributedshell-2.0.0-cdh4.1.1.jar\

–shell_command ls\

–shell_script ignore.sh\

–num_containers 10\

–container_memory 350\

–master_memory 350\

–priority 10

需要注意的是,在hadoop-2.0.3-alpha(不包括该版本)和CDH 4.1.2版本(包括该版本)之前,DistributedShell存在BUG,具体如下:

1)    必须使用–shell_command参数

2)    当只有shell_command参数而没有shell_script参数时,在分布式模式下(伪分布式下可以)不能执行成功,具体说明和修复方法见:https://issues.apache.org/jira/browse/YARN-253,一直临时的解决方案是同时设置shell_command和shell_script两个参数,像上面给出的这个实例一样。

在这个实例中,ignore.sh中的内容就是“ls”

3)    内存设置一定要正确,不然会出现以下提示的错误:

Container [pid=4424,containerID=container_1359629844156_0004_01_000001] is running beyond virtual memory limits. Current usage: 90.1mb of 128.0mb physical memory used; 593.0mb of 268.8mb virtual memory used. Killing container.

【附】DistributedShell运行日志:

13/02/01 13:43:11 INFO distributedshell.Client: Initializing Client

13/02/01 13:43:11 INFO distributedshell.Client: Starting Client

13/02/01 13:43:11 INFO distributedshell.Client: Connecting to ResourceManager at c2-23/10.1.1.98:8032

13/02/01 13:43:12 INFO distributedshell.Client: Got Cluster metric info from ASM, numNodeManagers=3

13/02/01 13:43:12 INFO distributedshell.Client: Got Cluster node info from ASM

13/02/01 13:43:12 INFO distributedshell.Client: Got node report from ASM for, nodeId=c2-23:36594, nodeAddressc2-23:8042, nodeRackName/default-rack, nodeNumContainers0, nodeHealthStatusis_node_healthy: true, health_report: “”, last_health_report_time: 1359697377337,

13/02/01 13:43:12 INFO distributedshell.Client: Got node report from ASM for, nodeId=c2-25:41070, nodeAddressc2-25:8042, nodeRackName/default-rack, nodeNumContainers0, nodeHealthStatusis_node_healthy: true, health_report: “”, last_health_report_time: 1359697367180,

13/02/01 13:43:12 INFO distributedshell.Client: Got node report from ASM for, nodeId=c2-24:48383, nodeAddressc2-24:8042, nodeRackName/default-rack, nodeNumContainers0, nodeHealthStatusis_node_healthy: true, health_report: “”, last_health_report_time: 1359699033102,

13/02/01 13:43:12 INFO distributedshell.Client: Queue info, queueName=default, queueCurrentCapacity=0.0, queueMaxCapacity=1.0, queueApplicationCount=0, queueChildQueueCount=0

13/02/01 13:43:12 INFO distributedshell.Client: User ACL Info for Queue, queueName=default, userAcl=SUBMIT_APPLICATIONS

13/02/01 13:43:12 INFO distributedshell.Client: User ACL Info for Queue, queueName=default, userAcl=ADMINISTER_QUEUE

13/02/01 13:43:12 INFO distributedshell.Client: Got new application id=application_1359695803957_0003

13/02/01 13:43:12 INFO distributedshell.Client: Min mem capabililty of resources in this cluster 128

13/02/01 13:43:12 INFO distributedshell.Client: Max mem capabililty of resources in this cluster 10240

13/02/01 13:43:12 INFO distributedshell.Client: Setting up application submission context for ASM

13/02/01 13:43:12 INFO distributedshell.Client: Copy App Master jar from local filesystem and add to local environment

13/02/01 13:43:13 INFO distributedshell.Client: Set the environment for the application master

13/02/01 13:43:13 INFO distributedshell.Client: Trying to generate classpath for app master from current thread’s classpath

13/02/01 13:43:13 INFO distributedshell.Client: Readable bytes from stream=9006

13/02/01 13:43:13 INFO distributedshell.Client: Setting up app master command

13/02/01 13:43:13 INFO distributedshell.Client: Completed setting up app master command ${JAVA_HOME}/bin/java -Xmx350m org.apache.hadoop.yarn.applications.distributedshell.ApplicationMaster –container_memory 350 –num_containers 10 –priority 0 –shell_command ls 1>/AppMaster.stdout 2>/AppMaster.stderr

13/02/01 13:43:13 INFO distributedshell.Client: Submitting application to ASM

13/02/01 13:43:14 INFO distributedshell.Client: Got application report from ASM for, appId=3, clientToken=null, appDiagnostics=, appMasterHost=N/A, appQueue=default, appMasterRpcPort=0, appStartTime=1359697393467, yarnAppState=ACCEPTED, distributedFinalState=UNDEFINED, appTrackingUrl=c2-23:8088/proxy/application_1359695803957_0003/, appUser=rmss

13/02/01 13:43:15 INFO distributedshell.Client: Got application report from ASM for, appId=3, clientToken=null, appDiagnostics=, appMasterHost=, appQueue=default, appMasterRpcPort=0, appStartTime=1359697393467, yarnAppState=RUNNING, distributedFinalState=UNDEFINED, appTrackingUrl=, appUser=rmss

13/02/01 13:43:16 INFO distributedshell.Client: Got application report from ASM for, appId=3, clientToken=null, appDiagnostics=, appMasterHost=, appQueue=default, appMasterRpcPort=0, appStartTime=1359697393467, yarnAppState=RUNNING, distributedFinalState=UNDEFINED, appTrackingUrl=, appUser=rmss

13/02/01 13:43:17 INFO distributedshell.Client: Got application report from ASM for, appId=3, clientToken=null, appDiagnostics=, appMasterHost=, appQueue=default, appMasterRpcPort=0, appStartTime=1359697393467, yarnAppState=RUNNING, distributedFinalState=UNDEFINED, appTrackingUrl=, appUser=rmss

13/02/01 13:43:18 INFO distributedshell.Client: Got application report from ASM for, appId=3, clientToken=null, appDiagnostics=, appMasterHost=, appQueue=default, appMasterRpcPort=0, appStartTime=1359697393467, yarnAppState=RUNNING, distributedFinalState=UNDEFINED, appTrackingUrl=, appUser=rmss

13/02/01 13:43:19 INFO distributedshell.Client: Got application report from ASM for, appId=3, clientToken=null, appDiagnostics=, appMasterHost=, appQueue=default, appMasterRpcPort=0, appStartTime=1359697393467, yarnAppState=FINISHED, distributedFinalState=SUCCEEDED, appTrackingUrl=, appUser=rmss

13/02/01 13:43:19 INFO distributedshell.Client: Application has completed successfully. Breaking monitoring loop

13/02/01 13:43:19 INFO distributedshell.Client: Application completed successfully

原创文章,转载请注明: 转载自董的博客

本文链接地址: http://dongxicheng.org/mapreduce-nextgen/how-to-run-distributedshell/

作者:Dong,作者介绍:http://dongxicheng.org/about/

本博客的文章集合:

分享到:
评论

相关推荐

    hadoop应用开发实例教程 之Greenplum架构

    hadoop应用开发实例教程之Greenplum架构,由北风网提供,hhadoop应用开发实例教程主要介绍什么是Greenplum;Greenplum体系结构;Greenplum高可用性架构。安装Greenplum:配置环境;安装并初始化GPDB系统;启停数据库...

    Hadoop Streaming程序实例

    在本文中,我们将深入探讨Hadoop Streaming的工作原理、配置以及如何创建一个简单的程序实例。 一、Hadoop Streaming简介 Hadoop Streaming的基本概念是通过标准输入(stdin)和标准输出(stdout)与Mapper和...

    Hadoop简单应用案例

    这个"**Hadoop简单应用案例**"涵盖了Hadoop生态系统中的多个关键组件,包括MapReduce、HDFS、Zookeeper以及Hive,这些都是大数据处理的核心工具。下面将详细讲解这些知识点。 1. **MapReduce**:MapReduce是Hadoop...

    在Windows上使用eclipse编写Hadoop应用程序

    ### 在Windows上使用Eclipse编写Hadoop应用程序 #### 前言 随着大数据技术的不断发展,Hadoop作为处理大规模数据集的重要工具之一,在企业和研究机构中得到了广泛应用。Hadoop主要由两个部分组成:Hadoop分布式...

    EMC Hadoop应用程序代理安装管理指南.pdf

    《EMC Hadoop应用程序代理安装管理指南》是针对企业级大数据处理平台Hadoop的一款关键组件——EMC Hadoop应用程序代理的详细操作手册。该代理主要服务于数据保护领域,特别是与EMC的Data Domain系统集成,提供了高效...

    hadoop应用实例

    Hadoop提供了分布式文件系统(HDFS)和一个MapReduce框架,使得开发者能够编写处理大规模数据的应用程序。 【Hadoop架构】 Hadoop的架构设计是基于主从结构,主要包括NameNode(主节点)和DataNode(从节点)。...

    董西成:Hadoop YARN程序设计与应用案例

    总结来说,董西成在“Hadoop英雄会——暨Hadoop 10周年生日大趴”中详细介绍了Hadoop YARN的架构、API、通信协议以及如何在YARN上设计和运行应用程序。通过其演讲内容,我们可以看到YARN在构建现代大数据处理和分析...

    Hadoop应用程序

    【Hadoop应用程序】是关于使用Hadoop框架开发的软件应用,通常涉及大数据处理和分析。在Hadoop生态系统中,应用程序可以利用Hadoop的核心组件(如HDFS和MapReduce)进行分布式计算。这里的描述提到,这是一个便于...

    Hadoop应用开发与案例实战(慕课版)-课件PPT.rar

    《Hadoop应用开发与案例实战(慕课版)》是一门深入探讨大数据处理技术的课程,主要聚焦在Hadoop平台上进行应用开发的实践操作。这门课通过丰富的PPT课件,旨在帮助学习者理解Hadoop的核心概念,掌握其开发技巧,并...

    Hadoop集群程序设计与开发教材最终代码.zip

    - Eclipse和IntelliJ IDEA等IDE提供了Hadoop插件,便于调试和测试Hadoop应用程序。 5. Hadoop集群部署: - 单机模式:用于开发和测试,所有Hadoop进程都在一台机器上运行。 -伪分布式模式:在一个节点上模拟多...

    java WriteHDFS实现,hadoop应用

    java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,...

    win7下Eclipse开发Hadoop应用程序环境搭建

    在Windows 7操作系统中,使用Eclipse开发Hadoop应用程序的过程涉及多个步骤,涵盖了从环境配置到实际编程的各个层面。以下是对这个主题的详细讲解: 首先,我们需要了解Hadoop和Eclipse的基础。Hadoop是一个开源的...

    基于Eclipse的Hadoop应用开发环境配置

    基于 Eclipse 的 Hadoop 应用开发环境配置是指在 Eclipse 中配置 Hadoop 开发环境,以便开发和运行 Hadoop 应用程序。本节将对基于 Eclipse 的 Hadoop 应用开发环境配置进行详细介绍。 一、Hadoop 概述 Hadoop 是...

    Ubuntu下开发Eclipse下的Hadoop应用

    本描述明确了本文档的主要内容是关于在Ubuntu操作系统下安装Eclipse,并在Eclipse中安装Hadoop插件,最后运行Hadoop应用程序。 标签: ubuntu eclipse java Hadoop API 本标签表明了本文档涉及到的技术领域是...

    Hadoop应用案例分析:雅虎、eBay、百度、Facebook.pdf

    ,Hadoop 技术已经在互联网领域得到了广泛的应用。互联网公司往往需要 存储海量的数据并对其进行处理,而这正是Hadoop 的强项。如Facebook 使用Hadoop 存储 内部的日志拷贝,以及数据挖掘和日志统计;Yahoo !利用...

    在Windows上使用eclipse编写Hadoop应用程序.docx

    在Windows环境下使用Eclipse开发Hadoop应用程序,主要是为了利用Java编程语言实现分布式计算任务。Hadoop是一个开源的框架,主要用于处理和存储大量数据,而Eclipse则是一个流行的Java集成开发环境(IDE)。以下是...

    hadoop几个实例

    这个压缩包文件包含的"hadop实用案例"很可能是为了帮助初学者理解和应用Hadoop技术。以下是关于Hadoop的一些核心知识点,以及可能在这些实例中涉及的内容。 1. **Hadoop架构**:Hadoop主要由两个核心组件构成,HDFS...

    hadoop运行wordcount实例

    ### Hadoop运行WordCount实例详解 #### 一、Hadoop简介与WordCount程序的重要性 Hadoop 是一个由Apache基金会所开发的分布式系统基础架构。它能够处理非常庞大的数据集,并且能够在集群上运行,通过将大数据分割...

    luncen写入hadoop实例

    6. **测试与验证**:在完成写入操作后,你可以通过Hadoop的命令行工具(如hadoop fs -cat或hadoop fs -ls)检查数据是否成功写入HDFS,同时编写查询程序验证Lucene索引是否能够正确工作。 总之,"luncen写入Hadoop...

Global site tag (gtag.js) - Google Analytics