Hadoop生态圈(一)
目录
Hadoop特性
Hadoop的三大组件
集群介绍
广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈
Hadoop特性
-
扩容能力(Scalable):Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中。
-
成本低(Economical):Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。
-
高效率(Efficient):通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。
-
可靠性(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。
Hadoop的三大组件
-
HDFS(分布式文件系统):解决海量数据存储
-
YARN(作业调度和集群资源管理的框架):解决资源任务调度
-
MAPREDUCE(分布式运算编程框架):解决海量数据计算
集群介绍
HADOOP 集群具体来说包含两个集群:HDFS 集群和 YARN 集群,两者逻辑上分离,但物理上常在一起。
HDFS 集群负责海量数据的存储,集群中的角色主要有:
NameNode、DataNode、SecondaryNameNode
YARN 集群负责海量数据运算时的资源调度,集群中的角色主要有:
ResourceManager、NodeManager
那 mapreduce 是什么呢?它其实是一个分布式运算编程框架,是应用程序开发包,由用户按照编程规范进行程序开发,后打包运行在 HDFS 集群上,并且受到 YARN 集群的资源调度管理。
Hadoop 部 署 方 式 分 三 种 , Standalone mode ( 独 立 模 式 )、 Pseudo-Distributed mode(伪分布式模式)、Cluster mode(群集模式),其中前两种都是在单机部署。
独立模式又称为单机模式,仅 1 个机器运行 1 个 java 进程,主要用于调试。
伪分布模式也是在 1 个机器上运行 HDFS 的 NameNode 和 DataNode、YARN 的ResourceManger 和 NodeManager,但分别启动单独的 java 进程,主要用于调试。
集群模式主要用于生产环境部署。会使用 N 台主机组成一个 Hadoop 集群。这种部署模式下,主节点和从节点会分开部署在不同的机器上。
我们以 3 节点为例进行搭建,角色分配如下:
node1 NameNode DataNode ResourceManager
node2 DataNode NodeManager SecondaryNameNode
node3 DataNode NodeManager