简单讲Hadoop由HDFS + MapReduce这两个核心组成,HDFS解决了海量数据存储的问题,MapReduce 是海量数据并行计算框架。
HDFS:分布式文件系统:
解决痛点:文件数据大于硬盘容量的限制 ,因此数据被分为若干数据块存在各个数据节点中。
ps:数据块默认为64Mb推荐128Mb,一般数据块会被复制成3份分部存储,占用了3倍的存储空间和网络流量。
优点:适合大文件存储并带有副本策略;
可以构建在廉价的服务器上,并有一定的容错和数据恢复机制;
支持流访问,一次写入多次读取很高效。
NameNode(Secondary NameNode) 、DataNode:
NameNode :主节点,单独机器运行。负责管理文件系统名称空间和控制外部客户机的访问。
Secondary NameNode 可理解为备节点或者为助手节点,它负责定时将主节点的上的edits(记录主节点的操作与改动)同步到自己的fsimages(镜像快照),当主节点发生宕机可能edits会部分丢失,主节点会直接从备节点上拿取fsimages,大大缩短重启时间。
DataNode:单独机器运行的组件,数据节点通过以机架形式组织,机架通过交换机将所有系统连接起来。日常工作为响应主机点的增删命令。主机点通过beatheart去鉴别DataNode的活性。