CDP 之数据存储
一、 数据存储概览
Cloudera Runtime 提供了不同类型的存储组件,您可以根据您的数据要求使用这些组件。Apache Hadoop HDFS 是一个用于存储大量数据的分布式文件系统。
Apache Ozone 是一个针对大数据工作负载优化的可扩展、冗余和分布式对象存储。Apache Kudu 完善了 Apache Hadoop 的存储层,支持对数据进行快速分析。
1. HDFS 概述
Hadoop 分布式文件系统(HDFS)是一种基于 Java 的文件系统,用于存储大量数据,HDFS 旨在跨越大型商品服务器集群,提供可扩展且可靠的数据存储。HDFS 集群包含用于管理集群命名空间的 NameNode 和用于存储数据的 DataNode。
HDFS 是一种可扩展、容错的分布式存储系统,可与各种并发数据访问应用程序紧密协作。通过在许多服务器上分布存储和计算,组合存储资源随需求线性增长。
1) HDFS 集群的组件
HDFS 集群包含以下主要组件:NameNode 和 DataNode。
NameNode 管理集群元数据,包括文件和目录结构、权限、修改和磁盘空间配额。文件内容被拆分成多个数据块,每个块在多个 DataNodes 上进行复制。
NameNode 主动监控一个块的副本数。此外,NameNode 维护命名空间树和块到DataNode 的映射,将整个命名空间映像保存在 RAM 中。
高可用性(HA)集群包含一个用于活动 NameNode 的备用节点,以避免单点故障。
这些集群使用 JournalNode 来同步主备 NameNode。
2) HDFS 的好处
HDFS 提供了以下好处,因为这些好处可以有效地存储数据并且在集群中具有高可用性:
• 机架感知:在分配存储和调度任务时考虑节点的物理位置。
• 最少的数据移动:Hadoop 将计算过程移动到 HDFS 上的数据。处理任务可以
发生在数据所在的物理节点上。这显著减少了网络 I/O 并提供了非常高的聚合带宽。
• 实用程序:动态诊断文件系统的健康状况并重新平衡不同节点上的数据。
• 版本回滚:允许操作员在升级后执行回滚到以前版本的 HDFS,以防出现人为或系统错误。
• StandbyNameNode:提供冗余并支持高可用性(HA)。
• 可操作性:HDFS 需要最少的操作员干预,允许单个操作员维护一个由数千个节
点组成的集群。
2. Apache Ozone 概览
Apache Ozone 是一个针对大数据工作负载优化的可扩展、冗余和分布式对象存储。除了扩展到数十亿个不同大小的对象外,使用 Apache Spark、Apache YARN 和Apache Hive 等框架的应用程序无需任何修改即可在 Ozone 上原生运行。Ozone 原生支持 S3 API 并提供与 Hadoop 兼容的文件系统接口。Ozone 通常在 CDP 私有云基础部署中可用。
Ozone 由三个重要的存储元素组成:卷、桶和键。每个键都是存储桶的一部分,而存储桶又属于一个卷。只有管理员可以创建卷。根据他们的要求,普通用户可以批量创建存储桶。Ozone 将数据作为键存储在这些桶中。
当客户端写入密钥时,Ozone 将相关数据以称为块的块形式存储在 DataNode 上。因此,每个密钥都与一个或多个块相关联。在一个 DataNode 中,多个不相关的块可以驻留在一个存储容器中。
3. Apache Kudu 介绍
Apache Kudu 是为 Hadoop 平台开发的列式存储管理器。Kudu 具有 Hadoop 生态系统应用程序的共同技术特性:Kudu 运行在商用硬件上,可水平扩展,支持高可用操作。
Apache Kudu 是 Apache 软件基金会的顶级项目。
Kudu 的好处包括:
• 快速处理 OLAP 工作负载。
• 与 MapReduce、Spark、Flume 和其他 Hadoop 生态系统组件集成。
• 与 Apache Impala 紧密集成,使其成为将 HDFS 与 Apache Parquet 结合使用的良好、可变的替代方案。
• 强大而灵活的一致性模型,允许您在每个请求的基础上选择一致性要求,包括严格序列化一致性的选项。
• 同时运行顺序和随机工作负载的强大性能。
• 通过 Cloudera Manager 轻松管理。
• 高可用性。
Tablet Servers 和 Master 使用 Raft 共识算法,只要可用副本数多于不可用副本数,就可以确保可用性。读取可以由只读的跟随者平板电脑提供服务,即使在领导者平板电脑出现故障的情况下也是如此。
• 结构化数据模型
通过结合所有这些属性,Kudu 的目标是支持难以或不可能在当前可用的 Hadoop存储技术上实现的应用程序。Kudu 是可行解决方案的应用程序包括:
• 新数据必须立即可供最终用户使用的报告应用程序。
• 时间序列应用程序必须支持跨大量历史数据的查询,同时返回有关单个实体的粒度查询。
• 使用预测模型做出实时决策的应用程序,并根据历史数据定期刷新预测模型。
《CDP企业数据云平台从入门到实践》——CDP之数据储存(2) https://developer.aliyun.com/article/1226409?spm=a2c6h.13148508.setting.14.12f54f0eNj6eW1