一、什么是hadoop

 

1.1 hadoop组成

1、Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台。允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理。

狭义上说,Hadoop指Apache这款开源框架,它的核心组件有:

HDFS(分布式文件系统):解决海量数据存储

YARN(作业调度和集群资源管理的框架):解决资源任务调度

MAPREDUCE(分布式运算编程框架):解决海量数据计算

 

2、广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。

hadoop 系统架构 hadoop的架构图_HDFS


 

当下的Hadoop已经成长为一个庞大的体系,随着生态系统的成长,新出现的项目越来越多,其中不乏一些非Apache主管的项目,这些项目对HADOOP是很好的补充或者更高层的抽象。比如:

 

框架

用途

HDFS

 分布式文件系统

MapReduce

分布式运算程序开发框架

ZooKeeper

分布式协调服务基础组件

HIVE

基于HADOOP的分布式数据仓库,提供基于SQL的查询数据操作

FLUME

日志数据采集框架

oozie

工作流调度框架

Sqoop

数据导入导出工具(比如用于mysql和HDFS之间)

Impala

基于hive的实时sql查询分析

Mahout

基于mapreduce/spark/flink等分布式运算框架的机器学习算法库

 

二、hadoop2.x架构

 

2.1 高可用架构图

 

hadoop 系统架构 hadoop的架构图_大数据_02

 

左边是hadoop文件系统、右边是hadoop计算部分

1.HDFS分布式文件系统

NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,其中NameNode可以有两个,形成高可用状态

DataNode:集群当中的从节点,用于数据的存储

JournalNode:元数据信息管理进程,一般都是奇数个

 

2.yarn资源调度系统

ResourceManager:Yarn平台的主节点,主要用于接收各种任务,通过两个,构建成高可用

NodeManager:Yarn平台的从节点,主要用于处理ResourceManager分配的任务

 

zkfc是什么?

ZooKeeperFailoverController

它是什么?

是Hadoop中通过ZK实现FC功能的一个实用工具。

主要作用:作为一个ZK集群的客户端,用来监控NN的状态信息,主备NN的切换

谁会用它?每个运行NN的节点必须要运行一个zkfc

注意:ResourceManager可以有多个

注意: namenode只能有2个