hadoop 入门(一) 概览

背景

hadoop 项目脱胎于鼎鼎大名的三篇大数据论文(google发表),由 hadoop 之父 Doug Cutting 及其团队开发的一个并行处理大量数据的框架。
Hadoop 并不是一个缩写,是由该项目的创建者 Doug Cutting 命名:“Hadoop是我孩子给一个棕色玩具大象起的名字”。

概览

广义上的hadoop指的是以hadoop为核心的生态圈,如下图:

《hadoop 入门(一) 概览》 image.png

  • HDFS and MapReduce
  • HBase,Hive,Pig 主要负责数据存储和查询
  • Flume,sqoop 负责数据的导入和导出
  • Mahout 机器学习和分析
  • Zookeeper 分布式协调
  • Ambari 集群管理
  • Avro 数据存储和序列化
  • HCatalog 元数据管理

组件介绍

  • HDFS (Hadoop Distributed File System) 是分布式计算中数据存储管理的基础。它所具有的高容错高可靠性、高扩展性、高获得性、高吞吐率等特征,为海量数据提供了不怕故障的存储,为超大数据集的应用处理带来了很多便利。

  • MapReduce 是一种处理海量数据的并行编程模型和计算框架,用于对大规模数据集(通常大于1TB)的并行计算。

  • Apache HBase 是一个分布式的、随机访问的、面向列的数据库系统,在HDFS的顶层运行,允许应用程序开发人员直接读写HDFS数据。
    但是HBase不支持SQL,但是提供了基于命令行的界面以及丰富的API函数来更新数据,它也是NoSQL数据库的一种。

  • Apache Hive 被用来作为大数据的数据仓库,它也使用HDFS文件系统来存储数据。在Hive中我们不编写MapReduce程序,因为Hive提供了一种类SQL语言HiveQL,能让开发者迅速的写出类似关系型数据库SQL查询的点对点查询。

  • Apache ZooKeeper
    Hadoop通过节点(nodes)的方式提供相互间的通信。ZooKeeper便是被用来管理这些节点的,它被用来协调各个节点。
    除了管理节点以外,它还维护一些配置信息,并且对分布式系统的服务进行分组。ZooKeeper可以独立于Hadoop来运行,而不像生态系统中的其它组件一样。由于ZooKeeper是基于内存来管理信息,因此它的性能相对来说还是挺高。

  • Sqoop 用来在Hadoop中高效地加载大数据集,他允许开发人员轻松地从一些数据源,如关系型数据库甚至应用程序导入\导出数据。

  • Flume 常被用来做日志的聚合操作,用来作为ETL工具来使用。

    原文作者:Neo_zero
    原文地址: https://www.jianshu.com/p/edfc80d476bb
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞