在hadoopmapreduce框架中,有没有什么方法可以控制在哪个节点上启动reducer?

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

简而言之,我需要一种方法,根据hadoopmaprediceapi的分区来提示我希望运行某个reducer的主机。有什么办法吗?
有点长的故事:
我很少有Map器任务为某些hbase表生成(或从其他源导入)记录。已发出的记录 ImmutableBytesWritable 作为钥匙。此作业的缩减器数量与表区域的数量完全匹配,并使用自定义分区器分发记录,以便每个区域的记录都能到达相应的缩减器。
异径管用于产生 HFile 图像,每个区域一个图像,以便以后可以对其使用批量加载。这里唯一严重的问题是,我希望reducer至少“尝试运行”在相同的主机上,相应的区域服务器正在运行。这是为了获得为适当的hbase区域服务器生成hfiles位置(以hdfs表示)的良好概率。
你知道怎么做吗?
另一种方法是如何“请求”hdfs文件以“获取本地”。有了这个,我可以开始另一个mr作业,将Map器绑定到区域服务器(通过拆分)并请求相应的Map HFileget local .

wlzqhblo

wlzqhblo1#

目前还没有现成的方法来实现这一点,除非编写一个定制的调度程序,这将是一个过度的杀伤力。
上游票证不跟踪此功能请求https://issues.apache.org/jira/browse/mapreduce-199.

相关问题