整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

 分类:hadoop

2.10. 目录

Filesystem实例提供了创建目录的方法: ‘ public boolean mkdirs(Path f) throws IOException 这个方法可以一次性新建所有必要但还没有的父目录,就像java.io.File 类的mkdirs()方法。如果目录(以及所有父目录)...

13℃ 0评论

2.9. 写入数据

Filesystem类有一系列新建文件的方法。最简单的方法是给准备建的文件指定一个Path对象,然后返回一个用于写入数据的输出流: public FSDataOutputStream create(Path f) throws IOException 此方法有多个重载版本,允许我...

14℃ 0评论

6.4.1. map端

map函数开始产生输出时,并不是简单地将它写到磁盘。这个过程更复杂,它利用缓冲的方式写到内存并出于效率的考虑进行预排序。图6-6 展示了这个过程。   图 6-6. MapReduce 的 shuffle 和排序 每个map任务都有一个环形内存缓冲区用于存储任务输出。在...

14℃ 0评论

2.8.2. 通过FileSystem API读取数据

正如前一小节所解释的,有时根本不可能在应用中设置URLStreamHandlerFactory 实例。在这种情况下,需要使用FileSystem API来打开一个文件的输入流。 Hadoop文件系统中通过Hadoop Path对象(而非java.io.File对象,因为它的语义...

12℃ 0评论

6.4. shuffle 和排序

MapReduce确保每个reducer的输入都是按键排序的。系统执行排序的过程 (即将map输出作为输入传给reducer)称为shuffle。在此,我们将学习shuffle是如何工作的,因为它有助于我们理解工作机制(如果需要优化 MapReduce程序)。shuffle属于不...

13℃ 0评论

2.8. Java 接口 2.8.1. 从Hadoop URL读取数据

在本小节中,我们要深入探索Hadoop的Filesystem类:它是与Hadoop的某一文件系统进行交互的API。虽然我们主要聚焦于HDFS实例,即 DistributedFileSystem,但总体来说,还是应该集成Filesystem抽象类,并编写代码,使其在不同文件系统中可...

13℃ 0评论

6.3.2. 容量调度器

针对多用户调度,容量调度器采用的方法稍有不同。集群由很多队列组成(类似于公平调度器的任务池),这些队列可能是层次结构的(因此,一个队列可能是另一个队列的子队列),每个队列被分配有一定的容量。这一点与公平调度器类似,只不过在每个队列内部,作业根据FIFO方式(考虑优先级)进行调度。...

14℃ 0评论

2.7. Hadoop文件系统

Hadoop有一个抽象的文件系统概念,HDFS只是其中的一个实现。Java抽象类 org.apache.hadoop.fs.FileSystem 定义了 Hadoop 中的一个文件系统接口,并且该抽象类有几个具体实现,如表3-1所示。 表3-1 hadoop文件系统 ...

14℃ 0评论

6.3.1. 公平调度器

公平调度器的目标是让每个用户公平共享集群能力。如果只有一个作业在 运行,就会得到集群的所有资源。随着提交的作业越来越多,闲置的任务槽会以“让每个用户公平共享集群”这种方式进行分配。某个用户的耗时短的作业将在合理的时间内完成,即便另一个用户的长好间作业正在运行而且还在运行过程中。 ...

14℃ 0评论

2.6. HDFS中的文件访问权限

针对文件和目录,HDFS的权限模式与POSIX非常相似。   一共提供三类权限模式:只读权限(r)、写入权限(w)和可执行权限(x)。读取文件或列出目录内容时需要只读权限。写入一个文件或是在一个目 录上新建及删除文件或目录,需要写入权限。对于文件而言,可执行权限可以忽略...

13℃ 0评论

6.3 作业的调度

早期版本的Hadoop使用一种非常简单的方法来调度用户的作业:按照作业提交的顺序,使用FIFO(先进先出)调度算法来运行作业。典型情况下,每个作业都会使用整个集群,因此作业必须等待直到轮到自己运行。虽然共 享集群极有可能为多个用户提供大量资源,但问题在于如何公平地在用户 之间分...

13℃ 0评论

2.5. 命令行接口

现在我们通过命令行交互来进一步认识HDFS。HDFS还有很多其他接口, 但命令行是最简单的,同时也是许多开发者最熟悉的。 我们先在一台机器上运 行HDFS。稍后介绍如何在集群上运行HDFS,以提供伸缩性与容错性。 在我们设置伪分布配置时,有两个属性项需要进一步解释。第一项是 f...

10℃ 0评论

6.2.2. YARN中的失败

对于在YARN中运行的MapReduce程序,需要考虑一下几种实体的失败: 任务、application master、节点管理器和资源管理器。 1. 任务运行失败 任务运行失败类似于经典的情况。JVM的运行时异常和突然退出被反馈给 applitation master...

13℃ 0评论

6.2. 失败 6.2.1. 经典MapReduce中的失败

实际情况是,用户代码错误不断,进程崩溃,机器故障,如此种种。使用 Hadoop最主要的好处之一是它能处理此类故障并让你能够完成作业。 在MapReduce 1运行时,主要考虑三种失败的模式:运行任务失败、tasktracker失败以及jobtracker失败。下面将逐一分析。 &...

16℃ 0评论

6.1.2. YARN (MapReduce 2)

对于节点数超出4000的大型集群,前一节描述的MapReduce系统开始面临 着扩展性的瓶颈。在2010年雅虎的一个团队开始设计下一代的MapReduce。 由此,YARN (Yet Another Resource Negotiator 的缩写或者为 YARN Applicat...

14℃ 0评论