0


大数据学习之Hadoop

​​​​​

分布式存储HadoopHDFS

一、分布式与集群

1.分布式:将多台服务器集中在一起,每台服务器都能实现整个中的不同的业务,可以做不同的事。

举例:做一顿年夜饭,一个人的话花费时间会很久,但我可以多叫两个人来帮助我,一个人去买菜,一个人切菜,一个人炒菜,这样做完年夜饭的效率就大大提高了。

2.集群:所谓集群是指一组独立的计算机系统构成的一多处理器系统,它们之间通过网络实现进程间的通信,让若干台计算机联合起来工作(服务),可以是并行的,也可以是做备份。

总结:简单来说分布式就是多台机器做不同的事,然后组成一个整体,而集群是多台机器做相同的事

如果多人待在一起的话会引起混乱,这里我们引入一个新词叫主从模式

3.主从模式:有一个中心节点(服务器)来统筹其它服务器的工作,统一指挥,统一调派,避免混乱

4.Hadoop就是采用主从模式(中心化模式)的架构。

二、Hadoop框架

1.HDFS:分布式存储框架

2.MapReduce :分布式计算框架

3.Yarn:任务调度器和接收器

三、Hadoop架构图

1.Hadoop1.x

Hadoop1.x是由HDFS和MapReduce组成

HDFS集群

  • namenode:主节点。作用:1.管理整个HDFS集群;2.维护和管理元数据(注:描述数据的数据就叫元数据)
  • datanode:从节点。作用:1.维护和管理源文件;2.向主节点namenode报活;3.负责源文件读与写的操作
  • secondarynode:辅助节点。作用:辅助主节点namenode管理元数据

MapReduce集群

  • JobTracker:主节点。作用:1.任务的接收;2.任务的调度;3.任务的监控;4.资源的调度和分配
  • TaskTracker:从节点。作用:1.接收并执行主节点分配的计算任务

2.Hadoop2.x(第一版已经淘汰,主要记第二版)

由于在第一版中MapReduce集群中的主节点JobTracker任务过于繁重,容易造成单点故障,所以引入了第二版

Hadoop2.x = HDFS+MapReduce+Yarn(Hadoop3.x也是一样的)

HDFS集群:作用同上

Yarn集群:

  • ResourceManager:主节点。作用:1.负责任务的接收;2.负责任务资源的分配与调度
  • nodemanager:从节点。作用:1.负责接收主节点ResourceManager分配过来的任务并进行计算。
  • APPMaster:是一个进程,需要写代码。作用:监控和管理该计算任务。

3.Hadoop集群高可用模式图解

四、HDFS的特点

  • HDFS文件系统可存储超大文件,时效性稍差。
  • HDFS具有硬件故障检测和自动快速恢复功能。
  • HDFS为数据存储提供很强的扩展能力。
  • HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改。
  • HDFS可在普通廉价的机器上运行。

五、HDFS的Shell命令

格式:hadoop fs <args> #既可以操作HDFS,也可以操作本地系统

或者

hdfs dfs <args> #只能操作HDFS系统

  • ls命令,例如hadoop fs -ls / #显示文件列表 hadoop fs –ls -R / #递归显示文件列表
  • mkdir命令,hadoop fs -mkdir /dir1 #创建目录 hadoop fs -mkdir -p /aaa/bbb/ccc创建多级目录
  • put命令, hadoop fs -put /root/1.txt /dir1 #上传文件 hadoop fs –put /root/dir2 / #上传目录(注意,前面是Linux的文件,必须写绝对路径,后者是HDFS路径)
  • get命令,hadoop fs -get /input/1.txt ./ #将HDFS文件拷贝到Linux # 1.txt是HDFS的文件路径, ./Linux的路径.

六、HDFS的架构图

三大机制:

  • 心跳机制:1.datanode会像主节点namenode每隔一段时间(3s)都会发送一次心跳包,作用就是报活,证明我还能正常工作。2.如果namenode一段时间没有收到datanode的心跳包,就会认为datanode宕机了,就会将该datanode的块信息传给其他活跃的datanode存储。3.每隔6个小时,所有的datanode会向namenode汇报一次自己完整的块信息,让namenode进行更新校正。
  • 负载均衡:namenode会让所有的datanode资源使用率尽量保持一致。
  • 副本机制:可以提高容错率,默认副本数为3

Hadoop基础内容就说这么多了,感兴趣的小伙伴可以看我下一篇内容,我会分享如何使用Hadoop集群。

标签: 大数据 学习 hadoop

本文转载自: https://blog.csdn.net/m0_62371702/article/details/135444333
版权归原作者 热爱编程的小魏 所有, 如有侵权,请联系我们删除。

“大数据学习之Hadoop”的评论:

还没有评论