hadoop是什么意思:大数据基础框架

hadoop是什么意思,它是Apache基金会开源的分布式大数据处理框架,核心设计目标是在普通商用服务器组成的集群上,存储与处理TB、PB级别的海量异构数据,面向需要批量离线数据计算的数据开发、大数据运维、企业数据中台搭建人员,不适用于毫秒级实时流计算、单台小数据量业务这类场景,框架由HDFS分布式文件系统、MapReduce分布式计算模型两大核心组件构成,后续生态扩展出YARN资源调度、Hive、HBase等配套组件,采用Java语言开发,支持横向扩展,节点故障时可自动完成任务迁移与数据副本恢复。

hadoop是什么意思,核心组件原理

HDFS负责数据存储,把大文件切分成固定大小的数据块,默认块大小为128MB,同一份数据默认保存3个副本,分散存放在集群不同节点,单台服务器硬盘或者整机损坏后,剩余副本仍然可以读取数据,解决单机存储容量上限和硬件单点故障问题。MapReduce负责分布式计算,将复杂计算任务拆分成Map阶段并行处理,再通过Reduce阶段做汇总合并,任务会自动分发到存储对应数据的节点执行,减少跨节点数据传输。YARN作为资源调度层,统一管理集群CPU、内存资源,允许多个计算任务共享同一个Hadoop集群,避免单独为每个任务搭建独立集群。

ApacheHadoop项目由Apache软件基金会托管,遵循Apache2.0开源协议,该协议允许商业企业免费使用、二次修改源码,只需要保留原项目版权声明,国内很多互联网、金融、政企的数据平台早期离线数仓,都是基于该协议下的Hadoop版本进行二次部署。

hadoop是什么意思,适用场景与边界限制

典型应用场景包含日志离线分析、历史数据归档、海量结构化与非结构化数据批量清洗、数据仓库ETL作业,适合每天定时跑批、对计算延迟容忍在分钟到小时级别的业务。它的适用边界十分明确,Hadoop原生MapReduce计算延迟偏高,不适合实时推荐、实时风控这类要求秒级响应的业务,这类场景一般搭配Flink、SparkStreaming做实时计算补充;同时如果业务总数据量小于100GB,单机数据库或者单机计算程序就可以完成处理,部署Hadoop集群会带来额外运维成本。

你部署Hadoop集群前,需要规划节点角色,区分NameNode主节点、DataNode数据节点,NameNode保存整个文件系统元数据,属于集群核心节点,生产环境一般配置高可用HA方案,部署两个NameNode,借助ZKFC与Zookeeper实现主备自动切换,防止NameNode宕机造成整个集群不可用。DataNode承担实际数据块存储,增加DataNode节点就能横向扩容存储容量与计算能力。

下表对比Hadoop原生MapReduce与生态内Spark的差异,方便你判断选型:

对比维度MapReduceSpark
计算模式磁盘读写中间结果支持内存缓存中间结果
计算延迟较高,适合大批量离线批处理较低,支持批处理、交互式查询
资源调度原生绑定YARN可运行在YARN之上
适用任务超大规模一次性离线ETL迭代计算、交互式数据分析

hadoop是什么意思,生态配套组件

Hive建立在HDFS之上,把结构化数据映射成数据库表,提供类SQL查询语法,底层会自动把SQL语句转换成MapReduce或者Tez执行任务,降低大数据开发人员编写分布式代码的门槛。HBase是基于HDFS的分布式列式数据库,支持随机读写,弥补HDFS只适合顺序读写、不支持随机更新的短板。

常见错误部署方式是把NameNode和大量DataNode混部在同一台服务器,当DataNode磁盘负载飙升时,会挤占NameNode进程内存,引发元数据响应超时,生产环境推荐将NameNode独立部署,预留充足堆内存。

学习Hadoop可以从伪分布式模式入门,伪分布式是在单台机器模拟完整Hadoop集群,所有角色都运行在本机,不需要多台物理服务器,适合理解组件通信逻辑,完成基础命令练习后,再搭建多节点完全分布式集群,学习重点掌握HDFSshell命令、YARN任务提交、日志排查、副本均衡工具hdfsbalancer,该工具可以平衡各个DataNode之间的数据块分布,避免部分节点磁盘写满、其余节点空间闲置。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于hadoop是什么意思的文章欢迎访问:百科