记录遇到的一些Hadoop—Mapreduc相关的问题

一:类类型使用不一致(mapper和reduce)

20/01/13 16:03:42 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1578714121919_0001
20/01/13 16:03:42 INFO conf.Configuration: found resource resource-types.xml at file:/tmp/hadoop-unjar5833957221661452217/resource-types.xml
20/01/13 16:03:42 INFO resource.ResourceUtils: Adding resource type - name = rm1, units = G, type = COUNTABLE
20/01/13 16:03:42 INFO resource.ResourceUtils: Adding resource type - name =  rm2, units = , type = COUNTABLE
20/01/13 16:03:42 INFO resource.ResourceUtils: Adding resource type - name = memory-mb, units = Mi, type = COUNTABLE
20/01/13 16:03:42 INFO resource.ResourceUtils: Adding resource type - name = vcores, units = , type = COUNTABLE
20/01/13 16:03:43 INFO impl.YarnClientImpl: Submitted application application_1578714121919_0001
20/01/13 16:03:43 INFO mapreduce.Job: The url to track the job: http://node04:8088/proxy/application_1578714121919_0001/
20/01/13 16:03:43 INFO mapreduce.Job: Running job: job_1578714121919_0001
20/01/13 16:03:51 INFO mapreduce.Job: Job job_1578714121919_0001 running in uber mode : false
20/01/13 16:03:51 INFO mapreduce.Job:  map 0% reduce 0%
20/01/13 16:03:57 INFO mapreduce.Job:  map 100% reduce 0%
20/01/13 16:04:01 INFO mapreduce.Job: Task Id : attempt_1578714121919_0001_r_000000_0, Status : FAILED
Error: java.lang.ClassCastException: org.apache.hadoop.io.Text cannot be cast to org.apache.hadoop.util.bloom.Key
        at com.ideatech.hadoop.mapreduce.MyReduce.reduce(MyReduce.java:14)
        at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:171)
        at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:627)
        at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:389)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:177)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1893)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:171)

20/01/13 16:04:06 INFO mapreduce.Job: Task Id : attempt_1578714121919_0001_r_000000_1, Status : FAILED

  这是因为mapper和reduce的继承类,使用的T参数不一致造成,比如,map里面使用Text ,reduce里面使用Key,就会出现类型强转异常

二:2.10.0版本缺少配置文件(不同于低版本2.x)

  2.10.0需要配置相关的参数,yarn资源管理的相关参数,较之2.x低版本有较多区别

三:AM资源分配问题,始终在等待分配资源

  参考文章:https://www.cnblogs.com/yjt1993/p/9489122.html

四:缺少resource-types.xml 配置文件,低版本2.x不需要,高版本2.x和3.x需要,具体从哪个版本开始,未曾查明(参考如下)

  

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
         <name>yarn.resource-types</name>
        <value>rm1, rm2</value>
    </property>
    <property>
        <name>yarn.resource-types.rm1.units</name>
        <value>G</value>
    </property>
    <property>
        <!-- Maximum resources to allocate to application masters
        If this is too high application masters can crowd out actual work -->
        <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
        <value>0.6</value>
    </property>
<!--    <property>-->
<!--        <name>yarn.scheduler.minimum-allocation-mb</name>-->
<!--        <value>1</value>-->
<!--    </property>-->
<!--    <property>-->
<!--        <name>yarn.scheduler.maximum-allocation-mb</name>-->
<!--        <value>1</value>-->
<!--    </property>-->

<!--    <property>-->
<!--        <name>yarn.resource-types.rm2.minimum</name>-->
<!--        <value>1</value>-->
<!--    </property>-->
<!--    <property>-->
<!--        <name>yarn.resource-types.rm2.maximum</name>-->
<!--        <value>1</value>-->
<!--     </property>-->
</configuration>

五:yarn资源管理分配未曾成功启动(下图是成功启动后的显示——HA模式)

  *:注意 Memory Total 和 Apps Completed ,VCores Used

   配置文件未正确配置

  

总结:Hadoop系列,1.x,2.x和3.x等几个大版本差异较大,若要进行操作,最好使用2.x偏中版本,3.x偏低,比如2.6 ,2.7之类,或者3.2或3.1(时间:20200113)。最好三阶段的异动和变革史能探索下。

原文地址:https://www.cnblogs.com/wbqcheng/p/12188653.html

时间: 2024-08-14 22:29:47

记录遇到的一些Hadoop—Mapreduc相关的问题的相关文章

hadoop以及相关组件介绍以及个人理解

前言 本人是由java后端转型大数据方向,目前也有近一年半时间了,不过我平时的开发平台是阿里云的Maxcompute,通过这么长时间的开发,对数据仓库也有了一定的理解,ETL这些经验还算比较丰富.但是由于Maxcompute是一个更简单的大数据开发平台,导致个人在分布式计算的底层一些知识比较薄弱,所以这次决定花几个月时间好好学习一下hadoop,后续当然也会开始spark的学习.个人感觉这块学习的东西还是比较多,同时也要不断的实践的,所以这趟学习之旅,希望能够记录自己的一些心得体会,供自己参考,

程序员面试笔试宝典学习记录(三)(数据库相关知识)

关系数据库系统与文件数据库系统的区别如下: (a)关系数据库系统的主要特征是数据的结构化,而文件数据库系统是数据的非结构化. (b)关系数据库系统中,用户看到的逻辑结构是二维表,而文件数据库系统中,基本元素是文件. (c)文件数据库系统可以实现多媒体文件管理,支持C/S工作模式. acid,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(atomicity),一致性(consistency),隔离性(isolation),持久性(durability). 数据查询:select sele

记录一次Spring Data Solr相关的错误解决

记录一次Spring Data Solr相关的错误解决 生活本不易,流人遂自安 相信大家也使用过SpringDataSolr,但是在最新版的SpringDataSolr 4.0.5 RELEASE中有些方法已经和以前的版本有些大不一样了.本次主要表达的是分组查询的不同. 问题描述 以前的分组查询是这样的: 创建分组对象,并设置查询条件 构建分组选项并且设置分组选项 获取分组页 获取分组结果对象 获取分组入口也groupEntries 从入口页中获取入口集合getContent 如果你按照这种设置

Linux巩固记录(3) hadoop 2.7.4 环境搭建

由于要近期使用hadoop等进行相关任务执行,操作linux时候就多了 以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上去 看下进程,复制粘贴删除等基本操作,很多东西久了不用就忘了,所有写个demo巩固下曾经的linux知识 后续会有hadoop等主流的大数据相关环境的搭建及使用 ---------------------------------------------------------------------

Hadoop开发相关问题

总结自己在Hadoop开发中遇到的问题,主要在mapreduce代码执行方面.大部分来自日常代码执行错误的解决方法,还有一些是对Java.Hadoop剖析.对于问题,通过查询stackoverflow.csdn找到了解决方法.汇总出来以后查询方便.内容将不定期更新. 1.jar包执行出错,提示"class wordcount.WordCountMapper not found" 错误原因:在run()代码中没有定义setJarByClass解决方法:在wordcountJob.java

学习记录006-文件删除原理和相关知识点

文件删除原理有以下三点:1.文件系统回收inode,或被覆盖神仙也找不回2.所有硬链接都要删除(i_nlink等于0)3.服务进程不读取inode(i_ count等于0) linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,文件才能被删除,一般文件有两个link 一个i_count和一个i_nlinki_count的意义是当前文件使用者(或被调用)的数量,i_nlink 是磁盘的引用计数器当一个文件被某一个进程引用时,对应i_count数就会增加.当创建文件

虚拟机上Hadoop输入相关命令都提示not found

虚拟机上的Hadoop用着还好好的,第二天打开一看,输入相关命令都提示not found, 出现bash: start-all.sh: command not found... bash: jps: command not found... 之类的命令无效提示. 这应该是没有找到环境变量的原因, 所以使用命令source /etc/profile 之后,就恢复正常了. 至于为什么在没有开机重启情况下突然命令就用不了了,暂时还没找到原因(此前进行了防火墙的关闭操作,不知道有没有影响).

Hadoop的相关资料

1 HDFS 1.1 概念 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统 1.2 特点 - 高度容错性 - 硬件要求低 - 能提供高吞吐量的数据访问 1.2 文件系统命令行 1.1.1 获取帮助 hadoop fs -help 1.2.2 ls命令 hadoop fs -ls / hadoop fs -ls -R /user 1.3 getconf命令  hdfs getconf -help hdfs getconf 

Linux巩固记录(5) hadoop 2.7.4下自己编译代码并运行MapReduce程序

程序代码为 ~\hadoop-2.7.4\share\hadoop\mapreduce\sources\hadoop-mapreduce-examples-2.7.4-sources\org\apache\hadoop\examples\WordCount.java 第一次  删除了package import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configur