Hadoop2.x架构#HDFS三大机制(副本机制、心跳机制、负载均衡)#Hive架构图#非常重要非常重要非常重要!!!!!!!!!!
这里写目录标题
7:配置本地映射
第一步:找到需要修改文件地址(windows)
C:\Windows\System32\drivers\etc\hosts
[注意!!这里直接修改可能没有权限,拉出来(桌面),修改后在替换]
第二步:添加虚拟机和本机映射关系
192.168.88.161 node1 node1.itcast.cn
192.168.88.162 node2 node2.itcast.cn
192.168.88.163 node3 node3.itcast.cn
第三步:替换之前hosts文件
注意:正常来说,hosts文件修改后生效。
异常!!-重启 -10分钟
拓展:集群关闭
第一步:关闭HDFS
1:[root@node1 sbin]# ./stop-all.sh
第二步:关闭历史服务
[root@node1 sbin]# mr-jobhistory-daemon.sh stop historyserver
第三步:关闭虚拟机
[root@node1 sbin]# shutdown -h now
[root@node2 sbin]# shutdown -h now
[root@node3 sbin]# shutdown -h now
8:HDFS文件特点 - 思考
HDFS文件系统可存储超大文件,时效性稍差。
HDFS具有硬件故障检测和自动快速恢复功能。
HDFS为数据存储提供很强的扩展能力。
HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改。
HDFS可在普通廉价的机器上运行
9: Hadoop2.x架构#HDFS三大机制(副本机制、心跳机制、负载均衡)#Hive架构图





10.个人解读(仅供参考)
目前的个人理解
hive(就是一个有一定权利的翻译,可以这么说):
我是这么理解这个流程的,就是我编写了一段sql (包括建表语句,数据等等),让后我采用了远程服务(dataGrip 2024.2.2)的连接方式,,解析器先检查我的sql语法是否正确,然后编译器解释了一下并上报这个(mr)任务,然后优化器这个军师优化了一下,(然后这里会把元数据单独提出来,就是表名,字段,字段类型等等,这里为什么要把元数据提出来,不上报,我抽象的理解是表名,字段,字段类型等等数据相比较很小很小没必要提交,直接存在MySQL里面(rdbms数据库)可能更方便,效率更高,就像一个员工干一个活只会收集任务提交,都不能直接处理一部分活,那还要这个员工干什么)
Yarn(就是个计算的):
最后让执行器大哥去提交执行,提交给了好几个领导(maperduce, Tez,Spark),这几个领导都可以传达这个任务给Hadoop,然后Hadoop把这个任务给yarn集群,yarn集群里面的resourcemanager主节点(可以说是一个的资源管理器),主节点又下放这个任务给一个或多个nodemanage从节点(可以说是一些小的资源管理器)(看情况负载均衡),然后从节点就去开启APPmaster这个进程,然后这个APPmaster进程就分析向HDFS报告需要多少内存多少存储来计算,计算完了后
HDFS(就是个存储的):
HDFS就进行存储,存储这个活就是Namenode主节点负责的,活多了一个主节点管理分配不过来,就找了一个秘书(secondarynamenode辅助节点)来辅助一下,一起分配给下面的员工(datanode从节点)去干活 (主节点会对源数据重新定义,把数据的路径的索引定义为元数据,然后告诉下面的员工这个活去哪里干,然后默认分配给三个(三副本:这里我抽象一下源数据过来了NameNode肯定要对源数据进行一个管理,就像一根300m长的柑子放入冰箱,太长放入肯定是要截断的,你截断又不能截断得稀碎,否则就会破坏大体结构,损失丢失等等情况,所以就有个默认的标准128m把它分为128m,128m,44m就可以放入了,这里抽象一下:HDFS就是负责存储的,你文件切分的活是属于计算了,我HDFS我高冷我不干,我就负责存储,那就应该是APPmaster这个进程最后提交是时候把文件切分再提交的)),然后回过来可能是这个活比较严肃,下面员工每3秒就要向Namenode主节点汇报情况,如果你超过630秒(一次3s,等你10次,30s,Namenode主节点我就高冷(因为要管理很多从节点,忙不过来),就给你两次机会,一次等你300s,一共就是630s)没有向Namenode主节点汇报就直接开除,然后呢每隔6小时所有人开个会,汇报一下目前的工作进度.(工作分配这里可能不可能就分配给一个员工累死一个员工吧,所以就进行了均衡分配,负载均衡)(然后你这里虽然你把这个员工给开除了,但是也不用担心,公司其它员工有备份,重新调度一下,找个新员工一样指导一下一样干活): 心跳机制, 负载均衡,副本机制
HDFS(Hadoop Distributed File System)与 YARN(Yet Another Resource Negotiator)在 Hadoop 生态系统中扮演着不同但互补的角色。它们在逻辑上是分层的,但在物理上通常是统一部署的。具体来说:
11. HDFS与yarn是逻辑上分层物理上一致
``
逻辑层面
-
HDFS(存储层):
- 功能:负责数据的存储和管理。它提供了高容错性、高吞吐量的数据访问能力,适合处理大规模的数据集。
- 职责:管理数据的分块存储、副本策略、数据的读写操作等。
-
YARN(资源管理与调度层):
- 功能:负责集群资源的管理和任务调度。它协调各个应用程序在集群中的资源分配,确保高效利用集群资源。
- 职责:管理计算资源(如CPU、内存)、调度作业、监控任务执行等。
物理层面
在典型的 Hadoop 集群部署中,HDFS 和 YARN 通常会在相同的物理节点上共同运行。这意味着每个工作节点(通常称为 DataNode 和 NodeManager)同时承担存储和计算的任务:
- DataNode:属于 HDFS,负责存储数据块并处理数据读写请求。
- NodeManager:属于 YARN,负责管理该节点的计算资源,执行分配给它的任务。
这种物理上的统一部署有以下优势:
- 数据本地性:计算任务可以尽量安排在存储有相关数据的节点上,减少数据传输的开销,提高效率。
- 资源利用率:通过在同一节点上同时运行存储和计算服务,可以更灵活地分配资源,优化集群的整体性能。
灵活性与扩展性
虽然在大多数情况下 HDFS 和 YARN 是在相同的物理节点上部署,但 Hadoop 的架构也支持灵活的部署方式。例如,在一些大型集群或特定应用场景下,可能会选择将存储节点和计算节点分离,以实现更高的扩展性和资源隔离。不过,这种部署方式相对复杂,需要额外的配置和管理。
总结
- 逻辑上:HDFS 和 YARN 是分层的,分别负责存储和资源管理/计算。
- 物理上:通常在相同的物理节点上统一部署,以实现数据本地性和高效资源利用。
这种逻辑分层与物理统一的设计,使得 Hadoop 集群能够在大规模数据处理和资源管理方面表现出色,同时具备较高的灵活性和扩展性。
12.生活中的例子说明 HDFS 与 YARN 之间的关系
当然,可以通过一个日常生活中的例子来形象地说明 HDFS 与 YARN 之间的关系和协作方式。
类比:图书馆与图书管理员
1. 图书馆(Library)作为 HDFS 的类比:
-
功能与职责:
- 存储:图书馆负责收藏和存储大量的书籍,确保书籍有序地陈列在不同的书架上。
- 管理:图书馆制定分类规则、书籍借阅政策,确保书籍的有序存取和维护。
-
对应 HDFS:
- HDFS 负责存储大规模的数据集,将数据分块存储在多个数据节点(DataNodes)上,并管理数据的复制和容错。
2. 图书管理员(Librarian)作为 YARN 的类比:
-
功能与职责:
- 资源管理:图书管理员负责管理图书馆内部的资源,比如安排谁可以借阅哪些书籍,协调借阅请求。
- 任务调度:当有读者需要特定书籍时,图书管理员决定由哪个人或哪个区域提供服务,确保高效利用图书馆的资源。
-
对应 YARN:
- YARN 负责管理计算资源(如 CPU 和内存),调度各种计算任务,确保集群内的资源得到高效利用和分配。
3. 结合在一起的工作方式:
-
物理统一:
- 在一个图书馆里,图书馆的存储设施(书架、存书区域)和图书管理员常常在同一个建筑内协同工作。
- 类似地,在 Hadoop 集群中,HDFS 的存储节点(DataNodes)和 YARN 的资源管理节点(NodeManagers)通常部署在同一台物理服务器上。
-
协同优势:
- 数据本地性:图书管理员知道每本书存放在图书馆的哪个位置,因此当读者需要某本书时,可以快速将其提供给读者。同样,YARN 可以将计算任务分配到存有相关数据的节点,减少数据传输,提高效率。
- 资源优化:图书馆通过图书管理员有效管理借阅流程,确保书籍和服务得到最佳利用。YARN 通过优化资源调度,提升集群的整体性能和资源利用率。
4. 灵活性与扩展性:
- 独立扩展:
- 如果图书馆规模扩大,可能会增加更多的图书馆员或扩建设施,以适应更多的书籍和读者需求。同样,HDFS 和 YARN 也可以根据需要独立扩展,虽然在大多数情况下它们共享物理资源,但根据需求也可以进行分离部署以提升性能或实现特定的架构优化。
总结
通过图书馆与图书管理员的类比,可以清晰地看到:
- HDFS(图书馆) 负责存储和管理大量的数据(书籍)。
- YARN(图书管理员) 负责管理和调度这些数据的使用(借阅和资源分配)。
这两个部分在逻辑上分工明确,但在物理上通常协同工作,共同确保整个系统的高效运行。
更多推荐



所有评论(0)