异常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 常见问题** 1. **任务提交异常** - `[YARN-10001]` 在 Windows 环境下提交 MR 任务失败:这通常与环境变量配置不正确、Hadoop 客户端与服务器版本不匹配或权限问题有关。确保所有依赖项已正确安装,配置...
本文将详细介绍如何通过Java编程语言来实现与YARN的交互,包括获取当前正在执行的应用程序列表、返回应用程序的相关信息、终止应用程序的操作,以及在使用Maven构建项目过程中可能遇到的一些常见问题。 #### 二、...
Hadoop常见异常解决方案 Hadoop是一款大数据处理框架,但是在实际使用过程中,可能会遇到各种异常情况。本文将对Hadoop常见的异常进行总结和分析,并提供相应的解决方案。 一、Cannot replicate to node 0, ...
* OOM(Out of Memory)异常是 Spark 作业中常见的错误 * 通过监控 Spark 作业的资源使用情况,可以预测和避免 OOM 异常 知识点4: 监控工具的需求 * 监控工具需要提供集群范围的进程监控、每个节点的进程统计数据...
JVM 堆内存溢出是一个常见的错误,解决方案是在 yarn-site.xml 中加入以下代码: ``` <name>yarn.scheduler.maximum-allocation-mb <value>2048 <name>yarn.scheduler.minimum-allocation-mb <value>2048 ...
在编译安装过程中可能会遇到各种问题,下面列举了一些常见的问题及其解决方案。 ##### 3.1 CENTOS 64BIT安装HADOOP 2.2.0中出现文件编译位数异常 在64位操作系统上安装Hadoop时,可能会遇到编译位数不匹配的问题。...
同时,如果物理内存或虚拟内存超出限制,需要调整YARN的配置,如`yarn.scheduler.minimum-allocation-mb`至少设为4096MB,并将`yarn.nodemanager.vmem-check-enabled`设为false,`yarn.nodemanager.vmem-pmem-ratio`...
在运行过程中,可能会遇到各种问题,这里列举一些常见的异常处理方法: 1. **RegionServer宕机**:检查节点的系统日志,找出故障原因,可能是内存不足、磁盘满等问题。修复后重启RegionServer服务。 2. **Zookeeper...
#### 异常三:YARN服务初始化失败 **问题描述:** 启动Hadoop集群时,可能会遇到YARN服务初始化失败的问题,具体表现为`Failed to initialize mapreduce_shuffle`错误。 **原因分析:** 配置文件`yarn-site.xml`中...
2. **Element UI组件**:Element UI 提供了诸如按钮、表单、表格、导航、弹窗等常见的 UI 组件。理解每个组件的用法、属性和事件,是高效利用这个框架的关键。例如,`el-table`组件用于展示表格数据,可以通过`props...
Hadoop 在 Windows 上常见异常: 1. 异常一:解决方法:hadoop-common-2.2.0-bin-master 中的文件放置到 hadoop 解压后的 bin 文件夹中,注意:如果有重复的文件不要移动。 2. 异常二:执行命令 hadoop fs -mkdir -...
在现代大数据处理场景中,Web平台与Hadoop集群的集成是常见的需求,特别是在数据分析和机器学习项目中。本文将深入探讨“web平台调用Hadoop集群2.0”这一主题,旨在提供一个全面的视角来理解如何在Web应用中有效地...
在部署应用之前,尽可能预估集群所需的资源,尤其是在YARN模式下,需配置`yarn.nodemanager.resource.memory-mb`、`yarn.scheduler.minimum-allocation-mb`以及`spark.yarn.driver.memoryOverhead`等参数。...
- **[SPARK-10002]** 在YARN-cluster模式下,如果出现“Can't get the Kerberos realm”异常,通常是由于Kerberos认证配置不正确或环境变量未设置。用户需要检查KRB5.conf配置文件,确保realm和Kerberos服务的设置...
常见问题包括内存溢出、任务延迟、数据倾斜等,需通过日志分析、指标监控等手段定位问题,再结合上述优化手段进行调整。 七、安全与隐私 1. SSL加密:保护网络通信的安全,防止数据泄露。 2. Kerberos认证:在...
【Windows 上的常见异常及解决方法】 1. 异常一:缺少 hadoop-common-2.2.0-bin-master 中的文件,需要将这些文件移动到 Hadoop 的 bin 目录。 2. 异常二:创建多级目录时出现问题,需要检查并修正 bin/*.cmd 文件...
### Spark异常处理与常见问题解析 #### 一、异常处理概览 在处理Apache Spark相关的开发与运维过程中,经常会遇到各种异常与错误。这些问题不仅会影响程序的正常运行,还可能导致性能下降甚至系统崩溃。本文将根据...
简单用法要将软件包添加到您的应用程序,请使用yarn -> yarn add http-exception-transformernpm -> npm install http-exception-transformer现在,在您的express.js应用程序中,要触发异常,请在任何地方抛出错误。...
- 描述了如何监控节点的运行状态,包括节点的不同运行状态以及服务异常对集群的影响。 8. 系统告警 - 说明了如何通过Ganglia界面和Nagios来接收系统告警。 - 包括节点断开告警、磁盘故障告警、网卡故障告警和...
ElasticJob-Cloud则是在Hadoop YARN之上构建的分布式任务调度框架,它充分利用YARN的资源管理和调度能力,为大规模的数据处理提供更高效的任务调度解决方案。主要特性包括:基于YARN的资源调度、任务生命周期管理、...