HDFS 概述
HDFS(Hadoop Distributed File System)是一种 Hadoop 分布式文件系统,具备高度容错特性,支持高吞吐量数据访问,可以在处理海量数据(TB 或 PB 级别以上)的同时最大可能的降低成本。HDFS 适用于大规模数据的分布式读写,特别是读多写少的场景。
KDP HDFS 组件增强说明:
- 扩展了开源的 Kubernetes HDFS 项⽬
- 集成了对 Kerberos 和 Ranger 的支持
- ⽀持了 Persistent Volumes 以及虚机⽹络
架构
HDFS 是经典的 Master 和 Slave 架构,每一个 HDFS 集群包括一个 NameNode 和多个 DataNode。
NameNode 管理所有文件的元数据信息,并且负责与客户端交互。DataNode 负责管理存储在该节点上的文件。每一个上传到 HDFS 的文件都会被划分为一个或多个数据块,这些数据块根据 HDFS 集群的数据备份策略被分配到不同的 DataNode 上,位置信息交由 NameNode 统一管理。
组件依赖
安装 hdfs 依赖 zookeeper;
安装 httpfs-gateway 依赖 hdfs。
应用安装
可按默认配置进行应用安装。
hdfs 应用配置
- 组件依赖
- zookeeperQuorum:zookeeper 地址
- zookeeperParentZnode:Namenode 高可用状态所在的 Zookeeper 节点
- Namenode
- resources:资源规格
- maxRAMPercentage: 最大的堆内存百分比
- persistence:持久卷配置
- HAEnabled:Namenode 高可用(默认为 true)
- Journalnode
- quorumSize:Journalnode 数量
- resources:资源规格
- persistence:持久卷配置
- Datanode
- replicas:Datanode 副本数
- resources:资源规格
- maxRAMPercentage: 最大的堆内存百分比
- persistence:持久卷配置
- coreSite:自定义 core-site.xml 内容
- hdfsSite:自定义 hdfs-site.xml 内容
- chartVersion:Helm Chart 版本号
- imageTag:Hadoop 镜像版本
安装完成,应用实例详情可查看应用访问地址,进行更新、卸载等运维管理操作。
支持跳转 NameNode WebUI 页面。
应用实例详情页「更多操作」下,支持跳转 Grafana HDFS 监控面板,查看监控指标信息。
httpfs-gateway 应用配置
- 组件依赖
- hdfsContext:httpfs 依赖的 hdfs 配置
- replicas:副本数
- resources:资源规格
- image:应用镜像
- kerberos:Kerberos 开关(跟随大数据集群的 kerberos 开关)