初识Hadoop,Hadoop知识小结

初识Hadoop,Hadoop知识小结

文章名称:初识Hadoop,Hadoop知识小结

文章内容:将简单描述Hadoop的知识点,和一些概念的东西

文章作者:爱划水的潇洒哥

提示:以下内容为个人学习的总结,更多详细资料需您自行查阅。

前言:Hadoop采用Java语言开发,是对Goolgle的 MapReduce、GFS 和 BigData等核心技术的开源实现。基于谷歌的三驾马车开源实现的分布式大数据开发平台


目录

目录

        Hadoop???

什么是Hadoop?

Hadoop两大功能

Hadoop优缺点

Hadoop核心组件

Hadoop生态圈


Hadoop???

补充:什么是分布式? 将一个大任务拆成许多小任务,然后独立完成,互不干扰 分布式与集群区别
分布式:一个业务拆成多个子业务,部署在多个服务器上(一个大蛋糕切成许多小蛋糕,每个人自己吃自己的蛋糕。)
集群:同一个业务,部署在多个服务器上(搬一个大东西,需要许多人一起搬(少一个人也可以搬,但是需要付出更多的力气))

(以后也可以专门写一篇集群和分布式的区别,和相对应的功能)

什么是Hadoop?

通俗来说:有100MB的数据你可能能够简单处理,但是来了100GB,100TB,你就麻了不知道怎么处理。这时候Hadoop它来了,总结:Hadoop就是存储海量数据和分析海量数据的工具

专业来说: (1)Hadoop是一个由Apache基金会所开发的一个开源计算框架(高可靠性、良好的扩展性) (2)主要解决海量数据的存储和海量数据的分析计算问题 (3)广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈

Hadoop的优势在于处理 大规模分布式数据的能力,而且所有的数据处理作业都是批处理,所有要处理的数据都要求在本地,任务的处理都是高延迟的。

MapReduce的处理过程虽然是基于流式的,但是处理的数据不是实时数据,也就是说Hadoop在实时性数据处理上不占优势,因此,Hadoop不适合于开发Web程序。

GFS可以解决在网络抓取和索引过程中产生的超大文件存储需求的问题,MapReduce框架可用于处理海量网页的索引问题。


Hadoop两大功能

  • 提供海量数据的存储服务

  • 提供分析海量数据框架及运行平台

分布式存储 + 分布式计算平台


Hadoop优缺点

Hadoop优点

  • 高可靠:按位存储和处理数据的能力强,可靠性强

  • 高扩展性(高可用):用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性。

  • 高效性。能在节点间动态地移动数据,并保证各个节点的动态平衡,所以处理速度非常快。

  • 高容错性。能够自动保存数据的多个副本,且能够将失效的任务重新调度计算。

  • 能够存储在廉价机器上,有着成熟的生态圈

Hadoop缺点

  • 不适合存储大量的小数据文件

  • 不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。(推荐使用HBase)

  • 不支持多用户写入和随机文件修改 (只能有一个写入者,文件只能执行追加操作)

Hadoop 3.x

HDFS : 文件存储---具有高可靠性、高吞吐量的分布式文件系统。

MapReduce:计算---分布式离线并行计算框架。

Yarn: 资源管理---负责作业调度与集群资源管理的框架。

(common:公用组件)---为其他Hadoop模块提供基础设施


Hadoop核心组件

HDFS

HDFS是Hadoop的分布式文件存储系统。从用户角度看,和其他分布式文件系统没有什么区别,都具有创建文件、删除文件、移动文件和重命名文件等功能。

但HDFS是用来设计存储大数据的,并且是分布式存储,所以所有特点都与大数据和分布式有关。

为了满足大数据处理需求,对超大文件的访问、读操作比例远超过写操作、集群中的节点极易发生故障造成节点失效等问题,从技术上进行了优化。

MapReduce

MapReduce是一个分布式计算框架,是Hadoop的一个基础

组件。分为Map和Reduce过程,是一种将大任务细分处理再汇

总结果的一种方法。

MapReduce的主要吸引力在于:它支持使用廉价的计算机集群对规模达到PB级的数据集进行分布式并行计算,是一种编程模型。

它由Map函数和Reduce函数构成,分别完成任务的分解与结果的汇总。MapReduce的用途是进行批量处理,不是进行实时查询,即特别不适用于交互式应用。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。

(后续会将HDFS、MapReduce详细展开)


Hadoop生态圈

生态圈,生态系统

 

小补充:

Zookeeper(动物园管理者)

HBase(图标是 海豚?)

Flume(图标是 贝壳?)

Hive(蜜群?)

Oozie(驯象人?)

pig(猪?)

mahout(管象人?)

HDFS、MapReduce、yarn

HBase:采用了Google BigData稀疏的面向列的数据库实现方式的原理,建立在HDFS之上,是一个高可靠、高性能、面向列、可伸缩、实时读写的分布式数据库系统。

Zookeeper:是一个高性能,集中化分布式应用程序协调服务,主要解决一些数据管理问题。

Oozie:运行在hadoop平台上的一种工作流调度引擎,它可以用来调度与管理hadoop任务

Pig:高级脚本语言

Hive:数据仓库基础工具,适用处理结构化数据,提供sql语句查询

Sqoop:是数据格式转换的工具,具有HDFS与关系型数据库中的数据相互转换

Mahout:可扩展的机器学习算法库

Flume:从不同的数据源高效实时,收集海量日志数据

Ambari:将监控管理等核心功能加入Hadoop,帮助部署,升级集群,提供监控服务。

(还有一些内容没有详细展开,还需自行查询)


总结

以上就是个人对于Hadoop知识点粗略总结,里面涉及一些详细的知识点和具体架构还需您自行参考其他文献,此次的HDFS、HBase、MapReduce后续会较为详细补充与总结,本次的总结大多参考了《云计算与大数据技术应用》安俊秀 靳宇倡等编著 这本书,这本书总结的十分详细,大家可以自行参考。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>