无锡网站建设收费,杭州余杭做网站公司,临沧网络推广,wordpress thecorporationtheme文章目录 每日一句正能量前言01 HDFS02 Yarn03 Hive04 HBase05 Spark及Spark Streaming关于作者推荐理由后记赠书活动 每日一句正能量 黎明时怀着飞扬的心醒来#xff0c;致谢爱的又一天#xff0c;正午时沉醉于爱的狂喜中休憩#xff0c;黄昏时带着感恩归家#xff0c;然后… 文章目录 每日一句正能量前言01 HDFS02 Yarn03 Hive04 HBase05 Spark及Spark Streaming关于作者推荐理由后记赠书活动 每日一句正能量 黎明时怀着飞扬的心醒来致谢爱的又一天正午时沉醉于爱的狂喜中休憩黄昏时带着感恩归家然后在内心为所爱的祈祷中入眠让赞美的歌谣停留在唇间。 前言
随着大数据时代的来临处理和分析海量数据成为了一项重要的挑战。为了应对这一挑战Hadoop生态系统应运而生。Hadoop生态系统是一个开源的、可扩展的解决方案它由三大核心部件组成分别是Hadoop分布式文件系统(HDFS)、Hadoop分布式计算框架(MapReduce)和Hadoop分布式存储和计算平台(YARN)。这三个部件共同协作提供了一个高效和可靠的大数据处理平台。本文将对Hadoop生态系统的这三大部件进行详细解析以帮助读者更好地理解Hadoop生态系统的工作原理和优势。
进入大数据阶段就意味着进入NoSQL阶段更多的是面向OLAP场景即数据仓库、BI应用等。 大数据技术的发展并不是偶然的它的背后是对于成本的考量。集中式数据库或者基于MPP架构的分布数据库往往采用的都是性能稳定但价格较为昂贵的小型机、一体机或者PC服务器等扩展性相对较差而大数据计算框架可以基于价格低廉的普通的硬件服务器构建并且理论上支持无限扩展以支撑应用服务。
在大数据领域中最有名的就是 Hadoop 生态总体来看它主要由三部分构成底层文件存储系统 HDFSHadoop Distributed File SystemHadoop 分布式文件系统、资源调度计算框架 YarnYet Another Resource Negotiator又一个资源协调者以及基于 HDFS 与 Yarn的上层应用组件例如 HBase、Hive 等。一个典型的基于 Hadoop 的应用如下图所示。 ▲图 一个典型的 Hadoop 应用
01 HDFS
HDFS 被设计成适合运行在通用硬件Commodity Hardware上的分布式文件系统。它和现有的分布式文件系统有很多共同点例如典型的 Master-Slave 架构这里不准备展开介绍也有不同点HDFS 是一个具有高度容错性的系统适合部署在廉价的机器上。关于HDFS 这里主要想说两点默认副本数的设置以及机架感知Rack Awareness。
HDFS 默认副本数是 3这是因为 Hadoop 有着高度的容错性从数据冗余以及分布的角度来看需要在同一机房不同机柜以及跨数据中心进行数据存储以保证数据最大可用。因此为了达到上述目的数据块需要至少存放在同一机房的不同机架2 份以及跨数据中心的某一机架1 份中共 3 份数据。
机架感知的目的是在计算中尽量让不同节点之间的通信能够发生在同一个机架之 内而不是跨机架进而减少分布式计算中数据在不同的网络之间的传输减少网络带 宽资源的消耗。例如当集群发生数据读取的时候客户端按照由近到远的优先次序决定 哪个数据节点向客户端发送数据因为在分布式框架中网络 I/O 已经成为主要的性能瓶颈。
只有深刻理解了这两点才能理解为什么 Hadoop 有着高度的容错性。高度容错性是Hadoop 可以在通用硬件上运行的基础。
02 Yarn
Yarn 是继 Common、HDFS、MapReduce 之 后 Hadoop 的又一个子项目 它是在MapReduceV2 中提出的。
在 Hadoop1.0 中JobTracker 由资源管理器由 TaskScheduler 模块实现和作业控制 由 JobTracker 中多个模块共同实现两部分组成。
在 Hadoop1.0 中JobTracker 没有将资源管理相关功能与应用程序相关功能拆分开逐 渐成为集群的瓶颈进而导致集群出现可扩展性变差、资源利用率下降以及多框架支持不 足等多方面的问题。
在 MapReduceV2 中Yarn 负责管理 MapReduce 中的资源内存、CPU 等并且将其 打包成 Container。这样可以使 MapReduce 专注于它擅长的数据处理任务而不需要考虑资源调度。这种松耦合的架构方式实现了 Hadoop 整体框架的灵活性。
03 Hive
Hive 是基于Hadoop 的数据仓库基础构架它利用简单的 SQL 语句简称 HQL来查询、分析存储在 HDFS 中的数据并把 SQL 语句转换成 MapReduce 程序来进行数据的处理。Hive与传统的关系型数据库的主要区别体现在以下几点。 存储的位置 Hive 的数据存储在 HDFS 或者 HBase 中而后者的数据一般存储在裸设备或者本地的文件系统中由于 Hive 是基于 HDFS 构建的那么依赖 HDFS 的容错特性Hive 中的数据表天然具有冗余的特点。 数据库更新 Hive 是不支持更新的一般是一次写入多次读写这部分从 Hive 0.14之后开始支持事务操作但是约束比较多但是由于 Hive 是基于 HDFS 作为底层存储的 而 HDFS 的读写不支持事务特性因此 Hive 的事务支持必然需要拆分数据文件以及日志文 件才能支持事务的特性。 执行 SQL 的延迟Hive 的延迟相对较高因为每次执行都需要将 SQL 语句解析成MapReduce 程序。 数据的规模上Hive 一般是 TB 级别而后者规模相对较小。 可扩展性上Hive 支持 UDF、UDAF、UDTF后者相对来说可扩展性较差。
04 HBase
HBaseHadoop Database是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。它底层的文件系统使用 HDFS 使用ZooKeeper 来管理集群的 HMaster 和各RegionServer 之间的通信监控各RegionServer 的状态存储各 Region 的入口地址等。
特点 HBase 是 Key-Value 形式的数据库类比 Java 中的 Map。既然是数据库那肯定就有 表HBase 中的表大概有以下几个特点。
1大一个表可以有上亿行上百万列列多时插入变慢。
2面向列面向列族的存储和权限控制列族独立检索。
3稀疏对于空null的列并不占用存储空间因此表可以设计得非常稀疏。
4每个单元格中的数据可以有多个版本默认情况下版本号自动分配是单元格插入 时的时间戳。
5HBase 中的数据都是字节没有类型定义具体的数据对象因为系统需要适应不同 类型的数据格式和数据源不能预先严格定义模式。
这里需要注意的是HBase 也是基于 HDFS所以也具有默认 3 个副本、数据冗余的特 点。此外 HBase 也是利用 WAL 的特点来保证数据读写的一致性。
存储 HBase 采用列式存储方式进行数据的存储。传统的关系型数据库主要是采用行式存储 的方式进行数据的存储数据读取的特点是按照行的粒度从磁盘上读取数据记录然后根 据实际需要的字段数据进行处理如果表的字段数量较多但是需要处理的字段较少特 别是聚合场景由于行式存储的底层原理仍然需要以行全字段的方式进行数据的查 询。在这个过程中应用程序所产生的磁盘 I/O、内存要求以及网络 I/O 等都会造成一定的 浪费而列式存储的数据读取方式主要是按照列的粒度进行数据的读取这种按需读取的 方式减少了应用程序在数据查询时所产生的磁盘 I/O、内存要求以及网络 I/O。
此外由于相同类型的数据被统一存储因此在数据压缩的过程中压缩算法的选用以 及效率将会进一步加强这也进一步降低了分布式计算中对于资源的要求。
列式存储的方式更适合 OLAP 型的应用场景因为这类场景具有数据量较大以及查询字段较少往往都是聚合类函数的特点。例如最近比较火的 ClickHouse 也是使用列式存储的方式进行数据的存储。
05 Spark及Spark Streaming
Spark 由 Twitter 公司开发并开源解决了海量数据流式分析的问题。Spark 首先将数据 导入 Spark 集群然后通过基于内存的管理方式对数据进行快速扫描通过迭代算法实现 全局 I/O 操作的最小化达到提升整体处理性能的目的。这与 Hadoop 从“计算”找“数据” 的实现思路是类似的通常适用于一次写入多次查询分析的场景。
Spark Streaming 是基于 Spark 的一个流式计算框架它针对实时数据进行处理和控制 并可以将计算之后的结果写入 HDFS。它与当下比较火的实时计算框架 Flink 类似但是二者在本质上是有区别的因为 Spark Streaming 是基于微批量Micro-Batch的方式进行数据处理而非一行一行地进行数据处理。
关于作者
李杨资深数据架构师在数据相关领域有10年以上工作经验。头部保险资管公司科技平台交易系统团队开发组负责人负责多个应用以及数据平台的建设、优化以及迁移工作。曾担任某数据公司技术合伙人负责多个金融机构的数据仓库或数据平台相关的工作。《企业级数据架构核心要素、架构模型、数据管理与平台搭建》作者。 本文摘编于《企业级数据架构核心要素、架构模型、数据管理与平台搭建》作者。书号9787111746829经出版方授权发布转载请标明文章出处。 推荐理由
一部从企业架构视角系统讲解企业级数据架构的著作系统梳理和阐述了企业架构的基础知识以及数据架构的组成要素、架构模型、数据治理和数据资产管理的理论知识。
后记
本文详细介绍了Hadoop生态系统的三大核心部件Hadoop分布式文件系统(HDFS)、Hadoop分布式计算框架(MapReduce)和Hadoop分布式存储和计算平台(YARN)。通过这三个部件的协作Hadoop生态系统能够实现高效、可扩展的大数据处理和分析。
首先我们了解了HDFS它为海量数据的存储提供了可靠的解决方案。HDFS采用分布式存储的方式将数据划分为块并在集群中进行分布存储从而实现了数据的高可用性和高吞吐量。
其次我们介绍了MapReduce框架。MapReduce是一种分布式计算模型能够将大规模的数据分割成小块并通过并行处理来提高计算速度。通过Map和Reduce两个阶段的任务分配和结果汇总MapReduce能够有效地进行数据处理和分析。
最后我们了解了YARN平台。YARN是Hadoop的资源管理系统它负责集群中的资源调度和任务管理。YARN将计算和存储分离使得Hadoop集群能够更好地适应不同类型的应用需求并提高集群资源的利用率。
通过研究和理解Hadoop生态系统的这三大部件我们可以更好地利用Hadoop生态系统来应对大数据挑战。无论是数据存储、计算还是资源管理Hadoop生态系统提供了一套完整的解决方案帮助企业和个人实现高效的大数据处理和分析。随着技术不断发展Hadoop生态系统也在不断演进和壮大为大数据行业的发展做出了巨大贡献。相信通过不断探索和实践Hadoop生态系统将在未来的数据世界中发挥更加重要的作用。
赠书活动
本次送书1~4本【取决于阅读量阅读量越多送的越多】 ⌛️活动时间截止到2024年4月12日 ✳️参与方式关注博主三连点赞、收藏、评论
转载自https://blog.csdn.net/u014727709/article/details/137130937 欢迎 点赞✍评论⭐收藏欢迎指正