HDFS与YARN的角色定位
HDFS(Hadoop分布式文件系统)是Hadoop生态的存储基石,核心功能是通过NameNode(主节点)管理文件系统元数据(如文件目录结构、文件与数据块的映射关系),由DataNode(工作节点)实际存储数据块(默认128MB/块),并通过多副本机制(默认3副本)保证数据高可用。YARN(Yet Another Resource Negotiator)是Hadoop生态的资源管理与调度中枢,核心功能是通过ResourceManager(全局主节点)接收应用资源请求、统一分配集群资源(CPU、内存等),由NodeManager(每个节点的代理)监控本节点资源使用情况并启动/销毁容器(Container,资源抽象单元),通过ApplicationMaster(每个应用的实例)协调应用的资源申请、任务调度与进度监控。
协同工作机制:从作业提交到结果输出
HDFS与YARN的协同以“用户提交数据处理作业”为起点,遵循“数据存储-资源调度-任务执行-结果反馈”的闭环流程:
关键交互细节:数据与资源的联动
Ubuntu环境下的配置与启动要点
在Ubuntu上部署HDFS与YARN时,需通过配置文件明确二者的协同关系:
hdfs-site.xml设置NameNode目录(dfs.namenode.name.dir)、DataNode目录(dfs.datanode.data.dir)及副本数(dfs.replication);编辑core-site.xml设置HDFS的默认文件系统地址(fs.defaultFS,如hdfs://namenode:9000)。yarn-site.xml设置ResourceManager主机名(yarn.resourcemanager.hostname)、NodeManager的辅助服务(yarn.nodemanager.aux-services,需设置为mapreduce.shuffle以支持MapReduce任务);编辑mapred-site.xml设置计算框架为YARN(mapreduce.framework.name,值为yarn)。start-dfs.sh),初始化NameNode与DataNode;再启动YARN(start-yarn.sh),启动ResourceManager与NodeManager。启动后可通过hdfs dfsadmin -report查看HDFS节点状态,通过yarn node -list查看YARN节点状态。