➢HDFS模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据SecondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理DataNode:集群当中的从节点,主要用于存储集群当中的各种数据。
➢数据计算核心模块:
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配。
NodeManager: 负责执行主节点分配的任务。
⚫集群简介
HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起。
➢HDFS集群
NameNode、DataNode、SecondaryNameNode
➢YARN集群
ResourceManager、NodeManager
⚫集群搭建方式
1、Standalone mode(单机模式)
单机模式,1个机器上运行HDFS的NameNode和DataNode、YARN的ResourceManger和NodeManager,主要用于学习和调试。
2、Cluster mode(集群模式)
集群模式主要用于生产环境部署。会使用N台主机组成一个Hadoop集群。这种部署模式下,主节点和从节点会分开部署在不同的机器上。
⚫HDFS(Hadoop Distributed File System)是Apache Hadoop 项目的一个子项目. Hadoop 非常适于存储大型数据(比如TB 和PB), 其就是使用HDFS 作为存储系统. HDFS 使用多台计算机存储文件, 并且提供统一的访问接口, 像是访问一个普通文件系统一样使用分布式文件系统.
⚫HDFS的特点
HDFS文件系统可存储超大文件,时效性稍差。
HDFS具有硬件故障检测和自动快速恢复功能。
HDFS为数据存储提供很强的扩展能力。
HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改。
HDFS可在普通廉价的机器上运行。
⚫HDFS的架构
HDFS采用Master/Slave架构
一个HDFS集群有两个重要的角色,分别是Namenode和Datanode。
HDFS的四个基本组件:HDFS Client、NameNode、DataNode和Secondary NameNode。
⚫Client
1、就是客户端。
2、文件切分。文件上传HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储
3、与NameNode 交互,获取文件的位置信息。
4、与DataNode 交互,读取或者写入数据。
5、Client 提供一些命令来管理 和访问HDFS,比如启动或者关闭HDFS。
⚫NameNode
1、就是 master,它是一个主管、管理者。
2、管理 HDFS 元数据(文件路径,文件的大小,文件的名字,文件权限,文件的block切片信息….)。
3、配置副本策略。
4、处理客户端读写请求。
⚫DataNode
1、就是Slave。NameNode 下达命令,DataNode 执行实际的操作。
2、存储实际的数据块。
3、执行数据块的读/写操作。
4、定时向namenode汇报block信息。
⚫Secondary NameNode
1、并非 NameNode 的热备。当NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务。
2、辅助 NameNode,分担其工作量。
3、在紧急情况下,可辅助恢复 NameNode。
⚫Shell命令介绍
1、ls 显示文件列表
2、ll 显示详细文件列表
3、mkdir 创建目录,该命令不能跨文件系统
4、rm 删除参数指定的文件和目录
5、cp 将文件拷贝到目标路径中
6、cat 将参数所指示的文件内容输出到控制台
7、put 将单个的源文件或者多个源文件srcs从本地文件系统上传到目标文件系统中。
8、get 将HDFS文件拷贝到本地文件系统。
9、reboot 重启