![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop
andyguan01_2
这个作者很懒,什么都没留下…
展开
-
从一次Hadoop启动报错看hostname的命名规范
Hadoop启动报错:…D原创 2019-01-24 10:54:26 · 1099 阅读 · 0 评论 -
探讨MapReduce失败的几种情形
在现实情况中,程序运行可能遇到各种故障:用户代码错误不断、进程崩溃、机器故障等等。使用Hadoop最主要的好处之一是它能处理此类故障并让你能够成功完成作业。五门需要考虑以下实体的失败:任务、application master、节点管理器和资源管理器。1、任务运行失败首先考虑任务失败的情况。最常见的情况是map任务或reduce任务中的用户代码抛出运行异常。如果发生这种情况,任务JVM会在退出...原创 2019-04-22 17:55:55 · 3462 阅读 · 0 评论 -
MapReduce中的shuffle和排序
MapReduce确保每个reducer的输入都是按键排序的。系统执行排序、将map输出作为输入传给reducer的过程称为shuffle。在此,我们将学习shuffle是如何工作的,因为它有助于我们理解工作机制(如果需要优化MapReduce程序)。shuffle属于不断被优化和改进的代码库的一部分,因此下面的描述有必要隐藏一些细节(也可能随时间而改变,目前是0.20版本)。从许多方面看,shu...原创 2019-04-23 12:17:44 · 2303 阅读 · 0 评论 -
MapReduce的Uber运行模式
Uber模式可以简单理解成JVM重用,该模式是2.x开始引入的。以Uber模式运行MR作业,所有的Map Tasks和Reduce Tasks将会在ApplicationMaster所在的容器(container)中运行,也就是说整个MR作业运行的过程只会启动AM container,因为不需要启动mapper和reducer containers,所以AM不需要和远程containers通信,整...原创 2019-04-23 13:53:30 · 614 阅读 · 0 评论 -
MapReduce任务的推测执行
MapReduce模型将作业分解成任务,然后并行地运行任务以使作业的整体执行时间少于各个任务顺序执行的时间。这使作业执行时间对于运行缓慢的任务很敏感,因为只运行一个缓慢的任务会使整个作业所用的时间远远长于执行其他任务的时间。当一个作业由几百或几千个任务组成时,可能出现少数“拖后腿”的任务,这是很常见的。任务执行缓慢可能有多种原因,包括硬件老化或软件配置错误,但是,检测具体原因很困难,因为任务总能...原创 2019-04-23 14:35:23 · 1244 阅读 · 0 评论 -
MapReduce中的combiner函数
集群上的可用带宽限制了MapReduce作业的数量,因此尽量避免map和reduce任务之间的数据传输是有利的。Hadoop允许针对map任务的输出指定一个combiner(就像mapper和reducer一样),combiner函数的输出作为reduce函数的输入。由于combiner属于优化方案,所以Hadoop无法确定要对一个指定的map任务输出记录调用多少次combiner(如果需要)。换...原创 2019-04-23 17:50:45 · 674 阅读 · 0 评论 -
在MapReduce中使用压缩
要想压缩MapReduce作业的输出,应在作业配置过程中将mapreduce.output.fileoutputformat.compress属性设为true,将mapreduce.output.fileoutputformat.compress.codec属性设置为打算使用的压缩codec的类名。另一种方案是在FileOutputFormat中使用更便捷的方法设置这些属性,如以下范例,对查找最高...原创 2019-04-23 18:31:49 · 1514 阅读 · 0 评论 -
MapReduce的输入分片与记录
一个输入分片(split)就是一个由单个map操作来处理的输入块。每一个map操作只处理一个输入分片。每个分片被划分为若干个记录,每条记录就是一个键-值对,map一个接一个地处理记录。输入分片和记录都是逻辑概念,不必将它们对应到文件,尽管其常见形式都是文件。在数据库场景中,一个输入分片可以对应于一个表上的若干行,而一条记录对应到一行(如同DBInputFormat,这种输入格式用于从关系型数据库读...原创 2019-04-26 10:20:58 · 374 阅读 · 0 评论 -
HDFS的数据结构
作为管理员,深入了解namenode、secondary namenode和datanode等HDFS组件如何在磁盘上组织永久性数据非常重要。洞悉各文件的用法有助于进行故障诊断和故障检出。一、namenode的目录结构运行中的namenode有如下目录结果:${dfs.namenode.name.dir}/|–current| |–VERSION| |–edits_00000000...原创 2019-04-30 14:33:23 · 953 阅读 · 0 评论 -
MapReduce作业运行机制
MapReduce的整个过程如下图所示:在最高层有5个独立实体:1)客户端:提交MapReduce作业。2)Yarn资源管理器:负责协调集群上计算机资源的分配。3)Yarn节点管理器:负责启动和监视集群中机器上的计算容器(container)。4)MapReduce的application master:负责协调运行MapReduce作业的任务。它和MapReduce任务在容器中运行,...原创 2019-04-22 11:23:02 · 1234 阅读 · 0 评论 -
MapReduce2的作业调优
MapReduce2的作业调优检查表:范围最佳实践更多参考信息mapper的数量mapper需要运行多长时间?如果平均只运行几秒钟,则可以看是否能用更少mapper运行更长的时间,通常是一分钟左右。时间长度取决于使用的输入格式MapReduce的输入分片与记录reducer的数量检查使用的reducer数目是不是超过1个。根据经验,Reduce任务应运行5分钟左...原创 2019-04-26 10:25:41 · 143 阅读 · 0 评论 -
HDFS的数据读取与写入
一、HDFS的数据读取流程1、客户端通过调用FileSystem对象的open()方法来打开希望读取的文件,对于HDFS来说,这个对象是DistributedFileSystem的一个实例;2、DistributedFileSystem通过使用远程过程调用(RPC)来调用NameNode,以确定文件起始块的位置;3、对于每个块,NameNode返回存有该块副本的DataNode地址。此外,...原创 2019-04-09 19:14:06 · 2828 阅读 · 0 评论 -
在CentOS6.9搭建Hadoop2.6.5集群
一、环境操作系统:Centos6.9软件版本:Hadoop2.6.5集群架构:master:10.100.125.156slave1:10.200.4.116slave2:10.200.4.117二、搭建Hadoop集群1、创建hadoop用户groupadd hadoop useradd -g hadoop hadoop passwd hadoop2、安装JDK在ro...原创 2019-01-22 18:48:47 · 639 阅读 · 0 评论 -
Hadoop错误解决:Bad connect ack with firstBadLink as ×.×.×.×:50010
问题描述:通过Azkaban调Sqoop,将Oracle数据导入Hive,报Bad connect ack with firstBadLink as ×.×.×.×:50010(×.×.×.×为Hadoop集群其中一个DataNode的IP,我这里隐去了实际值)错误,如下:14-03-2019 15:50:15 CST sqoop INFO - Mar 14, 2019 7:50:15 AM ...原创 2019-03-15 15:55:38 · 3849 阅读 · 0 评论 -
hadoop fs、hadoop dfs与hdfs dfs命令
hadoop fs:fs涉及一个通用文件系统,它可以指向任何文件系统,如local、hdfs等,因此当您处理不同的文件系统(如local fs、hftp fs、s3 fs和其他)时,可以使用它。hadoop dfs:适用于与hdfs相关的操作,已经被命令hdfs dfs替代。hdfs dfs:适用于与hdfs相关的所有操作,建议使用此命令替代hadoop dfs。完毕。...原创 2019-03-15 18:04:29 · 781 阅读 · 0 评论 -
Hadoop2.6.5搭建HA(高可用)
一、环境操作系统:CentOS6.9软件版本:Hadoop2.6.5,Zookeeper3.4.13集群架构:我手上有3台服务器,一台作为主NameNode,一台作为备NameNode和DataNode1,剩下一台作为DataNode2。也就是在3台服务器上面部署一主一备NameNode+两个DataNode。另外,由于JournalNode和ZK都至少为3个,且为奇数个,在3台服务器上面...原创 2019-03-20 12:28:52 · 1436 阅读 · 1 评论 -
Hadoop的SecondaryNameNode和HA(高可用)区别
在Hadoop2.0之前,NameNode只有一个,存在单点问题(虽然Hadoop1.0有SecondaryNameNode,CheckPointNode,BuckcupNode这些,但是单点问题依然存在),在hadoop2.0引入了HA机制。Hadoop2.0的HA机制官方介绍了有2种方式,一种是NFS(Network File System)方式,另外一种是QJM(Quorum Journal...原创 2019-03-20 18:37:14 · 4965 阅读 · 1 评论 -
Hadoop配置文件详解
1、core-site.xml属性含义fs.defaultFS这是一个描述集群中NameNode节点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。样例:hdfs://maste...原创 2019-03-17 10:55:28 · 6364 阅读 · 0 评论 -
Hadoop守护进程
正常启动hadoop后,我们可以在NameNode和DataNode上通过jps命令看到5个守护进程:NameNode、SecondaryNameNode、ResourceManager、DataNode、NodeManager。说明如下:进程名称作用NameNode它是Hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问。SecondaryN...原创 2019-03-17 12:09:49 · 1156 阅读 · 0 评论 -
Hadoop2.X系统日志文件
默认情况下,Hadoop2.X生成的系统日志文件存放在$HADOOP_HOME/logs目录,也可通过hadoop-env.sh文件中的HADOOP_LOG_DIR来进行修改。建议修改默认设置,使之独立于Hadoop的安装目录。这样的话,即使Hadoop升级后安装路径发生变化,也不会影响日志文件的位置。运行在各台机器上的各个Hadoop守护进程会产生两类日志文件:1、后缀名为.log是通过l...原创 2019-03-17 16:50:57 · 476 阅读 · 0 评论 -
Hadoop中namenode的安全模式
在启动namenode时,会首先进入安全模式(safemode)。在safemode中,HDFS是不被允许进行操作的,这段时间,HDFS会检查datanode上面的块是否被损坏,若块丢失或被损坏,会修复被损坏的块,但如果损坏的太多,则namenode会一直处在安全模式,从而导致HDFS不能操作。一般遇到这种问题,等待片刻便会自动退出安全模式,但凡事总有不一般的时候,当块损坏的太多而无法修复时,n...原创 2019-04-30 16:17:01 · 5558 阅读 · 1 评论