📜  Hadoop-大数据概述(1)

📅  最后修改于: 2023-12-03 15:15:28.077000             🧑  作者: Mango

Hadoop-大数据概述

Hadoop Logo

1. 简介

Hadoop是一个开源的、基于Java的分布式系统框架。它可以有效地处理大规模数据集,而且可以运行在廉价的、普通的计算机集群之上。

Hadoop可以分别管理数十个到数千个节点,在Hadoop中,数据被分割成块(block)并分别存储在不同的节点上。每个节点同时也存储其它节点的数据,从而保证了数据在存储和读取过程中的高可用性。

Hadoop的核心部分包括Hadoop HDFS(Hadoop Distributed File System)和Hadoop MapReduce。Hadoop还支持许多其他的项目,如Hive、HBase等。

2. Hadoop生态系统

Hadoop生态系统中包含了各种各样的工具和组件:

2.1 存储(HDFS)
  • Hadoop HDFS: 分布式文件系统
  • Hadoop HBase: 分布式非关系型数据库
  • Hadoop Hive: 基于Hadoop的数据仓库工具
2.2 计算(MapReduce)
  • Hadoop MapReduce: 分布式运算框架
  • Apache Spark: 基于内存计算的分布式运算框架
  • Apache Flink: 分布式实时流计算框架
2.3 资源管理(YARN)
  • Apache YARN: 分布式资源管理框架
  • Apache Mesos: 通用分布式资源管理框架
2.4 其他
  • Apache ZooKeeper: 高可用分布式协调服务
  • Apache Cassandra: 分布式的NoSQL数据库
  • Apache Storm: 分布式实时计算系统
3. Hadoop的优缺点
3.1 优点
  • 处理大规模数据:Hadoop可以处理Peta-scale的数据,这种能力是传统的关系型数据库无法比拟的。
  • 基于廉价的、普通的计算机集群:Hadoop可以运行在廉价的、普通的计算机集群之上。
  • 高可用性:Hadoop中的数据会被分散到各个节点中存储,这种架构保证了数据在存储和读取过程中的高可用性。(当某个节点出现问题时,Hadoop可以自动将它所管理的数据块重新分配给其它节点,从而保证数据不出现丢失)
  • 灵活性:Hadoop的设计可以在很多具有不同的应用场景中灵活地使用。
3.2 缺点
  • 处理实时数据:对于对实时数据处理时间要求非常高的应用,Hadoop的批处理模式可能无法满足要求。
  • 数据格式:Hadoop系统只能处理部分结构化的数据。对于非结构化的数据,需先处理成结构化的数据才能与Hadoop集成使用。
  • 学习和使用成本高:Hadoop需要使用Java编写,并且需要基本的Linux系统知识。这些因素会导致Hadoop的学习和使用成本相对较高。
4. 总结

在大数据的背景下,Hadoop在媒体行业、金融行业、电子商务以及社交网络等领域得到了广泛的应用。作为一个开源的大数据处理框架,Hadoop生态系统涵盖了众多的项目和工具,不仅能够处理大规模数据的存储和计算,还支持分布式数仓的建设。同时,Hadoop的学习和使用成本相对较高,未来需要更多的人才投入到Hadoop领域的研究当中。