Hadoop 运行模式
Hadoop 的部署方式主要取决于应用场景。在本地开发或简单测试时,我们通常使用单机版。这种模式下无需启动任何守护进程,所有程序都在同一个 JVM 中运行,上手最快。
若需要模拟真实集群环境但资源有限,伪分布式模式是不错的选择。它在一台机器上启动所有 Hadoop 守护进程,能让我们提前验证配置和逻辑。
到了生产阶段,则必须采用完全分布式模式。此时 Hadoop 守护进程分布在多台机器组成的集群上,提供真正的横向扩展能力。
Hadoop 生态圈组件
除了核心框架,Hadoop 生态还包含多个辅助工具,它们各司其职:
- Zookeeper:负责分布式协调,处理同步服务和命名服务。
- Flume:专注于海量日志的采集、聚合与传输,保证高可用性。
- HBase:基于 HDFS 构建的分布式列式数据库,适合随机读写。
- Hive:将结构化数据映射为表,支持 SQL 查询,是数据仓库的核心。
- Sqoop:打通关系型数据库与 HDFS 之间的桥梁,实现数据双向导入导出。
核心进程与职责
一个正常运行的 Hadoop 集群,背后依赖这些关键进程协同工作:
- NameNode:管理文件系统名称空间和访问控制,保存元数据,是集群的'大脑'。
- SecondaryNameNode:协助 NameNode 进行周期检查点合并 editslog,降低启动时间。
- DataNode:实际存储数据的节点,每个节点运行一个守护进程。
- ResourceManager:全局资源调度器,负责分配任务给 NodeManager。
- NodeManager:执行具体的计算任务,汇报资源使用情况。
- DFSZKFailoverController:高可用架构下监控 NameNode 状态,并与 ZK 交互。
- JournalNode:在高可用模式下,负责存放 NameNode 的 editlog 文件。
常见配置参数
关于 HDFS 的存储策略,有几个默认值值得注意:
- 副本数:默认保存 3 份,兼顾数据安全与存储成本。
- Block 大小:从 Hadoop 2.x 开始,默认值调整为 128MB,更适配大文件处理场景。

