1.Hadoop是什么?
Hadoop是一个开源的大数据框架
Hadoop是一个分布式计算的解决方案
Hadoop = HDFS(分布式文件系统) + MapReduce(分布式计算)
HDFS用于解决大数据的存储问题
MapReduce用于解决分布式计算
2.HDFS的概念及优缺点
HDFS有三个重要的概念数据块、NameNode、DataNode
数据块:HDFS在存储数据的时候是以块为单位进行存储的,而非是整个文件进行存储,比如有一个2G的文件,HDFS会将该文件切分成若干块(数据块)分开进行存储,而不是直接将这个2G的文件进行存储。
数据块的默认大小是64M,一般设置为128M,默认情况下,每个数据块备份3分。
3.NameNode 与 DataNode
HDFS由一个NameNode和多个DataNode组成。
NameNode:管理文件系统的命名空间,存放文件的元数据;
维护文件系统的所有文件和目录,文件与数据块的映射;
记录每个文件中各个块所在数据节点的信息。
DataNode:存储并检索数据块;
向NameNode更新所存储块的列表。
注:为了保证系统的高可用性,系统中除了当前使用的NameNode节点之外,还有一台备用的NameNode节点,两台NameNode节点的数据始终保持一致,一旦当前使用的NameNode节点挂掉,备用的NameNode节点会立即代替工作。
4.HDFS 的优缺点
优点:适合大文件存储,支持TB、PB级的数据存储,并且有副本策略;
可以构建在廉价的机器上,并且有一定的恢复和容错机制;
支持流式数据访问,一次写入,多次读取最为高效。
缺点:不适合大量小文件存储(文件的大小小于数据块的大小,也会占据一个数据块)
不适合并发写入,不支持文件随机修改
不支持随机读等低延时的访问方式。