我正在研究Java MapReduce程序,我想知道是否可以使用套接字或任何其他方式在reducer之间共享数据。如果它是通过套接字,如何检索操作减速器的机器的IP地址和端口号为某个键?
提前致谢:)
答案 0 :(得分:0)
您可以通过自己的自定义套接字进行通信,并找到运行特定键的reducer的特定主机,您可以使用JobClient API在作业跟踪器中查询正在运行的作业减少器列表。
要查找reducer主机,请通过作业Partitioner(大多数情况下为Hash)运行密钥,确定reducer任务编号(0到num reducers-1),然后找到正在运行reducer任务的机器(从JOB Tracker通过JobClient API)。
有些事情需要考虑: