hadoop提交jar包卡住不会往下执行的解决方案
打开微信扫一扫,关注微信公众号【数据与算法联盟】
转载请注明出处:http://blog.csdn.net/gamer_gyt
博主微博:http://weibo.com/234654758
Github:https://github.com/thinkgamer
写在前边的话
这是一个很蛋疼的问题,说实话在以前玩这个hadoop集群,不管是伪分布式还是集群都没有注意过分配内存这个问题,即job执行时的内存分配,然后在今天遇到了,搞了好久
错误描述
执行jar包时,卡住不会动一般卡在两个地方
第一个是提交不到集群
[breakpad@master hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output 16/09/22 12:12:15 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.162.89:8032 16/09/22 12:12:16 INFO input.FileInputFormat: Total input paths to process : 1 16/09/22 12:12:16 INFO mapreduce.JobSubmitter: number of splits:1 16/09/22 12:12:17 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1474517485267_0001 16/09/22 12:12:17 INFO impl.YarnClientImpl: Submitted application application_1474517485267_0001 16/09/22 12:12:17 INFO mapreduce.Job: The url to track the job: http://master:8088/proxy/application_1474517485267_0001/ 16/09/22 12:12:17 INFO mapreduce.Job: Running job: job_1474517485267_0001 16/09/22 12:12:25 INFO mapreduce.Job: Job job_1474517485267_0001 running in uber mode : false
第二种是提交到集群之后,不会往下运行
[breakpad@master hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output 16/09/22 12:12:15 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.162.89:8032 16/09/22 12:12:16 INFO input.FileInputFormat: Total input paths to process : 1 16/09/22 12:12:16 INFO mapreduce.JobSubmitter: number of splits:1 16/09/22 12:12:17 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1474517485267_0001 16/09/22 12:12:17 INFO impl.YarnClientImpl: Submitted application application_1474517485267_0001 16/09/22 12:12:17 INFO mapreduce.Job: The url to track the job: http://master:8088/proxy/application_1474517485267_0001/ 16/09/22 12:12:17 INFO mapreduce.Job: Running job: job_1474517485267_0001 16/09/22 12:12:25 INFO mapreduce.Job: Job job_1474517485267_0001 running in uber mode : false 16/09/22 12:12:25 INFO mapreduce.Job: map 0% reduce 0%
解决办法
这两种错误的本质是一样的,就是在运行jar包时,节点为期分配的内存不够,且也没有指定最大最小值
官网上有三个这样的配置项 yarn-site.xml
yarn.nodemanager.resource.memory-mb 8192 Amount of physical memory, in MB, that can be allocated for containers. --- yarn.scheduler.minimum-allocation-mb 1024 The minimum allocation for every container request at the RM, in MBs. Memory requests lower than this will throw a InvalidResourceRequestException. --- yarn.nodemanager.vmem-pmem-ratio 2.1 Ratio between virtual memory to physical memory when setting memory limits for containers. Container allocations are expressed in terms of physical memory, and virtual memory usage is allowed to exceed this allocation by this ratio.
这里我们在集群的yarn-site.xml中添加配置
<property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>2048</value> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>2.1</value> </property>
重新启动集群,运行jar包即可

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MaxCompute5个窗口函数限制
场景:想选出每个客户前10个top购买类目,再pivot成10个列(或者合并成逗号隔开的一个值) 遭遇: “maximum 5 window functions allowed in the select statement of a sql ” 反了一下MaxCompute使用文档 一个SELECT中最多允许5个窗口函数 记得有篇文章,绕过了这个限制,好像是用union之类,找不到了。 好吧,自己决定按unique key,把表查询两遍(各自配5个window function,一个管1-5,另一个表管6-10),再join回来,这样可以多一倍函数。 分享给着急用的人,也期待官方有更好的支持方式; 文章转载自xueyuan 欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下:
- 下一篇
尝新阿里云E-MapReduce MetaService服务
阿里云E-MapReduce从EMR-2.1.0版本镜像开始,将在VPC集群中提供MetaService服务。 什么是MetaService服务? 从字面理解,MetaService服务提供用户查询集群Meta信息。包括哪些Meta信息呢?E-MapReduce目前主要提供以下几种信息: 集群所在Region 集群角色AccessKeyId 集群角色AccesskeySecret 集群角色SecurityToken 集群角色名 集群所属网络类型 这些信息都可以用来做什么呢?集群所在Region和集群所属网络类型比较容易理解。我如果在杭州Region创建集群,那么可以通过查询MetaService获知当前集群处于“cn-hangzhou” Region。我如果创建VPC集群,那么通过查询MetaService可以获知当前集群网络类型为VPC。这些都是
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7