hadoop 入门(一) 概览

背景

hadoop 项目脱胎于鼎鼎大名的三篇大数据论文(google发表),由 hadoop 之父 Doug Cutting 及其团队开发的一个并行处理大量数据的框架。
Hadoop 并不是一个缩写,是由该项目的创建者 Doug Cutting 命名:“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工具来使用。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,610评论 0 34
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,316评论 2 89
  • 靖国以北,满目萧然,音书断,秋夜长,夜难寐,烛间几度起。十月,寒沾催木叶,风也急,人也急,我为含愁,尔独不见,只等...
    瓜皮匠阅读 199评论 0 0
  • 写情书呢,想想都有点小激动。 对叹息的第一印象:咦,这个小伙居然和朱雀一样能接上我的脑回路,好神奇哦! 后来我不记...
    卿巧巧阅读 987评论 4 9
  • 2016年9月1日 又是一年开学季,可是我们已经没有了开学。 毕业一年了 曾经以为我们会在那个坚如铠甲的“学生”身...
    考拉南瓜阅读 1,180评论 0 0

友情链接更多精彩内容