ITPub博客

首页 > 大数据 > Hadoop > 如何学习Hadoop

如何学习Hadoop

原创 Hadoop 作者:好程序员 时间:2020-11-05 18:00:03 0 删除 编辑

  如何学习Hadoop ,如何学习Hadoop ,对大数据开发感兴趣的小伙伴就随着小编一起来了解一下吧。

   Hadoop 实现了一个分布式文件系统 (Hadoop Distributed File System) ,简称 HDFS 。 HDFS 有高容错性的特点,并且设计用来部署在低廉的 (low-cost) 硬件上 ; 而且它提供高吞吐量 (high throughput) 来访问应用程序的数据,适合那些有着超大数据集 (large data set) 的应用程序。 HDFS 放宽了 (relax)POSIX 的要求,可以以流的形式访问 (streaming access) 文件系统中的数据。

   Hadoop 的框架最核心的设计就是: HDFS 和 MapReduce 。 HDFS 为海量的数据提供了存储,则 MapReduce 为海量的数据提供了计算。一句话来讲 Hadoop 就是存储加计算。

   Hadoop 是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在 Hadoop 上开发和运行处理海量数据的应用程序。它主要有以下几个优点:

   1 、高可靠性 Hadoop 按位存储和处理数据的能力值得人们信赖。

   2 、高扩展性 Hadoop 是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

   3 、高效性 Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

   4 、高容错性 Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

   5 、低成本 与一体机、商用数据仓库以及 QlikView 、 Yonghong Z-Suite 等数据集市相比, hadoop 是开源的,项目的软件成本因此会大大降低。

   Hadoop 带有用 Java 语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。 Hadoop 上的应用程序也可以使用其他语言编写,比如 C++ 。

   Hadoop 大数据处理的意义:

   Hadoop 得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载 (ETL) 方面上的天然优势。 Hadoop 的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像 ETL 这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。 Hadoop 的 MapReduce 功能实现了将单个任务打碎,并将碎片任务 (Map) 发送到多个节点上,之后再以单个数据集的形式加载 (Reduce) 到数据仓库里。

   Hadoop 由以下几个项目构成:

   1 、 Hadoop Common : Hadoop 体系最底层的一个模块,为 Hadoop 各子项目提供各种工具,如:配置文件和日志操作等。

   2 、 HDFS :分布式文件系统,提供高吞吐量的应用程序数据访问,对外部客户机而言, HDFS 就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。但是 HDFS 的架构是基于一组特定的节点构建的,这是由它自身的特点决定的。这些节点包括 NameNode( 仅一个 ) ,它在 HDFS 内部提供元数据服务 ;DataNode ,它为 HDFS 提供存储块。

   由于仅存在一个 NameNode ,因此这是 HDFS 的一个缺点 ( 单点失败 ) 。 存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中 (DataNode) 。这与传统的 RAID 架构大不相同。块的大小 ( 通常为 64MB) 和复制的块数量在创建文件时由客户机决定。 NameNode 可以控制所有文件操作。 HDFS 内部的所有通信都基于标准的 TCP/IP 协议。

   3 、 MapReduce :一个分布式海量数据处理的软件框架集计算集群。

   4 、 Avro : doug cutting 主持的 RPC 项目,主要负责数据的序列化。有点类似 Google 的 protobuf 和 Facebook 的 thrift 。 avro 用来做以后 hadoop 的 RPC ,使 hadoop 的 RPC 模块通信速度更快、数据结构更紧凑。

   5 、 Hive :类似 CloudBase ,也是基于 hadoop 分布式计算平台上的提供 data warehouse 的 sql 功能的一套软件。使得存储在 hadoop 里面的海量数据的汇总,即席查询简单化。 hive 提供了一套 QL 的查询语言,以 sql 为基础,使用起来很方便。

   6 、 HBase :基于 Hadoop Distributed File System ,是一个开源的,基于列存储模型的可扩展的分布式数据库,支持大型表的存储结构化数据。

   7 、 Pig :是一个并行计算的高级的数据流语言和执行框架 , SQL-like 语言,是在 MapReduce 上构建的一种高级查询语言,把一些运算编译进 MapReduce 模型的 Map 和 Reduce 中,并且用户可以定义自己的功能。

   8 、 ZooKeeper : Google 的 Chubby 一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。 ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

   9 、 Chukwa :一个管理大型分布式系统的数据采集系统 由 yahoo 贡献。

   10 、 Cassandra :无单点故障的可扩展的多主数据库 。

   11 、 Mahout :一个可扩展的机器学习和数据挖掘库 。

   Hadoop 设计之初的目标就定位于高可靠性、高可拓展性、高容错性和高效性,正是这些设计上与生俱来的优点,才使得 Hadoop 一出现就受到众多大公司的青睐,同时也引起了研究界的普遍关注。到目前为止, Hadoop 技术在互联网领域已经得到了广泛的运用,如 Yahoo 、 Facebook 、 Adobe 、 IBM 、百度、阿里巴巴、腾讯、华为、中国移动等。

   关于怎样学习hadoop ,首先要了解并且深刻认识什么是 hadoop ,它的原理以及作用是什么,包括基本构成是什么,分别有什么作用,当然,在学习之前,至少要掌握一门基础语言,这样在学习起来才会事半功倍。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913864/viewspace-2732475/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-03-20

  • 博文量
    342
  • 访问量
    195018