Hadoop是什么?
(1)Hadoop是分布式系统基础架构
(2)主要解决数据海量存储与分析的问题
(3)Hadoop指Hadoop生态圈

Google在大数据方面3篇论文
GFS-HDFS:分布式存储
MapReduce-MR:分布式计算
BigTable-HBase:分布式数据库
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
Apache版本最原始(最基础)的版本,对于入门学习最好。最基础,像手动
Cloudera内部集成了很多大数据框架。对应产品CDH。最方便,像自动挡
Hortonworks文档较好。对应产品HDP。
Hadoop优势:
高可靠性:数据有多个副本,某个存储出现问题也不会数据丢失
高扩展性:在集群间分配任务数据。方便扩展数以千计的节点
高效性:并行计算,加快任务处理
高容错性:能自动将失败的任务从新分配
Hadoop的组成:
MapReduce:计算
Yarn:资源调度
HDFS:数据存储
Commom:辅助工具
HDFS:hadoop distributed file system
(1)NameNode(NN)存储文件名、目录结构等。相当于是目录
(2)DataNode(DN)实际存储的数据
(3)Secondary Namenode(22NN):跟隔一段时间对NN备份。
Yarn
RM:大主管,分配资源,负责整个集群的资源管理和分配,是一个全局的资源管理系统。
NM:管理维护单节点资源,向RM汇报该节点资源运行情况。
AM:临时主管,推进业务,负责与 RM 调度器协商以获取资源,将得到的任务进一步分配给内部的任务。
Container:每个节点的资源分成多份,运行不同的任务。

MapReduce架构
(1)Map阶段并行处理数据
(2)Reduce阶段对Map的结果进行汇总
大数据生态体系

1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。结构化数据
2)Flume:Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据; 半结构化数据
3)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统; 数据缓冲区
4)Storm:Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。
5)Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。
6)Flink:Flink是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。
7)Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。
8)Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
9)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
10)ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
网友评论