Hadoop概述

1.Hadoop是什么?解决什么问题?

Hadoop是由Apache基金会所开发的分布式基础框架。
主要解决:海量数据的存储和海量数据的分析计算问题

2.三大并行版本

hadoop tb解决方案 hadoop主要解决的问题_hadoop

3.Hadoop的优势

(1)高可靠性:Hadoop底层维护多个数据副本(3个),Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
(2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点
(3)高效性:在MapReduce的思想下,Hadoop是并行操作的,以加快任务处理的速度。
(4)高容错性:能自动将失败的任务重新分配

4.Hadoop组成(面试重点)

Hadoop1.x和Hadoop2.x的区别

hadoop tb解决方案 hadoop主要解决的问题_Hadoop_02

Hadoop1.x 与 Hadoop2.x相比

第一代耦合性较大

4.1.HDFS架构

(1)NameNode:存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表以及块所在的DataNode。
(2)DateNode:在本地文件系统存储文件块数据以及块数据的检验和。
(3)SecondaryNameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

4.2Yarn架构

(1)ResourceManager(RM):整个集群资源
处理客户端请求、监控NodeManager、启动或监控ApplicationMaster
(2)NodeManager(NM):单个节点资源
管理单个节点上资源、处理来自RM命令、处理来自AM命令
(3)ApplicationMaster(AM)
负责数据切分、为应用程序申请资源并分配给内部任务、任务监控和容错
(4)Continer
Yarn中的资源抽象,它封装了某个节点上的多维度资源,如内存,CPU,磁盘、网络

4.3MapReduce架构

(1)Map:并行处理输入数据
(2)Reduce:对Map结果进行汇总

5.相关知识

1)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
(1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
(2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
(3)支持通过Kafka服务器和消费机集群来分区消息。
(4)支持Hadoop并行数据加载。
2)Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
3)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析
4)Mahout:Apache Mahout是个可扩展的机器学习和数据挖掘库。
5)ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

6.Hadoop调度器

(1)默认调度器FIFO:先进先出
(2)计算能力调度Capacity Scheduler:占用资源小,优先级高的先执行
(3)公平调度器Fair Scheduler:同一队列中的作业公平共享队列中所有资源

7.如何安装配置一个Hadoop

安装JDK并配置环境变量
关闭防火墙
配置hosts文件
设置SSH免密登录
解压缩Hadoop安装包,配置环境变量
修改配置文件
格式化hdfs文件系统
启动Hadoop