Hadoop 是面向海量数据存储与分布式计算的大数据基础平台,可以把数据按块组织到多个节点中,并通过资源调度与计算框架让任务在集群里并行运行。它适合承载数据湖、日志分析、ETL、报表统计、机器学习数据准备等场景,围绕存储、计算、资源管理和生态工具形成统一底座。团队可以从平台能力、组件关系、部署流程和运行方式入手,快速建立对大数据集群的整体理解。
平台能力
- HDFS:把数据按块组织到集群节点,并以多副本形式提升数据可用性。
- YARN:为计算任务提供资源调度与容器管理。
- MapReduce:提供批处理计算模型,把任务组织成映射与归约阶段。
- 生态组件:支持 Hive、Spark、HBase、Flume、Kafka 等工具协同工作。
- 横向扩展:通过增加节点提升存储容量与计算容量。
| 模块 | 作用 | 常见输出 |
|---|---|---|
| HDFS | 分布式文件存储 | 文件块、副本、目录结构 |
| YARN | 资源调度管理 | 队列、容器、节点资源 |
| MapReduce | 批处理计算 | 输入、映射、归约、结果 |
| Hadoop Common | 支撑基础能力 | 配置、命令、接口 |
| 生态工具 | 数据开发与处理 | SQL、计算框架、流处理、NoSQL |
运行方式
- 数据写入:客户端上传文件,HDFS 按块组织数据,并把副本放置到集群节点。
- 资源调度:作业提交后,YARN 根据队列和容量分配容器。
- 计算执行:MapReduce 将输入数据映射到集群节点,经过归约过程生成结果。
- 状态查看:Web UI 展示存储、节点、队列和任务进度。
实施流程
- 准备 Linux 节点、Java 环境、网络、目录和 Hadoop 版本。
- 安装发行包,配置环境变量,让 hdfs、yarn、mapred 命令可运行。
- 编辑核心配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、hadoop-env.sh、workers。
- 配置集群节点间免密访问,保持管理节点与各节点通信顺畅。
- 初始化 NameNode 元数据目录。
- 启动 HDFS 与 YARN 服务。
- 使用 jps 和 Web UI 查看服务状态。
- 上传样本文件,运行 wordcount 示例,观察任务进度和输出结果。
适用方向
| 场景 | 可支撑能力 | 常见数据形态 |
|---|---|---|
| 数据湖底座 | 统一存储、多工具读取 | 原始日志、业务文件、结构化表 |
| 日志分析平台 | 集中保存、批量统计 | 应用日志、访问日志、系统日志 |
| 批处理体系 | MapReduce、Hive、Spark SQL | 报表、汇总、统计、ETL |
| 机器学习数据准备 | 特征抽取、样本加工 | 表格、文本、时序、画像数据 |
| 离线计算生态 | 集群调度、分布式执行 | 多源数据、历史数据 |
组件选择
| 需求 | 可选组件 | 作用 |
|---|---|---|
| 数据接入 | Flume、Kafka | 汇聚数据并进入处理链路 |
| SQL 查询 | Hive、Spark SQL | 面向报表和统计分析 |
| 批处理计算 | MapReduce、Spark | 完成大规模数据加工 |
| 随机读写访问 | HBase | 面向行键提供数据访问 |
| 资源管理 | YARN | 管理队列、容器和节点资源 |
配置与调优
| 配置项 | 关注点 | 适用说明 |
|---|---|---|
| HDFS 块大小 | 文件规模与节点规模 | 根据数据量规划存储组织方式 |
| 副本数 | 数据可用性 | 保持多节点复制能力 |
| YARN 资源 | 队列和容器容量 | 结合节点能力设置资源配额 |
| MapReduce 并行度 | 计算资源利用 | 按数据特征调整任务组织方式 |
| 生态工具 | 开发方式 | 选择 SQL、批处理、流处理组件 |
【常见问题】
问题1:hadoop是什么?
回答1:hadoop是什么指用于大数据分布式存储与计算的基础平台,可以把数据分布在多个节点上,并通过计算框架并行处理任务。
问题2:hadoop是什么适合哪些场景?
回答2:围绕hadoop是什么,可以把它对应到数据湖、日志分析、ETL、报表统计、机器学习数据准备和离线批处理等方向。
问题3:hadoop是什么包含哪些核心组件?
回答3:hadoop是什么通常包含 HDFS、YARN、MapReduce 和支撑生态扩展的公共组件,各组件分别承担存储、调度、计算和基础能力。
问题4:hadoop是什么可以怎样查看运行状态?
回答4:当团队关注hadoop是什么时,可以通过 NameNode、DataNode、ResourceManager、JobHistory 页面以及 jps 进程信息查看集群状态。
问题5:hadoop是什么如何与生态工具协同?
回答5:在理解hadoop是什么时,可以看到它与 Hive、Spark、HBase、Kafka、Flume 等工具协同,形成从数据接入、存储、计算到应用的完整链路。
免责声明:本文以技术概念说明为目的,提供通用信息,实施选择可结合团队版本、操作系统和平台规范。


