hadoop-1-简介

hadoop简介

1、hadoop适用场景
  • 适合:大规模数据、流式数据(写一次,读多次);商用硬件
  • 不适合:低延时的数据访问;大量的小文件;频繁修改文件(基本就是写一次)
2、hadoop架构

架构图

  • hdfs:分布式文件存储;
  • yarn:分布式资源管理;
  • mapreduce:分布式计算;
  • others:利用yarn的资源管理功能实现其他的数据处理方式。
3、hdfs
3.1、简介

hdfs架构

  • 分布式文件系统
    Block数据:
  • 基本存储单位,一般大小为64M。配置大的块主要是因为:1、减少搜寻时间,一般硬盘传输速率比寻道时间要快,大的块可以减少寻道事件;2、减少管理块的数据开销,每个块都需要在NameNode上有对应的记录;3、对数据块进行读写,减少建立网络的连接成本;
  • 一个大文件会被拆分为一个个的块存储于不同的机器,如果一个文件小于Block的大小,那么实际占用的空间为其文件的大小;
  • 基本的读写每次都是读写一个块;
  • 每个块都会被复制到多台机器,默认复制3份。

NameNode

  • 存储文件的metadata(元数据信息),运行时所有数据都保存到内存,整个hdfs可存储的文件数受限于NameNode的内存大小。
  • 一个Block在NameNode中对应一条记录,如果是大量的小文件,则会消耗大量的内存。
  • 数据会定时保存到本地磁盘,但是不保存block的位置信息,而是由DataNode注册时上报和运行时维护;
  • NameNode失效则整个hdfs失效,所以要保证NameNode可用性。

Secondary NameNode

  • 定时与NameNode进行同步,但是NameNode失效后仍然需要手动将其置为主机。

DataNode

  • 保存具体的Block数据
  • 负责数据的读写操作和复制操作
  • DataNode启动时会向NameNode报告当前存储的数据块信息,后续也会定时报告修改信息
  • DataNode之间会进行通信,复制数据块,保证数据的冗余性。

  • 一般用户数据存储在hdfs文件。在一个文件系统中的文件将被划分为一个或多个段/或存在个人数据的节点。这些文件段被称为块。
  • HDFS可以读取或写入的最小量被称为一个块。缺省的块大小为64MB,但它可以增加按需要在hdfs配置来改变。

HDFS的目标

  • 故障检测和恢复:由于hdfs包括大量的普通硬件,部件故障频繁。因此hdfs具有快速和自动故障检测和恢复机制。
  • 巨大的数据集:hdfs有数百个集群节点来管理其庞大的数据集的应用程序。
  • 数据硬件:请求的任务,当计算发生不就得数据可以高效地完成。涉及巨大的数据集特别是它减少了网络通信量,增加了吞吐量。
4、hadoop可靠性
  • DataNode可以失效,DataNode会定时发送心跳到NameNode,若一定时间内NameNode没有收到DataNode的心跳消息,则认为其失效。此时NameNode会将该节点的数据复制到另外的DataNode中
  • 数据可以毁坏。无论是写入时还是硬盘本身的问题,只要数据有问题,都可以通过其他的复制节点读取,同时还会再复制一份到健康的节点中。
  • NameNode不可靠
5、Hadoop YARN
5.1、YARN结构
  • ResourceManager:全局资源管理和任务调度
  • NodeManager:单个节点的资源管理和监控
  • ApplicationMaster:单个作业的资源管理和人物监控
  • Container:资源申请的单位和任务运行的容器
6、ResourceManager
  • 负责全局的资源管理和任务调度。
6.1、资源管理
7、MapReduce
  • 一种分布式的计算方式指定一个Map函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce函数,用来保证所有映射的键值对中每一个共享相同的键组。
8、IO
8.1、步骤
  • 输入文件从hdfs进行读取
  • 输出文件会存入本地磁盘
  • Reducer和Mapper间的网络I/O,从Mapper节点得到Reducer的检索文件
  • 使用Reducer实例从本地磁盘回读数据
  • Reducer输出-回传到HDFS
8.2、串行化
  • 传输、存储都需要
  • Writable接口
  • Avro框架:IDL
8.3、压缩
  • 能够减少磁盘的占用空间和网络传输的量
8.4、完整性
  • 磁盘和网络很容易出错,保证数据传输的完整性一般通过CRC32这种校验方法;
  • 每次写数据到磁盘前都验证一下,同时保存校验码;
  • 每次读取数据时,也验证校验码,避免磁盘问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值