java - 为什么 ShuffleConsumerPlugin 在映射之前没有启动?

标签 java hadoop hadoop2

我创建了 ShuffleConsumerPlugin 的自定义实现,它可以正常工作。但是,它是在我的映射任务完成后实例化的:

org.apache.hadoop.mapred.LocalJobRunner: Waiting for map tasks
org.apache.hadoop.mapred.LocalJobRunner: Starting task: attempt_local1582630093_0001_m_000000_0
org.apache.hadoop.mapred.LocalJobRunner: map > sort
org.apache.hadoop.mapred.Task: Task 'attempt_local1582630093_0001_m_000000_0' done.
org.apache.hadoop.mapred.LocalJobRunner: map task executor complete.
org.apache.hadoop.mapred.LocalJobRunner: Waiting for reduce tasks
org.apache.hadoop.mapred.LocalJobRunner: Starting task: attempt_local1582630093_0001_r_000000_0
org.apache.hadoop.mapred.ReduceTask: Using ShuffleConsumerPlugin: FooPlugin

Reduce 任务在映射任务完成后开始。我按照建议将作业的 mapreduce.job.reduce.slowstart.completedmaps 设置为 0.0 here ,但这没有任何区别。

我正在使用 Hadoop 2.5.1

最佳答案

我猜你是在本地模式下工作。所以只有一个映射器运行。 Reduce 阶段将在至少一个映射器完全交付他的输出时开始(使用提到的设置 mapreduce.job.reduce.slowstart.completedmaps = 0.0)。

关于java - 为什么 ShuffleConsumerPlugin 在映射之前没有启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26473297/

相关文章:

java - Junit 运行肯定失败

java - 我应该在构造函数中验证参数吗?

python - 在python中更改用户

java - 如何使用 Necessitas(qt 端口)构建我的 HelloWorld Android 应用程序?

java - 将 JSON 响应映射到多个 POJO

hadoop - Flume:java.io.IOException:不是数据文件

hadoop - 在启用 kerberos 的 CDH 集群中添加 Hbase 服务

hadoop - 错误:Hadoop名称节点格式:找不到文件或目录?

hadoop - 我必须实现hadoop,这样它才能处理调用详细记录的数据?

hadoop - Hadoop 2.5.2响应速度慢