Hadoop简介
在进行环境搭建之前,先简要回顾一下Hadoop的基本知识。
Hadoop背景
Hadoop是面向集群的分布式并行计算框架(cluster、distributed、parallel),其核心组成是HDFS分布式文件系统和MapReduce并行编程模型。在开发者的业务背景下(如数据分析项目),Hadoop可被视为一套工具,它解决了并行计算中的种种复杂问题(如分布式存储,任务调度,负载均衡,容错机制…),让我们能够绕开底层细节,专注于业务自身的实现。
Hadoop主要经历了Hadoop1和Hadoop2两个时代,Hadoop2在Hadoop1的HDFS+MapReduce的基础上,引入了YARN资源管理系统,hadoop核心区别如下图示:
Hadoop的快速发展与大数据、云计算等新兴领域的崛起相辅相成,围绕Hadoop形成的生态系统现已十分庞大,相关内容按下不表。
基本原理回顾
这里简要回顾一下Hadoop的基本工作机制,包括HDFS和MapReduce两部分。
HDFS
HDFS(Hadoop-分布式文件系统)遵循主从架构(Master-Slave)模式。一个主节点NameNode,负责整个文件系统命名空间(NameSpace)的管理与维护,同时面向客户端(HDFS Client)提供文件读写等操作控制;多个从节点DataNode则构成文件实际的存储集群。此外HDFS为提升系统生存弹性而精心设计了副本机制(Replication)。其它需明确的HDFS术语包括:块(Block)、通信包(Packet)、源数据(MetaData)、Secndary NameNode冷备份等等。
HDFS的架构示意图如下所示:
文件系统最基本的任务是读/写,对于HDFS为用户(Client)提供了完备的读写接口。基本的模式是通过访问NameNode的命名空间映射信息,建立起Client与DataNode File之间的读写通道,生成流对象来进行读写操作。下图是读写文件示意图: