- 首页 >
- 问答 >
-
云计算 >
- Ubuntu Hadoop 数据存储方式有哪些
Ubuntu Hadoop 数据存储方式有哪些
小樊
36
2026-01-03 10:29:50
Ubuntu 上 Hadoop 的数据存储方式
一 核心存储方式与适用场景
- HDFS(Hadoop Distributed File System):Hadoop 的默认与主流分布式存储,适合GB/TB/PB级大文件、一次写入多次读取的批处理与离线分析;通过多副本(默认3)与机架感知策略提供高容错与高吞吐。
- 本地文件系统(Local FS):在本地模式或开发调试时使用,数据仅存于单机磁盘,不启动 NameNode/DataNode 守护进程,便于快速验证逻辑。
- 内存/缓存存储:部分计算框架(如 Spark on YARN)可将RDD/DataFrame缓存在内存,用于迭代计算与交互式查询的加速(属于计算侧缓存,非持久化主存)。
- 外部表/外部存储对接:通过 Hive、HBase 等组件将数据持久化到 HDFS 或 HBase 表,Hive 管理元数据,底层数据仍落在 HDFS。
- 对象存储(S3A 等):Hadoop 支持 S3A 等对象存储连接器,可将数据存到 Amazon S3 或兼容 S3 的对象存储,用于云上数据湖与跨环境共享。
二 HDFS 关键机制与配置要点
- 架构:主从结构,NameNode 管理命名空间与块映射,DataNode 存储实际数据块;读取时客户端直连 DataNode 获取块,写入时由 NameNode 指定副本存放节点列表。
- 数据块与副本:文件被切分为大块(常见为128MB),默认副本数3;采用机架感知放置策略:同机架 1 份、同机架另一节点 1 份、不同机架 1 份,兼顾可靠性与写入/读取带宽。
- 运维与监控:通过 **Web UI(常见端口 9870)**查看 NameNode 状态、块分布与健康状况;常用命令如
hdfs dfs -put/-get/-cat 进行数据导入导出与校验。
三 本地模式与伪分布式的存储差异
- 本地模式(Standalone/本地文件系统):不启动任何 Hadoop 守护进程,MapReduce 任务在同一 JVM 内执行,适合功能测试与小规模样例验证。
- 伪分布式(单机上运行守护进程):在本机启动 NameNode/DataNode 等进程,使用 HDFS 存储;常用于功能与性能预演,配置与分布式一致但规模为一台机器。
四 选型建议
- 处理海量离线数据、需要高容错与高吞吐:优先使用 HDFS。
- 开发/调试或小数据验证:使用本地文件系统以提升迭代效率。
- 云上数据湖/跨环境共享:采用 S3A 等对象存储连接器。
- 低时延随机访问/NoSQL 场景:使用 HBase(底层数据通常仍落在 HDFS)。
- 迭代计算/交互式分析:结合 内存缓存(如 Spark 缓存)与持久化存储分层使用。