了解Hadoop

Hadoop是什么?

Apache Hadoop是一款支持数据密集型分布式应用并以Apache2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的Mapreduce和Google档案系统的论文自行实作而成。

Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。此外,Hadoop还提供了分布式文件系统,用以存储所有计算节点的数据,这位整个集群带来了非常高的带宽。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算机的电脑和PB级的数据。现在普遍认为整个Apache Hadoop“平台”包括Hadoop内核、MapReduce、Hadoop分布式文件系统(HDFS)以及一些相关项目,有Apache Hive和Apache HBase等等。

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

Hadoop相关项目

  • Hadoop Common:在0.0.及以前的版本中,包含HDFS、MapReduce和其它项目公共内容,从0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop Common
  • HDFS:Hadoop分布式文件系统(Distributed File System)-HDFS(Hadoop Distributed File System)
  • MapReduce:并行计算框架,0.20前使用org.apache.hadoop.mapred旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API
  • Apache HBase:分布式NoSQL列数据库,类似谷歌公司BigTable。
  • Apache Hive :构建于hadoop之上的数据仓库,通过一种类SQL语言HiveQL为用户提供数据的归纳、查询和分析等功能。Hive最初由Facebook贡献。
  • Apache Mahout:机器学习算法软件包。
  • Apache Sqoop:结构化数据(如关系数据库)与Apache Hadoop之间的数据转换工具。
  • Apache Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。
  • Apache Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。

Hadoop有点

  • 高可靠性    Hadoop按位存储和处理数据的能力值得人们信赖。
  • 高扩展性    Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
  • 高效性        Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
  • 高容错性    Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
  • 低成本        与一体机、商用数据仓库以及QlinkView、Yonghong Z-Suite等数据集市相比,Hadoop是开源的,项目的软件成本因此会大大降低。

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

Hadoop应用场景

扫描二维码关注公众号,回复: 3026293 查看本文章

美国著名科技博客GigaOM的专栏作家Derrick Harris在一篇文章中总结了10个Hadoop的应用场景:

  • 在线旅游
  • 移动数据
  • 电子商务
  • 能源开采
  • 节能
  • 基础架构管理
  • 图像处理
  • 诈骗检测
  • IT安全
  • 医疗保健

猜你喜欢

转载自blog.csdn.net/u013999597/article/details/82111743