大数据之路系列之Hadoop(03)

本文介绍了Hadoop的核心组成部分HDFS、MapReduce和YARN的基本原理及应用,涵盖了Hadoop集群的部署、管理命令和HDFS的工作机制。此外,还探讨了Hadoop的高可用性和扩展性解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大数据之路系列之Hadoop核心理论(03)

提示:只涉及面试或者实际中核心的内容



文章链接

链接: link


提示:以下是本篇文章正文内容,下面案例可供参考

一、初识Hadoop

1.Hadoop主要包含三大组件:HDFS+MapReduce+YARN

  • HDFS负责海量数据的分布式存储
  • MapReduce是一个计算模型,负责海量数据的分布式计算
  • YARN主要负责集群资源的管理和调度

2.webui页面(hadoop3)

  • HDFS webui界面:http://node01:9870
  • YARN webui界面:http://node01:8088

3.集群节点之间时间同步
ntpdate -u ntp.sjtu.edu.cn
[root@bigdata01 ~]# vi /etc/crontab
[root@bigdata01 ~]# * * * * * root /usr/sbin/ntpdate -u ntp.sjtu.edu.cn

3.进程
NameNode、SecondaryNameNode、DataNode是HDFS服务的进程
ResourceManager、NodeManager是YARN服务的进程

4.副本数量设置
hdfs中根据从节点数量设置副本数量,文件副本的数量<=从节点数量

5.启动/停止命令
sbin/start-all.sh 、 sbin/stop-all.sh

6.读写文件流程
在这里插入图片描述

二、hdfs命令

  1. 查看目录下的文件:hdfs dfs -ls hdfs://bigdata01:9000/ 。其实后面hdfs的url这一串内容在使用时默认是可以省略的,因为hdfs在执行的时候会根据HDOOP_HOME自动识别配置文件中的fs.defaultFS属性,简写:hdfs dfs -ls /
  2. 上传文件:hdfs dfs -put xx.txt /
  3. 查看内容: hdfs dfs -cat /xx.txt
  4. 下载到本地当前目录:hdfs dfs -get /xx.txt .
  5. 创建目录: hdfs dfs -mkdir /xx
  6. 创建多级目录:hdfs dfs -mkdir -p /xx/xx.txt
  7. 递归查看所有的目录信息:hdfs dfs -ls -R /
  8. 删除文件:hdfs dfs -rm /xx.txt
  9. 删除文件夹:hdfs dfs -rm -r /xx
  10. 统计根目录下文件的个数:hdfs dfs -ls / |grep /| wc -l
  11. 统计根目录下每个文件的大小,最终把文件名称和大小打印出来: hdfs dfs -ls / |grep / | awk ‘{print $8,$5}’

7.HDFS体系结构
主节点称为 NameNode ,NameNode支持多个。
从节点称为 DataNode ,DataNode支持多个。
还有一个节点配置SecondaryNameNode 这个也可以配置在主节点上。
他们之间的关系:公司BOSS:NameNode(分配任务),秘书:SecondaryNameNode(辅助老板),员工:DataNode(执行任务)。

8.namenode介绍
namenode是整个文件系统的管理节点,主要维护目录信息,文件对应的数据块,接收用户的请求。
9.SecondaryNameNode介绍
SecondaryNameNode主要负责定期的把edits文件中的内容合并到fsimage中,这个操作称为checkpoint。注意:在NameNode的HA架构中没有SecondaryNameNode进程,文件合并操作会由standby NameNode负责实现,所以在Hadoop集群中,SecondaryNameNode进程并不是必须的。

10.DataNode介绍
DataNode负责数据的真实存储。重点两个概念:block、replication。
block:默认128MB

11.总结
每次启动都需要DataNode节点同步block信息到namenode,所以数据越多每次启动越慢。
namenode启动会加载元数据信息到内存,每份文件不论大小都恒定占用150B内存。所以不适合存储小文件。

11.高可用(HA)在这里插入图片描述
指的是在一个集群中存在多个NameNode,分别运行在独立的物理节点上。在任何时间点,只有一个NameNode是处于Active状态,其它的是处于Standby状态。使用HA的时候,不能启动SecondaryNameNode,会出错。
之前是SecondaryNameNode负责合并edits到fsimage文件 那么现在这个工作被standby NN负责了。

11.HDFS的高扩展(Federation)
在这里插入图片描述
这种设计可提供以下特性:

1:HDFS集群扩展性。多个NameNode分管一部分目录,使得一个集群可以扩展到更多节点,不再因内存的限制制约文件存储数目。

2:性能更高效。多个NameNode管理不同的数据,且同时对外提供服务,将为用户提供更高的读写吞吐率。

3:良好的隔离性。用户可根据需要将不同业务数据交由不同NameNode管理,这样不同业务之间影响很小。


总结

https://naotu.baidu.com/file/f66f857cb7f271b326ab5521a9030358?token=cac593a0998711d6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

居高声自远,非是藉秋风

千山万水总是情,赏个一块行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值