当前位置: 首页 > 知识库问答 >
问题:

纱线验收后,MapReduce作业失败

申屠裕
2023-03-14

即使是一个简单的WordCount mapduce也会因相同的错误而失败。

Hadoop 2.6.0

下面是纱线原木。

似乎在资源协商期间发生了某种超时
但我无法验证这一点,即超时的确切原因。

2016-11-11 15:38:09313信息组织。阿帕奇。hadoop。纱线服务器resourcemanager。amlauncher。AMLauncher:启动appattempt\u 1478856936677\u 0004\u000002时出错。出现异常:java。io。IOException:在本地异常java上失败。io。IOException:java。网SocketTimeoutException:等待通道准备好读取时超时60000毫秒。ch:java。nio。频道。SocketChannel[连接的本地=/10.0.37.145:49054远程=平台演示/10.0.37.145:60487];主机详细信息:本地主机为:“平台演示/10.0.37.145”;目标主机为:“平台演示”:60487;位于组织。阿帕奇。hadoop。网NetUtils。org上的wrapException(NetUtils.java:772)。阿帕奇。hadoop。ipc。客户在org上调用(Client.java:1472)。阿帕奇。hadoop。ipc。客户在org上调用(Client.java:1399)。阿帕奇。hadoop。ipc。ProtobufRpcEngine$调用程序。在com上调用(ProtobufRpcEngine.java:232)。太阳代理$Proxy79。组织中的startContainers(未知源)。阿帕奇。hadoop。纱线应用程序编程接口。实施。pb。客户ContainerManagementProtocolPBClientImpl。在org上启动containers(ContainerManagementProtocolPBClientImpl.java:96)。阿帕奇。hadoop。纱线服务器resourcemanager。amlauncher。AMLauncher。在org上发布(AMLauncher.java:119)。阿帕奇。hadoop。纱线服务器resourcemanager。amlauncher。AMLauncher。在java上运行(AMLauncher.java:254)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1145)。util。同时发生的ThreadPoolExecutor$工作者。在java上运行(ThreadPoolExecutor.java:615)。lang.Thread。运行(Thread.java:745)的原因:java。io。IOException:java。网SocketTimeoutException:等待通道准备好读取时超时60000毫秒。ch:java。nio。频道。SocketChannel[连接本地=/10.0.37.145:49054远程=平台演示/10.0.37.145:60487]位于org。阿帕奇。hadoop。ipc。客户端$连接$1。在java上运行(Client.java:680)。安全AccessController。javax上的doPrivileged(本机方法)。安全授权。主题doAs(Subject.java:415)位于org。阿帕奇。hadoop。安全用户组信息。doAs(UserGroupInformation.java:1628)位于org。阿帕奇。hadoop。ipc。客户端$连接。位于组织的handleSaslConnectionFailure(Client.java:643)。阿帕奇。hadoop。ipc。客户端$连接。位于org的setupIOstreams(Client.java:730)。阿帕奇。hadoop。ipc。客户端$连接。访问org上的2800美元(Client.java:368)。阿帕奇。hadoop。ipc。客户位于org的getConnection(Client.java:1521)。阿帕奇。hadoop。ipc。客户调用(Client.java:1438)。。。9更多原因:java。网SocketTimeoutException:等待通道准备好读取时超时60000毫秒。ch:java。nio。频道。SocketChannel[连接本地=/10.0.37.145:49054远程=平台演示/10.0.37.145:60487]位于org。阿帕奇。hadoop。网SocketIOWithTimeout。doIO(SocketIOWithTimeout.java:164)位于org。阿帕奇。hadoop。网SocketInputStream。在org上阅读(SocketInputStream.java:161)。阿帕奇。hadoop。网SocketInputStream。在java上读取(SocketInputStream.java:131)。io。FilterInputStream。在java上读取(filternputstream.java:133)。io。BufferedInputStream。在java中填充(BufferedInputStream.java:235)。io。BufferedInputStream。在java上读取(BufferedInputStream.java:254)。io。DataInputStream。org上的readInt(DataInputStream.java:387)。阿帕奇。hadoop。安全SASLRPC客户。saslConnect(saslrpclient.java:367)位于org。阿帕奇。hadoop。ipc。客户端$连接。位于org的setupSaslConnection(Client.java:553)。阿帕奇。hadoop。ipc。客户端$连接。访问org上的1800美元(Client.java:368)。阿帕奇。hadoop。ipc。客户端$连接$2。在org上运行(Client.java:722)。阿帕奇。hadoop。ipc。客户端$连接$2。在java上运行(Client.java:718)。安全AccessController。javax上的doPrivileged(本机方法)。安全授权。主题doAs(Subject.java:415)位于org。阿帕奇。hadoop。安全用户组信息。doAs(UserGroupInformation.java:1628)位于org。阿帕奇。hadoop。ipc。客户端$连接。setupIOstreams(客户端.java:717)。。。12个以上

2016-11-11 15:38:09319信息组织。阿帕奇。hadoop。纱线服务器resourcemanager。rmapp。企图RMAppAttemptImpl:更新应用程序尝试appattempt\u 1478856936677\u 0004\u00000 2,最终状态:失败,退出状态:-1000 2016-11-11 15:38:09319信息组织。阿帕奇。hadoop。纱线服务器resourcemanager。rmapp。企图RMAppAttemptImpl:appattempt\u 1478856936677\u 0004\u000002状态从已分配更改为最终保存

我试图改变下面的属性

纱线节点管理器。资源内存mb
2200可分配给容器的物理内存量(mb)。

纱线调度程序。最小分配mb
500

dfs.datanode.socket.write.timeout

dfs.socket.timeout3000000

共有1个答案

伊光赫
2023-03-14

Q1.MapReduce作业失败,纱线验收后

原因是,端口60487上有130个左右的多个连接卡住。

Q2.MapReduce作业在通过纱线验收后失败

问题是由于hadoop tmp /app/hadoop/tmp.清空此目录并重试MAPR作业,作业成功执行。

问题3:不正常的节点本地目录不正确:/tmp/hadoop hduser/nm local dir

使用如下属性编辑yarn-site.xml。

<property>
        <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
        <value>98.5</value>
</property>

请参阅为什么Hadoop报告“不健康的节点本地目录和日志目录不正确”?

 类似资料:
  • 我在Thread上运行flink作业,我们使用命令行中的“fink run”将作业提交给Thread,有一天我们在flink作业上出现异常,因为我们没有启用flink重启策略,所以它只是失败了,但最终我们从Thread应用程序列表中发现作业状态为“成功”,我们预期为“失败”。 Flink CLI日志: Flink作业管理器日志: 有谁能帮我理解为什么塞恩说我的Flink工作是“成功的”?

  • 我正在尝试从Java应用程序调用mapreduce作业。在以前的hadoop版本(1.x)中,我创建了一个配置对象和一个作业对象,在配置中设置mapred.Job.tracker和fs.default.name并运行作业。现在,在Hadoop2.x中,作业跟踪器不再存在,也不存在任何关于如何以编程方式运行MR1作业的文档。有什么想法吗? 我要找的是这里给出的解释:从一个简单的Java程序调用一个m

  • 我正在使用spark submit执行以下命令: spark submit script\u测试。py—主纱线—部署模式群集spark submit script\u测试。py—主纱线簇—部署模式簇 这工作做得很好。我可以在Spark History Server UI下看到它。但是,我无法在RessourceManager UI(纱线)下看到它。 我感觉我的作业没有发送到集群,但它只在一个节点上

  • 我是Hadoop的MapReduce的新手。我已经编写了一个map-reduce任务,我正在尝试在本地计算机上运行它。但这项工作在地图绘制完成后就悬而未决了。 下面是代码,我不明白我错过了什么。 我有一个自定义密钥类 使用自定义键的映射器和缩减器类如下。 我还在main中创建了一个作业和配置。不知道我错过了什么。我在本地环境下运行这一切。

  • 我正面临一个问题,当提交一个火花作业罐子在纱。当我用-master yarn-client提交它时,它工作得很好,并给出了我预期的结果 命令如下所示; ./spark-submit--类main.mainclass--主纱--客户端--驱动程序--内存4G--执行器--内存4G--num-执行器4--执行器-核心2 job.jar其他--选项

  • 我一直在玩弄Hadoop及其姊妹项目,在这一过程中我遇到了一些问题,但我最终遇到了一个我找不到答案的问题: 我有一个hive表存储在hdfs上,作为一个制表符分隔的文本文件。我可以在表上做一个基本的选择,但是一旦我把查询做得稍微复杂一点,hive就把它变成了一个映射还原作业,这个作业在下面的堆栈跟踪中失败了 13/11/29 08:31:00错误安全。UserGroupInformation:Pr