
大数据-Hadoop脉络
万丈高楼平地起,地基的好坏决定楼的高度。Hadoop平台作为大数据开发中的基石,是大数据从业人员一定要必备的知识体系
piepis
DT时代的一块砖
展开
-
HDFS- NameNode&SecondaryNode
2NN与NN之间的关系思考:NameNode中的元数据时存储在哪里的?首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有相应客户请求,必然是效率过低。因此,元数据需要存放在内存中。但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了。因此产生在磁盘中备份元数据的FsImage。这样又带来了新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦NameNode节点断电,就会产生数据丢失。因原创 2020-08-07 19:49:07 · 391 阅读 · 0 评论 -
集群网络拓扑
在HDFS写数据的过程中,NameNode会选择距离待上传数据最近距离的Datanode接收数据。那么这个最小距离怎么计算的呢?节点距离:两个节点到达最近共同祖先的距离总和。机架感知(副本存储节点选择)第一个副本在Client所处的节点上。如果客户端在集群外,随机选一个。第二个副本一般保存在同机架的不同节点第三个副本一般保存在不同机架不会跨数据中心...原创 2020-08-07 15:34:15 · 1523 阅读 · 0 评论 -
HDFS- 访问命令
基础语法bin/hadoop fs 具体命令 OR bin/hdfs dfs 具体命令命令大全[kwang9@apollo-cli-002-853610 ~]$ hadoop fsUsage: hadoop fs [generic options] [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...] [-chgrp [原创 2020-08-07 14:15:27 · 550 阅读 · 0 评论 -
HDFS- 面试重点
Hdfs 文件块大小题目:为什么块的大小不能设置太小,也不能设置太大?答:Hdfs的块设置的太小,会增加寻址时间,程序一直在找块的开始位置;如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常的慢。总结:Hdfs块大小设置主要取决于磁盘传输速率。...原创 2020-08-07 12:52:40 · 308 阅读 · 0 评论 -
MapReduce- 计算框架
Hadoop 重要的计算框架 Mapreduce:我们至少应该学习以下内容Mapreduce的工作原理是什么?Mapreduce的工作流程是什么?Mapreduce的编程模型是什么?shuffle是什么?partition是什么?combiner是什麽?他们三者之间的关系是什么?map的个数由谁来决定,如何计算?reduce个数由谁来决定,如何计算?Hadoop MapReduce是一个软件框架,我们可以使用它轻松地编写应用程序,以可靠的、容错的方式并行处理大量数据。MapRe原创 2020-08-06 20:55:54 · 355 阅读 · 0 评论 -
HDFS- 数据复制
数据复制(Data Replication)HDFS 旨在跨大型集群中的计算机可靠地存储非常大的文件。它将每个文件存储为一系列块,除最后一个块之外的文件中的所有块都具有相同的大小,HDFS 使用的默认块大小为 128MB。复制文件的块以实现容错,且一般复制出的文件块会存储到不同的 DataNode 中。每个文件的Block大小和Replication因子都是可配置的。。Replication因子在文件创建的时候会默认读取客户端的HDFS配置,然后创建(可改变)HDFS中的文件是write-one,并原创 2020-08-06 15:16:49 · 3500 阅读 · 0 评论 -
HDFS- 优势与弊端
HDFS 优点硬件故障预防一个 HDFS 实例有可能包含数百台或数千台服务器,每一个台机器都存储文件系统数据的一部分,这种情况下硬件故障是常态。而 HDFS 可检测故障并从中快速自动恢复。流数据访问HDFS 设计用于批处理而不是用户的交互式使用,其重点是数据访问的高吞吐量而并不追求数据访问的低延迟。处理大数据集HDFS 的核心目标就是为处理具有大数据量的应用,在其上运行的应用的文件大小一般都为 TB 级别。HDFS 可提供高聚合数据带宽并且要扩展到集群中的数百个节点上,并对于单个应用可支持上千万原创 2020-08-06 14:30:36 · 1081 阅读 · 0 评论 -
HDFS- 副本存放策略
副本放置策略 也叫做副本选择策略,这源于此策略的名称( BlockPlacementPolicy).所以这个策略类重在block placement.这切实关系到 HDFS 的可依赖性与表现,并且经过优化的副本放置策略也使得 HDFS 相比其他分布式文件系统具有优势。先来看下这个策略类的功能说明:This interface is used for choosing the desired number of targets for placing block replicas.在大部分的实际案例原创 2020-08-06 14:06:52 · 2063 阅读 · 0 评论 -
HDFS- 空间回收
文件删除和取消删除当客户端发起一个删除指令:Hadoop fs -rm /park01/.txt,这个指令会传给namenoe当namenode收到指令后,做路径和权限检测,如果检测都通过,会将对应的文件信息从内存里删除,此时,文件数据并不是马上就从集群上被删除。datanode向namenode发送心跳时(默认时3s周期),会领取删除指令,然后从磁盘上将文件删除。如果启用了垃圾箱配置,则 FS Shell 删除的文件不会立即从 HDFS 中删除,而是 HDFS 将其移动到垃圾目录(/user/原创 2020-08-05 21:00:54 · 354 阅读 · 0 评论 -
HDFS- 写入文件
第1步客户端发去CreeteFile,目的时获取HDFS文件的输出流,namenode收到请求后会检测路径的合法性,以及权限。原生Hadoop的权限管理不是很完善,工作中用的是CDH(商业版Hadoop)如果检测通过,namenode会为这个文件生成块的元数据信息(比如:1为文件切块2分配块id3分配每个块存在那个datanode上),然后将原属信息封装到输出流中,返回给客户端。第2,3步 Client拿出输出流之后,采用PipeLine(数据流管道)机制做数据的上传发送,这样设计的目的在于利用每台服..原创 2020-08-05 20:50:35 · 931 阅读 · 0 评论 -
HDFS- 读取文件
第1步 客户端向namenode发起Open File。目的是获取要下载的文件的输入流。第2步 客户端在发起Open File的同时,还会调用GetBlockLocation.当第一步的检查通过以后namenode会将文件的块信息(元数据信息)封装到输入流,交给客户端。第3,4步 客户端用输入流,根据元数据信息,去指定的datanode读取文件块(按blockid顺序读取)第5步 文件下载完后关闭。BlockSender介绍当用户向HDFS读取某一个文件时,客户端会根据数据所在的位置转向到具..原创 2020-08-05 20:44:18 · 1084 阅读 · 0 评论 -
HDFS- 架构图详细解析
HDFS:我们至少应该学习以下内容什么是HDFS及HDFS架构设计?HDFS体系结构简介及优缺点?Hdfs如何存储数据?Hdfs如何读取数据?Hdfs如何写入文件?Hdfs的副本存放策略?如何访问hdfs?Hdfs数据如何复制?Namenode的热备?介绍HDFS(The Hadoop Distributed File System),是被设计成适合运行在通用硬件(commodity hardware)上的 Hadoop 的分布式文件系统。它与其他的分布式系统有非常显著的不同,首先原创 2020-08-05 20:33:09 · 8283 阅读 · 2 评论 -
Hadoop核心组件
Hadoop基本概念Hadoop 生态是一个庞大的、功能齐全的生态,但是围绕的还是名为 Hadoop 的分布式系统基础架构,其核心组件由四个部分组成,分别是:Common、HDFS、MapReduce 以及 YARN。Common 是 Hadoop 架构的通用组件;HDFS 是 Hadoop 的分布式文件存储系统;MapReduce 是Hadoop 提供的一种编程模型,可用于大规模数据集的并行运算;YARN 是 Hadoop 架构升级后,目前广泛使用的资源管理器。参考链接原创 2020-08-05 11:19:35 · 2071 阅读 · 0 评论