Hadoop基础知识点

简介: Hadoop基础知识点

@TOC

基础知识

吞吐量

首先在书面解释时,速率是额定或标称的,但是实际传输时,其实不稳定的,吞吐量就是取平均值。假设你从学校骑电动车回家,这条公路限速80km/h,这就可以理解成“带宽”,也就是“最高传输速率”。所骑电动车厂家宣称最高时速30km/h,这可以理解成“速率”,也就是“额定速率或标称速率”。但是你不可能全程以30km/h速度行驶,可能会碰到红灯或者堵车,这时你的速度就会放慢了,这条路的长度除以你行驶时间所得平均行驶速度,就可以理解成“吞吐量”。

数据块

每个磁盘都有默认的数据块大小,数据块是磁盘读、写的最小单位。HDFS同样也有块(block)的概念,但是比磁盘的数据块大的多,默认为128mb,作为独立的存储单元,但与面向单一磁盘的文件系统不同的是,HDFS中小于一个数据块大小的文件不会占据整个块的空间,(例如1mb的文件储存在128mb的块中,文件只使用1mb的储存空间,而不是128mb)

并行,并发,串行三者之间的区别

1、 我中午12:00开始吃饭,吃到一半,女朋友打来一个电话,我需要等到我吃完饭才可以接电话,这说明我不支持并行与并发,我的运作方式属于串行,串行有一个执行单元(只有一个执行任务单元的cpu核)。
2、我中午12:00开始吃饭,吃到一半,女朋友打来一个电话,我可以接起电话,跟女朋友打完电话继续吃饭,这说明我支持并发与串行
3、我中午12:00开始吃饭,吃到一半,女朋友打来一个电话,我可以一边接电话一边吃饭,这说明我支持并行与并发。(并行有多个任务执行单元,多个任务可以同时执行)
4、所谓并发,是指我有没有同时处理多个任务的能力,不一定要同时。

进程、线程

  1. 一个进程包括多个线程。
  2. 不同进程之间数据很难共享。
  3. 同一个进程下的不同线程数据很容易共享。
  4. 进程比线程消耗更多计算机资源。
  5. 进程之间互不影响,但是一个进程挂掉,他所在的整个进程都会挂掉。
  6. 进程可以拓展到多机,适合多核与分布式。
  7. 进程使用的内存地址可以限定使用量

HDFS概述

1、hsfs集群有两类节点(管理节点-工作节点)的运行模式,即一个namenode与多个datanode。
2、客户端(client)代表用户通过与namenode和datanode交互来访问整个系统,客户端提供一个类似于posix(可以移植操作系统界面)的文件系统接口,因此用户不需要知道datanode与namenode也可以实现其功能。

DataNode

datanode是文件系统的工作节点,它根据需求储存或者检索数据块(受客户端与namenode调度),并定期向namenode发送datanode储存的数据块列表(心跳信息)。负责为客户端提供读写服务。

NameNode

namenode负责储存文件的元数据.(文件分块信息,储存节点信息,副本储存等信息)。

1.namenode管理文件系统的命名空间,它维护者文件系统树及整棵树所有的文件和目录,这些信息以两个文件形式永久保存在本地磁盘(命名空间经镜像文件和编辑日志文件),镜像文件为:fsimage(用于维护hdfs中所有文件和文件夹的元数据),edits:编辑日志文件(用于记录所有针对文件的创建,删除,修改等操作)

2.namenode也记录着每个文件中各个快的数据节点信息,但它并不永久保存数据节点的位置信息,因为这些信息在系统启动时根据数据节点信息重建。

3.namenode会定时接受datanode的心跳信息,如果发现datanode节点有故障,就会重新为失败的任务分配节点。

4.负责接收client(客户端)的请求,提供metadata数据信息。

5。namenode的启动:以只读方式启动,加载fsimage文件到内存,edits文件会定期合并,形成新的fsimage文件用来替代旧的fsimage文件。

6.没有namenode,文件系统无法使用,如果namenode服务器宕机,文件系统上的所有文件将丢失,因为我们不知道如何根据datanode快重新拼接文件。

为什么HDFS(分布式文件系统)不适合批量存储小文件

  1. 小文件数量过多(例如图片)会占用批量占用namenode的内存,浪费block,因为每个储存在HDFS中的文件的元数据(包括目录树,位置信息,命名空间镜像,文件编辑信息)都会在namenode中占用150b的内存,如果namenode存储空间满了,就不能继续存储新文件了。
  2. 如果有多小文件,会造成寻道时间>=读取文件时间(传输文件时间=寻道时间+读取文件时间),这与HDFS的原理想违背,hdfs的设计是为了减小寻道时间,是其远小于读取文件的时间。
目录
相关文章
|
7月前
|
分布式计算 资源调度 监控
Hadoop生态系统深度剖析:面试经验与必备知识点解析
本文深入探讨了Hadoop生态系统的面试重点,涵盖Hadoop架构、HDFS、YARN和MapReduce。了解Hadoop的主从架构、HDFS的读写流程及高级特性,YARN的资源管理与调度,以及MapReduce编程模型。通过代码示例,如HDFS文件操作和WordCount程序,帮助读者巩固理解。此外,文章强调在面试中应结合个人经验、行业动态和技术进展展示技术实力。
142 0
|
分布式计算 负载均衡 Hadoop
|
存储 分布式计算 Java
|
存储 缓存 分布式计算
Hadoop知识点总结——MapReduce的Shuffle
从Map输出到Reduce输入的整个过程可以广义地称为Shuffle。Shuffle横跨Map端和Reduce端,在Map端包括Spill过程,在Reduce端包括copy和sort过程
144 0
|
存储 分布式计算 监控
|
存储 分布式计算 Hadoop
|
分布式计算 安全 Hadoop
|
存储 分布式计算 Hadoop
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
177 6
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
71 2