Hadoop 是一个开源的分布式计算框架,主要用于处理和存储大规模数据集。以下是学习Hadoop时需要掌握的一些关键概念和技术要点:
Hadoop 概述
- Hadoop是什么: - Hadoop是一个基于Java编写的开源软件库,用于在商用硬件集群上分布式处理和存储海量数据。
- 它提供了一个高容错性、可扩展性和高效的数据处理环境。
- Hadoop的发展历史:- 由Doug Cutting和Mike Cafarella于2005年开发,灵感来源于Google发表的大规模数据处理的三篇论文(GFS、MapReduce、Bigtable)。
- Hadoop三大发行版本:- Apache Hadoop:官方开源社区发布的纯开源版本,基础且稳定。- Cloudera Distribution Including Apache Hadoop (CDH):Cloudera提供的包含额外工具和服务的企业级发行版。- Hortonworks Data Platform (HDP):Hortonworks公司提供的企业级发行版,后与Cloudera合并为Cloudera Data Platform (CDP)。
- Hadoop的优势:- 高容错性:通过数据冗余和故障恢复机制保证数据安全性。- 成本效益:利用廉价的商用硬件构建大规模存储和计算平台。- 扩展性:能够轻松地水平扩展以处理PB级别的数据。- 性能:并行处理架构支持对大规模数据进行快速处理。
- Hadoop的组成:- **Hadoop Distributed File System (HDFS)**:分布式文件系统,用于跨多台机器存储大量数据块。- **Yet Another Resource Negotiator (YARN)**:资源管理器,负责集群内资源分配和任务调度。- MapReduce:编程模型,用于大规模数据集的并行处理,包括映射(map)阶段和归约(reduce)阶段。
Hadoop环境搭建
- 安装JDK:首先需要安装Java开发工具包(JDK),因为Hadoop是用Java编写的。
- 安装Hadoop:下载Hadoop压缩包,解压到指定目录,并配置相关环境变量和配置文件(如
hadoop-env.sh
、core-site.xml
、hdfs-site.xml
和yarn-site.xml
等)。
运行模式
- 伪分布式模式:单机上的简化分布模式,所有Hadoop守护进程在同一节点运行,但每个守护进程作为独立进程启动,模拟完全分布式环境。
- 完全分布式模式:多节点集群模式,每个守护进程分别在不同的物理节点上运行,实现真正的分布式计算和存储。
其他关键点
- HDFS工作原理:NameNode负责元数据管理,DataNode负责实际数据存储;心跳机制保持通信和报告状态。
- MapReduce执行过程:从客户端提交作业开始,经过JobTracker分发任务、TaskTracker执行任务以及结果聚合等一系列步骤。
实践Hadoop通常涉及搭建环境、编写MapReduce程序、上传数据至HDFS、执行任务、监控任务进度和查看输出结果等步骤。对于初学者来说,从本地伪分布式模式开始熟悉操作流程,再逐步过渡到完全分布式集群会是一个比较好的学习路径。同时,了解和使用其他生态系统组件,如Hive、Pig、HBase、Spark等,有助于更全面地理解和应用Hadoop技术栈。
版权归原作者 转身成为了码农 所有, 如有侵权,请联系我们删除。