
《Hadoop权威指南2》
文章平均质量分 93
《Hadoop权威指南2》一书的学习总结
晓之木初
船到桥头自然直,前提是你努力过!
展开
-
Hadoop YARN(入门) —— Hadoop权威指南5
1. YARN概述1.1 YARN在Hadoop生态圈中的定位Hadoop 1.x,MR既要负责分布式计算,还需要负责计算过程中的资管管理和任务调度Hadoop2.x,更新了Hadoop的架构,使用YARN(Yet Another Resource Negotiator,另一种资源判决者/调度者)进行专门的资源组管理和任务调度,而MR通过调用YRN的API实现分布式计算,减轻了MR的压力同时,YARN还具备足够的通用性,除了能支持MR之外,它还能支持其他的分布式计算模式,如Spark、Tez等可原创 2021-04-18 16:55:38 · 1743 阅读 · 0 评论 -
YARN的调度队列 —— Hadoop权威指南6
真实场景中,总会出现这样的情况:新提交的YARN应用需要等待一段时间,才能获得所需的资源。不能立即获得资源的应用,总不能直接拒绝,需要有个地方去存储这些应用 —— 使用队列同时,队列中的应用如何为其分配资源:是先到先得?还是优先执行资源需求较小的应用? —— 需要有特定的策略为应用分配资源而YARN的调度器(scheduler)的工作就是根据既定策略为应用分配资源1. YARN中的三种调度器概述1.1 FIFO调度器FIFO调度器,顾名思义:将应用放置在一个队列中,按照到来的先后顺序(先进.原创 2021-04-18 23:15:39 · 1521 阅读 · 0 评论 -
Hadoop概述 —— Hadoop权威指南1
1. Hadoop发展简史1.1 NutchApache Lucene是一个应用广泛的文本搜索系统库,创始人为Dough Cutting2002年,Dough开始和Mike Cafarella打算构建一个web搜索引擎 —— Nutch,面世以后创始人认为不够灵活:不足以解决数以十亿的网页搜索问题。2003年,谷歌的GFS论文发表。2004年,Nutch有了自己的分布式文件系统NDFS2004年,谷歌MapReduce(简称MR)论文发表。2005年初,开发人员在Nutch上实现了一个MR系统。原创 2021-04-05 16:27:31 · 496 阅读 · 0 评论 -
编写自己的MapReduce程序 - 基于Hadoop-2.10.1
1 部署伪分布式Hadoop集群集群版本:2.10.1,下载链接:hadoop-2.10.1部署方式参考官方文档:Pseudo-Distributed Operation与官方文档不一致的地方:启动hdfs之前,需要为hadoop-env.sh配置真实的JAVA_HOME路径,而非${JAVA_HOME}启动hdfs后,应该有三个进程:DataNode、 NameNode、SecondaryNameNodeyarn-site.xml中需要指定resourcemanager的端口号原创 2021-04-06 12:47:56 · 488 阅读 · 0 评论 -
checksum和compression—— Hadoop权威指南7
1. Hadoop文件系统的数据完整性1.1 关于checksum学习计算机组成原理什么的,一般都会提到数据校验以保证数据的完整性检测数据是否损坏的常见操作:数据第一次写入系统时,对数据计算校验和(checksum),数据和checksum一起存入系统之后读取数据时,重新计算数据的checksum,将计算出来的checksum与系统存储的checksum做比较如果checksum不一致,则认为数据已损坏计算checksum只能检查数据是否损坏,并不能修复数据目前,常用的错误校验码是原创 2021-04-24 17:46:18 · 1855 阅读 · 0 评论 -
Hadoop的顺序文件—— Hadoop权威指南9
《Hadoop权威指南》的5.4节,讲述了一些二进制文件格式:顺序文件(SequenceFile)、MapFile、Avro等自己也没有特别大的体会,只能暂时先记录学到的一些知识1. 顺序文件 —— SequenceFile考虑日志文件,每一行代表一条日志记录。Hadoop的SequenceFile,支持二进制key-value对的持久化存储,适合用作日志文件的存储。因为你可以使用IntWritable类型的时间戳,作为日志记录的key;使用Writable类型的数据,作为日志记录的valu.原创 2021-05-02 17:13:14 · 633 阅读 · 0 评论 -
Hadoop的序列化 —— Hadoop权威指南8
1. 序列化之前看别人写的代码,总是喜欢让实体类实现Serializable接口public class Man implements Serializable { private static final long serialVersionUID = 1L; ...}自己最开始也不是特别理解,后来编写flink程序时,实体类最终是以字节流的形式在网络中传递。只有实现Serializable接口,执行时才不会报序列化相关的错误。自己也是懵懵懂懂的知道,序列化就原创 2021-04-29 00:36:44 · 1012 阅读 · 0 评论 -
MR应用开发 —— Hadoop权威指南10
1. Configuration —— Hadoop的配置API之前,在获取Hadoop文件实例时,经常会创建一个Configuration实例Configuration是Hadoop用于配置的API,是property和value的集合addResource():为Configuration指定配置文件。入参为resources中的xml文件名,Configuration可以从xml文件中获取property和value属性覆盖: 若通过addResource()同时指定多个xml文件,同名原创 2021-05-03 17:17:06 · 997 阅读 · 0 评论 -
MR的工作机制 —— Hadoop权威指南11
之前,在学习Hadoop yarn时,有仔细分析过一个用户Application是如何在yarn部分实现任务运行的。用户Application并非限定为MR作业,而是其他各种可以通过yarn实现资源管理和任务调度的Application具体的运行机制,可以查看之前的博客:Hadoop YARN(入门) —— Hadoop权威指南5如果想要了解MR的工作机制,从Hadoop 2.x开始,必须要结合yarn去学习《Hadoop权威指南》,第7章,就是结合yarn详细分析了MR作业的运行机制1. M.原创 2021-05-20 00:36:14 · 1998 阅读 · 0 评论 -
MR的其他知识 —— Hadoop权威指南12
1. 关于任务的一些知识1.1 作业/任务的属性《Hadoop权威指南》中,介绍了一些任务执行环境的属性。通过学习,我更倾向于这是作业或任务的属性属性名属性类型描述mapreduce.job.idString作业IDmapreduce.task.idString任务IDmapreduce.task.attempt.idString任务尝试IDmapreduce.task.partitionint作业中的任务索引,该属性不是很理解mapr原创 2021-05-23 19:14:28 · 499 阅读 · 0 评论 -
MR的分片、输入输出格式 ——Hadoop权威指南13
1. 输入分片与记录1. 文件 →\rightarrow→ split →\rightarrow→ record的转化map任务的个数,取决于split数,split对应的Java接口为InputSplitInputSplit包含一个以字节为单位length、一组存储位置,但本身不包含数据本身,而是包含指向数据的引用public abstract long getLength() throws IOException, InterruptedException;public abstra原创 2021-05-23 23:27:10 · 1008 阅读 · 0 评论 -
MR的计数器 —— Hadoop权威指南14
之前,在展示MR作业的结果时,我们发现会有一些统计数据输出21/04/06 09:51:19 INFO mapreduce.Job: Counters: 49 File System Counters FILE: Number of bytes read=67 FILE: Number of bytes written=416357 FILE: Number of read operations=0 FILE:..原创 2021-06-06 23:06:38 · 489 阅读 · 4 评论 -
构建Hadoop集群(内含impersonation) —— Hadoop权威指南15
《Hadoop权威指南》的10章和11章,基本都是讲集群的搭建、配置、目录结构等细节知识比较凌乱,在此将自己觉得重要的知识记录一下1. 为何不使用RAID?NameNode需要永久性储存文件元数据,可以使用RAID(磁盘阵列)做存储器但是DataNode不建议使用RAID做存储器,主要原因有三个:原因一: HDFS的多副本已经能满足冗余需求,无需再使用RAID原因二: Hadoop的JBOD(just bound of disk)技术,通过实验表明会比RAID的读写更快。因为,JBOD再.原创 2021-07-18 16:56:38 · 369 阅读 · 2 评论 -
管理Hadoop集群—— Hadoop权威指南16
1. NameNode的目录结构NameNode在内存中加载了文件系统元数据和block位置的映射关系NameNode会永久性存储文件系统元数据,主要包括edits、fsimage、seen_txidNameNode的目录结构如图所示VERSION: Java属性文件,包含namespaceID(文件系首次格式化使创建)、block池ID、storageType(值为NAME_NODE)等edits:(1)编辑日志,对文件系统的操作(事务),先记录到edits文件中,同步更原创 2021-07-18 19:15:25 · 509 阅读 · 1 评论 -
Flume —— 《Hadoop权威指南》17
《Hadoop权威指南》第14章,简单介绍了Flumesource —> chanel —> sink,是Flume的基本构建,包含了从数据采集、数据转发、数据存储的一个完整流程与之前使用Flink进行kafka数据的ETL时,一些概念有很多相似之处自己在看完这章之后,觉得Flume还是有很多可以学习的,在这里记录一下因为,自己最开始的安排是,书中讲述的开源组件,只要不是特别重要的,都不会记录 ????1. Flume概述Flume的作用Flume构建目的:旨在向HDFS批原创 2021-07-24 19:32:39 · 411 阅读 · 0 评论 -
Hadoop的分布式文件系统—— Hadoop权威指南3
本章除了讲解HDFS,还从整个Hadoop文件系统的角度介绍了文件系统的命令行、FileSystem接口(Hadoop文件系统的客户端接口)1. HDFS概述1. HDFS的特性、应用场景(适合/不适合什么?why?)HDFS的是Hadoop的分布式文件系统,全称Hadoop Distributed FilesystemHDFS具有以下特性:超大文件:几百MB、几百GB甚至几百TB的大文件,甚至还出现了存储PB级文件的Hadoop集群流式数据访问:HDFS基于一次写入、多次读取是高效的.原创 2021-04-10 12:04:49 · 1188 阅读 · 0 评论 -
HDFS学习记录(数据单位的比较、读写流程)
1. HDFS的整体架构模糊词汇解释:Client: 凡是通过API或者HDFS命令访问HDFS的一端,都可以看做是客户。Rack: 机架,副本的放置策略与机架有关。Block Size: Hadoop2.7.3开始默认为128 M,Hadoop2.7.3以下默认为64 M。2. block、packet、chunk的关系block、packet、chunk都是HDFS中涉...原创 2020-07-26 17:21:33 · 1370 阅读 · 1 评论 -
HDFS中NameNode的fsimage和edits
① NameNode元数据的设计在HDFS中,需要经常访问元数据,并且还要求NameNode能高效地响应Client的请求。如果将元数据存储在NameNode的磁盘中,必然效率太低。应该将元数据存到内存中。但是,元数据如果存储在内存中,一旦断电,就会丢失。重启后,整个集群便无法工作。应该在磁盘中对元数据进行备份,叫做fsimage。内存中的元数据发生更新,磁盘中的fsimage也需要同时更新,才能保证数据的一致性。但是,如果内存中的元数据每更新一次,就同步到磁盘,效率会非常低下。原创 2020-07-26 21:37:01 · 1723 阅读 · 0 评论 -
HDFS的读写流程 —— Hadoop权威指南4
HDFS读写流程初始化FileSystem,client调用FileSystem对象的open()方法,打开一个HDFS文件。实际,是获取一个DistributedFileSystem实例DistributedFileSystem通过RPC调用NameNode,获取一批文件block的位置列表。其中,每个block的副本所在的DataNode,是按照它们与客户端的距离排序的DistributedFileSystem向客户端返回一个FSDataInpu原创 2021-04-14 01:17:17 · 3220 阅读 · 4 评论 -
MapReduce概述 —— Hadoop权威指南2
在Hadoop利用MapReduce(简称MR),实现分布式计算,顾名思义MR包含两个操作:Map操作:map在编程语言中有映射含义,即对每条数据执行相同的操作,从而实现将原始的输入数据转化为key-value形式。也就是说,通过map操作可以进行数据准备。Reduce操作:对map操作的结果(即中间结果)进行汇总,如求和、求平均等,从而得到最终结果 —— 一个新的key-value集合。1. 结合气象数据理解MR的流程考虑某个国家的气象数据(数据片段)如下,第一个红色框中的数据表示所属年份,原创 2021-04-06 22:06:04 · 1177 阅读 · 0 评论