hadoop—是否可以在特定的从属节点上调度map reduce作业?

ddhy6vgd  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(264)

是否可以在hadoop集群中的某些特定节点(而不是所有节点)上调度任何map reduce作业?例如,在10个可用节点中的4个从属节点上。我试着在谷歌上搜索,但没有找到任何相关的结果。此页说明默认情况下,所有作业都安排在整个集群上。
我的要求理由:
我必须实现一个分布式关系数据库作为研究生级别的工作任务。我正在使用hadoop,根据分配要求,我们必须将数据复制到集群的连接机器上。现在,我们的一个复制模型要求在可用机器的子集上运行查询。

mu0hgdu0

mu0hgdu01#

假设要在hadoop集群上处理一些数据,您已经提交了一个map reduce作业,现在它所做的是job tracker,它通过为不同的任务跟踪器分配、监视和协调不同的任务来扮演主任务的角色。
job tracker将与namenode进行通信,namenode将再次扮演主节点的角色,以获取需要处理的数据,因为namenode保存元数据的所有信息,所以它将根据哪个块驻留在哪个datanode向job tracker提供特定数据所在位置的所有信息。
作为hadoop框架的一部分,job tracker将调用那些数据块所在的datanode的任务跟踪器,最坏情况是,该节点的任务跟踪器最接近一些数据块所在的datanode。
因此,总结一下,我们无法控制哪些特定的机器将被使用,这将取决于您的数据块为该特定作业驻留的位置。如果它位于4台机器中,那么此时将使用4台机器,如果是10台,那么将使用10台

相关问题