一、什么是hadoop
1.1 hadoop组成
1、Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台。允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理。
狭义上说,Hadoop指Apache这款开源框架,它的核心组件有:
HDFS(分布式文件系统):解决海量数据存储
YARN(作业调度和集群资源管理的框架):解决资源任务调度
MAPREDUCE(分布式运算编程框架):解决海量数据计算
2、广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。

当下的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计算部分
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个
本文介绍了Hadoop,它是Apache用Java实现的开源软件框架,用于处理大规模数据。狭义上核心组件有HDFS、YARN、MAPREDUCE;广义指Hadoop生态圈。还阐述了Hadoop2.x的高可用架构,包括HDFS和Yarn系统各节点功能,以及zkfc的作用。

5414

被折叠的 条评论
为什么被折叠?



