您的Mapper和Reducer类始终在特定的任务跟踪器上运行。但是,如何获得任务跟踪器上的信息?传递给setup
方法的唯一内容是TaskInputOutputContext。您可以获取任务尝试ID,但是如何将其映射到TaskTracker对象? (例如,获取主机名,相应的作业跟踪器等。是的,我知道您可以通过java.net.InetAddress.getLocalHost().getHostName()
获取主机名,但这完全在Hadoop之外。)
最佳答案
您可以随时访问MapReduce网络用户界面并查看所有这些信息。只需单击要分析的作业,然后您就可以查看单个 map 和简化任务的几乎所有内容。
关于hadoop - 如何从映射器或化简器内部获取Hadoop任务跟踪器信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11824467/