Hadoop分布式系统详解与面试关键点

需积分: 9 0 下载量 7 浏览量 更新于2024-08-05 收藏 12KB TXT 举报
"这是关于Hadoop的一次阶段测试,主要涵盖了Hadoop的基础概念、不同版本的区别、启动命令、高可用性(HA)等相关面试题。" Hadoop是一个由Apache基金会开发的分布式系统基础设施,专为处理和存储大规模数据而设计。它提供了一个分布式文件系统(HDFS),以及一个用于分布式计算的MapReduce框架。Hadoop的设计理念是容错性强、高效且可扩展,使得开发者可以编写并运行分布式应用程序,而无需深入理解分布式系统的底层细节。 在Hadoop的不同版本中,1.x版本主要包括Common、HDFS和MapReduce。而2.x版本引入了YARN(Yet Another Resource Negotiator),将资源管理和计算任务调度分开,提高了系统的灵活性和效率。3.x版本与2.x在组件上无显著变化,但可能包含了一些优化和增强。 启动HDFS(Hadoop Distributed File System)的命令是`start-dfs.sh`,这会启动NameNode(主节点,负责元数据管理)、DataNode(从节点,存储数据块)和SecondaryNameNode(辅助节点,帮助NameNode定期合并Edit Logs,防止NameNode重启时数据恢复时间过长)。 启动YARN的命令是`start-yarn.sh`,这会启动ResourceManager(负责全局资源调度)和NodeManager(每个节点上的管理器,负责本节点上的资源分配和管理)。YARN的工作流程大致如下:客户端向ResourceManager申请运行一个ApplicationMaster;ResourceManager选择合适的NodeManager启动ApplicationMaster;ApplicationMaster再向ResourceManager申请Container资源;最后,ApplicationMaster利用这些Container执行分布式计算任务。 高可用性(HA)是为了解决单点故障问题,确保系统在某个组件失败时仍能继续运行。对于Hadoop,HA包括HDFS HA和YARN HA。配置HA后,当NameNode或ResourceManager出现故障时,可以快速切换到备用节点,避免服务中断。实现HA通常涉及Zookeeper(协调和监控)、JournalNodes(记录HDFS的元数据更改)和检查点(如Standby NameNode)等组件,确保数据的完整性和系统的连续运行。 理解和掌握这些Hadoop的基本概念和技术对于在面试中展示自己的技能和知识是非常重要的,同时也为在实际生产环境中部署和管理Hadoop集群打下了坚实的基础。