00-Hadoop入门

Hadoop入门

Hadoop四高

1)高可靠性

Hadoop底层维护多个数据副本,所有即使hadoop某个计算元素或存储故障,也不会造成数据丢失

2)高扩展性

在集群间分配任务数据,可方便的扩展数以千计的节点

3)高效性

在mapreduce的思想下,Hadoop是可以并行工作的,以加快任务处理的速度。

4)高容错性

能够自动将失败的任务重新分配

HDFS缺点:

1)不适合低延迟数据访问,比如毫秒级的存储数据,它做不到

2)无法高效对大量小文件进行存储

存储大量小文件,他会占用大量的NameNode大量的内存来存储文件目录和快信息。这样是不可取的,因为NameNode内存是有限的

小文件的寻址时间会超过读取时间,违反了HDFS的设计目标

3)不支持并发写入、文件随机修改

一个文件只能有一个写,不允许多个线程同时写

仅支持数据追加(append),不支持文件的随机修改

Hadoop组成

Hadoop1.x阶段

HDFS(数据存储)、MapReduce(计算+资源调度)、Common(辅助工具)

1.x时期,mr需要同时处理业务逻辑运算又要资源调度,压力大,耦合度大。

Hadoop2.x阶段

HDFS(数据存储)、MapReduce(计算)、YARN(资源调度)、Common(辅助工具)

Hadoop3.x阶段无变化

  • Hadoop集群包括两个:HDFS集群、YARN集群
  • 两个集群逻辑上分离、通常物理上是在一起的
  • 两个集群都是标准的主从架构的集群

Hadoop架构

HDFS 集群

​ 主角色:NameNode(NN)是Master,它是管理者

  • 存储文件元数据,如文件名、文件目录结构、文件属性,以及每个文件块列表、块所在DataNode等
  • 管理HDFS的名称空间
  • 配置副本策略
  • 处理客户端读写请求

​ 从角色:DataNode(DN) 是Slave,DataNode执行实际的操作

  • 在本地文件系统存储文件块数据 和读写数据块,以及数据的校验和

​ 主角色辅助角色:SecondaryNameNode(SNN) 相当于主角色的秘书

​ 该节点并非NameNode的热备节点。当NameNode挂掉时,它并不能马上替换NameNode并提供服务

​ 它只辅助NameNode,分担NameNode工作量,比如定期合并Fsimage和Edits,并推送给NameNode

  • 每个一段时间对NameNode元数据做备份
  • 紧急情况下,可辅助恢复NameNode

Client客户端

1)文件切片。文件上传HDFS时,Client将文件分成一个个block,然后进行上传;

2)与NameNode交互,获取文件的位置信息;

3)与DataNode交互,读取或写入信息;

4)Client提供了一些命名来管理HDFS,比如NameNode格式化;

5)Client可以通过一些命名来访问HDFS,比如对HDFS增删改查等操作

YARN集群

​ 主角色:ResourceManager(RM)

  • 整个集群资源(cpu、内存等)的老大

​ 从角色:NodeManager(NM)

  • 单个节点服务器资源的老大

​ ApplicationMaster(AM)

  • 单个任务运行的老大

​ Container

  • 容器,相当于一台独立的服务器,里面封装了任务运行时所需资源,内存、cpu、磁盘、网络等

注:集群上可以有很多ApplicationMaster,每个NodeManager上可以有多个Container

Hadoop特征优点

扩容能力(Scalable):Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中。

成本低(Economical):Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。

高效率(Efficient):通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。

可靠性(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。

相关推荐
Data跳动3 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1114 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq4 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq4 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈4 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
Java程序之猿4 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
清平乐的技术专栏4 小时前
Hive SQL 查询所有函数
hive·hadoop·sql
来一杯龙舌兰5 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
小白学大数据6 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥6 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵