很多人不知道,大数据与Hadoop、HDFS有什么关系。
Hadoop是一个开源的大数据分析软件,Hadoop的框架最核心的设计就是:HDFS和MapReduce。其中HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。
HDFS(Hadoop分布式文件系统,Hadoop Distributed File System)是一个高度容错性的系统,适合部署在廉价的机器上,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
HDFS 适用场景:大文件存储、流式数据访问。 HDFS 不适用场景:大量小文件、随机读写、低延迟读写(实时读写)、经常需要修改;
HDFS采用了主从(Master/Slave)结构模型:一个HDFS集群是由一个NameNode和若干个DataNode组成的。
主节点NameNode:管理读写请求(不是执行读写请求),管理命名空间,支持 HA 高可靠机制,管理元数据。
从节点DataNode:执行读写请求,存储数据库(存放真实数据),运行多个实例,周期性上报数据块信息给NameNode。
HDFS 的 Block:默认保存3份;数据块大小:128MB。Block 越大,寻址开销越小,开销越小越好。
HDFS 的shell 命令:删除(-rm),上传(-put),下载(-get),查看文件内容(-cat),查看目录(-ls),创建目录(-mkdir)。
HDFS 应对单点故障措施:采用主、备NameNode 机制,用于故障恢复,和是否有数据副本无关。