`
x-rip
  • 浏览: 107607 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

YARN常见异常

 
阅读更多

异常1:

2012-05-16 16:18:42,468 WARN org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch: Failed to launch container.

java.io.FileNotFoundException: File /tmp/nm-local-dir/usercache/a/appcache/application_1337150856633_0016 does not exist

        at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:449)

        at org.apache.hadoop.fs.FileSystem.primitiveMkdir(FileSystem.java:864)

        at org.apache.hadoop.fs.DelegateToFileSystem.mkdir(DelegateToFileSystem.java:143)

        at org.apache.hadoop.fs.FilterFs.mkdir(FilterFs.java:189)

        at org.apache.hadoop.fs.FileContext$4.next(FileContext.java:700)

        at org.apache.hadoop.fs.FileContext$4.next(FileContext.java:697)

        at org.apache.hadoop.fs.FileContext$FSLinkResolver.resolve(FileContext.java:2319)

        at org.apache.hadoop.fs.FileContext.mkdir(FileContext.java:697)

原因A:

yarn-site.xml中参数yarn.nodemanager.local-dirs和yarn.nodemanager.log-dirs使用

默认路径(/tmp/..),导致将磁盘空间撑爆

原因B:

org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor文件中,创建目录方法在默认情况下需要创建的目录父目录不存在则失败,具体代码如下

 

  @Override
  public int launchContainer(Container container,
      Path nmPrivateContainerScriptPath, Path nmPrivateTokensPath,
      String userName, String appId, Path containerWorkDir,
      List<String> localDirs, List<String> logDirs) throws IOException {

    ContainerId containerId = container.getContainerID();

    // create container dirs on all disks
    String containerIdStr = ConverterUtils.toString(containerId);
    String appIdStr =
        ConverterUtils.toString(
            container.getContainerID().getApplicationAttemptId().
                getApplicationId());
    for (String sLocalDir : localDirs) {
      Path usersdir = new Path(sLocalDir, ContainerLocalizer.USERCACHE);
      Path userdir = new Path(usersdir, userName);
      Path appCacheDir = new Path(userdir, ContainerLocalizer.APPCACHE);
      Path appDir = new Path(appCacheDir, appIdStr);
      Path containerDir = new Path(appDir, containerIdStr);
      lfs.mkdir(containerDir, null, false);
    }

 该方法第三个参数为false的时候,如果创建目录的父目录不存在,则调用失败,将其改为

 

lfs.mkdir(containerDir, null, true);

异常2:

2012-05-16 09:56:57,078 INFO org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService: Localizer failed

java.lang.ArithmeticException: / by zero

        at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:355)

        at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:150)

        at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:131)

        at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:115)

        at org.apache.hadoop.yarn.server.nodemanager.LocalDirsHandlerService.getLocalPathForWrite(LocalDirsHandlerService.java:257)

        at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService$LocalizerRunner.run(ResourceLocalizationService.java:854)

 

原因:

该错误是由于无法创建本地文件而产生的,可能会由上述磁盘空间不足导致,重定向上面提到的两个参数即可

异常3:

查看log没有明显的ERROR,但存在类似以下描述的日志

2012-05-16 13:08:20,876 INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Sending out status for container: container_id {, app_attempt_id {, application_id {, id: 18, cluster_timestamp: 1337134318909, }, attemptId: 1, }, id: 6, }, state: C_COMPLETE, diagnostics: "Container [pid=15641,containerID=container_1337134318909_0018_01_000006] is running beyond virtual memory limits. Current usage: 32.1mb of 1.0gb physical memory used; 6.2gb of 2.1gb virtual memory used. Killing container.\nDump of the process-tree for container_1337134318909_0018_01_000006 :\n\t|- PID PPID PGRPID SESSID CMD_NAME USER_MODE_TIME(MILLIS) SYSTEM_TIME(MILLIS) VMEM_USAGE(BYTES) RSSMEM_USAGE(PAGES) FULL_CMD_LINE\n\t|- 15641 26354 15641 15641 (java) 36 2 6686339072 8207 /home/zhouchen.zm/jdk1.6.0_23/bin/java

 

原因:

该错误是YARN的虚拟内存计算方式导致,上例中用户程序申请的内存为1Gb,YARN根据此值乘以一个比例(默认为2.1)得出申请的虚拟内存的值,当YARN计算的用户程序所需虚拟内存值大于计算出来的值时,就会报出以上错误。调节比例值可以解决该问题。具体参数为:yarn-site.xml中的yarn.nodemanager.vmem-pmem-ratio

 

 

 

 

 

分享到:
评论

相关推荐

    Yarn常见问题维护手册V1.01

    **YARN 常见问题** 1. **任务提交异常** - `[YARN-10001]` 在 Windows 环境下提交 MR 任务失败:这通常与环境变量配置不正确、Hadoop 客户端与服务器版本不匹配或权限问题有关。确保所有依赖项已正确安装,配置...

    Yarn编码获取Application列表

    本文将详细介绍如何通过Java编程语言来实现与YARN的交互,包括获取当前正在执行的应用程序列表、返回应用程序的相关信息、终止应用程序的操作,以及在使用Maven构建项目过程中可能遇到的一些常见问题。 #### 二、...

    Hadoop常见异常

    Hadoop常见异常解决方案 Hadoop是一款大数据处理框架,但是在实际使用过程中,可能会遇到各种异常情况。本文将对Hadoop常见的异常进行总结和分析,并提供相应的解决方案。 一、Cannot replicate to node 0, ...

    藏经阁-Monitoring the Dynamic.pdf

    * OOM(Out of Memory)异常是 Spark 作业中常见的错误 * 通过监控 Spark 作业的资源使用情况,可以预测和避免 OOM 异常 知识点4: 监控工具的需求 * 监控工具需要提供集群范围的进程监控、每个节点的进程统计数据...

    Hive常见错误及解决方案.docx

    JVM 堆内存溢出是一个常见的错误,解决方案是在 yarn-site.xml 中加入以下代码: ``` &lt;name&gt;yarn.scheduler.maximum-allocation-mb &lt;value&gt;2048 &lt;name&gt;yarn.scheduler.minimum-allocation-mb &lt;value&gt;2048 ...

    Spark编译与部署(中)--Hadoop编译安装

    在编译安装过程中可能会遇到各种问题,下面列举了一些常见的问题及其解决方案。 ##### 3.1 CENTOS 64BIT安装HADOOP 2.2.0中出现文件编译位数异常 在64位操作系统上安装Hadoop时,可能会遇到编译位数不匹配的问题。...

    hive on tez 常见报错问题收集

    同时,如果物理内存或虚拟内存超出限制,需要调整YARN的配置,如`yarn.scheduler.minimum-allocation-mb`至少设为4096MB,并将`yarn.nodemanager.vmem-check-enabled`设为false,`yarn.nodemanager.vmem-pmem-ratio`...

    hbase安装,节点添加,移除,常见问题解决

    在运行过程中,可能会遇到各种问题,这里列举一些常见的异常处理方法: 1. **RegionServer宕机**:检查节点的系统日志,找出故障原因,可能是内存不足、磁盘满等问题。修复后重启RegionServer服务。 2. **Zookeeper...

    hadoop集群遇到的问题及其解决方法

    #### 异常三:YARN服务初始化失败 **问题描述:** 启动Hadoop集群时,可能会遇到YARN服务初始化失败的问题,具体表现为`Failed to initialize mapreduce_shuffle`错误。 **原因分析:** 配置文件`yarn-site.xml`中...

    vue-element-ui

    2. **Element UI组件**:Element UI 提供了诸如按钮、表单、表格、导航、弹窗等常见的 UI 组件。理解每个组件的用法、属性和事件,是高效利用这个框架的关键。例如,`el-table`组件用于展示表格数据,可以通过`props...

    Hadoop汇总整理.doc

    Hadoop 在 Windows 上常见异常: 1. 异常一:解决方法:hadoop-common-2.2.0-bin-master 中的文件放置到 hadoop 解压后的 bin 文件夹中,注意:如果有重复的文件不要移动。 2. 异常二:执行命令 hadoop fs -mkdir -...

    web平台调用hadoop集群2.0

    在现代大数据处理场景中,Web平台与Hadoop集群的集成是常见的需求,特别是在数据分析和机器学习项目中。本文将深入探讨“web平台调用Hadoop集群2.0”这一主题,旨在提供一个全面的视角来理解如何在Web应用中有效地...

    藏经阁-Problem Solving Recipes Learne.pdf

    在部署应用之前,尽可能预估集群所需的资源,尤其是在YARN模式下,需配置`yarn.nodemanager.resource.memory-mb`、`yarn.scheduler.minimum-allocation-mb`以及`spark.yarn.driver.memoryOverhead`等参数。...

    Spark常见问题维护手册V1.01

    - **[SPARK-10002]** 在YARN-cluster模式下,如果出现“Can't get the Kerberos realm”异常,通常是由于Kerberos认证配置不正确或环境变量未设置。用户需要检查KRB5.conf配置文件,确保realm和Kerberos服务的设置...

    Spark部署中的关键问题解决之道--许鹏.zip

    常见问题包括内存溢出、任务延迟、数据倾斜等,需通过日志分析、指标监控等手段定位问题,再结合上述优化手段进行调整。 七、安全与隐私 1. SSL加密:保护网络通信的安全,防止数据泄露。 2. Kerberos认证:在...

    Hadoop汇总整理.docx

    【Windows 上的常见异常及解决方法】 1. 异常一:缺少 hadoop-common-2.2.0-bin-master 中的文件,需要将这些文件移动到 Hadoop 的 bin 目录。 2. 异常二:创建多级目录时出现问题,需要检查并修正 bin/*.cmd 文件...

    那些年spark踩过的坑1

    ### Spark异常处理与常见问题解析 #### 一、异常处理概览 在处理Apache Spark相关的开发与运维过程中,经常会遇到各种异常与错误。这些问题不仅会影响程序的正常运行,还可能导致性能下降甚至系统崩溃。本文将根据...

    http-exception-transformer:ExpressJS中间件可发送结构化,干净且健壮的错误响应,并且不会对用户造成干扰

    简单用法要将软件包添加到您的应用程序,请使用yarn -&gt; yarn add http-exception-transformernpm -&gt; npm install http-exception-transformer现在,在您的express.js应用程序中,要触发异常,请在任何地方抛出错误。...

    Transwarp安装运维手册

    - 描述了如何监控节点的运行状态,包括节点的不同运行状态以及服务异常对集群的影响。 8. 系统告警 - 说明了如何通过Ganglia界面和Nagios来接收系统告警。 - 包括节点断开告警、磁盘故障告警、网卡故障告警和...

    shardingsphere-elasticjob.zip

    ElasticJob-Cloud则是在Hadoop YARN之上构建的分布式任务调度框架,它充分利用YARN的资源管理和调度能力,为大规模的数据处理提供更高效的任务调度解决方案。主要特性包括:基于YARN的资源调度、任务生命周期管理、...

Global site tag (gtag.js) - Google Analytics