hadoop的架构模型
hadoop的架构模型
1.x的版本架构模型介绍
-
文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据 -
数据计算核心模块:
JobTracker:接收用户的计算请求任务,并分配任务给从节点
TaskTracker:负责执行主节点JobTracker分配的任务
2.x的版本架构模型介绍
第一种:NameNode与ResourceManager单节点架构模型
- 文件系统核心模块:同上
-
数据计算核心模块:
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配
NodeManager:负责执行主节点APPmaster分配的任务
第二种:NameNode单节点与ResourceManager高可用架构模型
- 文件系统核心模块:同上
-
数据计算核心模块:
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分,通过zookeeper实现ResourceManager的高可用
NodeManager:负责执行主节点ResourceManager分配的任务
第三种:NameNode高可用与ResourceManager单节点架构模型
-
文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,其中nameNode可以有两个,形成高可用状态
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
JournalNode:文件系统元数据信息管理 -
数据计算核心模块:
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分
NodeManager:负责执行主节点ResourceManager分配的任务
第四种:NameNode与ResourceManager高可用架构模型
-
文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,一般都是使用两个,实现HA高可用
JournalNode:元数据信息管理进程,一般都是奇数个
DataNode:从节点,用于数据的存储 -
数据计算核心模块:
ResourceManager:Yarn平台的主节点,主要用于接收各种任务,通过两个,构建成高可用
NodeManager:Yarn平台的从节点,主要用于处理ResourceManager分配的任务
apache版本的hadoop三种运行环境的介绍
- standAlone环境:单机版的hadoop运行环境
- 伪分布式环境:主节点都在一台机器上面,从节点分开到其他机器上面 借助三台机器来实现
namenode resourceManager - 完全分布式环境:主节点全部都分散到不同的机器 namenode active 占用一台机器 namenodestandBy占用一台机器 resourceManger active 占用一台机器 resourceManagerstandby占用一台机器
standAlone环境搭建
hadoop的本地库:lib/native 本地库很重要,里面集成了一些C程序,包括一些压缩的支持
bin/hadoop checknative 检测hadoop的本地库,是否支持
默认的apache的版本的压缩方式 snappy不支持
snappy是一种压缩方式:google提供的一种压缩算法 谷歌出品,必属精品
如果压缩的太厉害了,解压的时候CPU消耗会比较大
hadoop 的六个配置文件的作用
core-site.xml:核心配置文件,主要定义了我们的集群是分布式,还是本机运行
hdfs-site.xml: 分布式文件系统的核心配置 决定了我们数据存放在哪个路径,数据的副本,数据的block块大小等等
linux的磁盘空间的查看 df -lh
hadoop-env.sh 配置我们jdk的home路径
mapred-site.xml 定义了我们关于mapreduce运行的一些参数
yarn-site.xml 定义我们的yarn集群
slaves 定义了我们的从节点是哪些机器 datanode nodemanager运行在哪些机器上