Hadoop的整体框架
Hadoop由HDFS、MapReduce、HBase、Hive和ZooKeeper等成员组成。
HBase是一个开源的,基于列存储模型的分布式数据库
HDFS是一个分布式文件系统。有着高容错性的特点,并且设计用来部署在低廉的硬件上,适合那些有着超大数据集的应用程序
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算
Hadoop发行版本
查看命令:hadoop version
使用过的版本有:
Hadoop 2.6.0-cdh5.16.2
Hadoop 3.1.1.3.1.0.17-1
Hadoop 3.1.1.3.1.4.0-315
HDFS
NameNode
可以看作是分布式文件系统中的管理者,存储文件系统的meta-data,主要负责管理文件系统的命名空间,集群配置信息,存储块的复制。
DataNode
是文件存储的基本单元。它存储文件块在本地文件系统中,保存了文件块的meta-data,同时周期性的发送所有存在的文件块的报告给NameNode。
Client
就是需要获取分布式文件系统文件的应用程序。
文件写入
1.Client向NameNode发起文件写入的请求
2.NameNode根据文件大小和文件块配置情况,返回给Client所管理部分DataNode的信息。
3.Client将文件划分为多个文件块,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
文件读取
1.Client向NameNode发起文件读取的请求
2.NameNode返回文件存储的DataNode的信息。
3.Client读取文件信息。