Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hadoop:还原数保持不变4_Java_Hadoop_Mapreduce_Distributed Computing - Fatal编程技术网

Java hadoop:还原数保持不变4

Java hadoop:还原数保持不变4,java,hadoop,mapreduce,distributed-computing,Java,Hadoop,Mapreduce,Distributed Computing,我正在用mapred.reduce.tasks=100运行hadoop作业(只是在试验)。生成的贴图数为537,这取决于输入拆分。问题是并行运行的减速器数量不会超过4个。即使在地图100%完成之后。有没有一种方法可以增加运行的减速机的数量,因为CPU使用率是次优的,而且减速机的速度非常慢 我还设置了mapred.tasktracker.reduce.tasks.max=100。但这似乎不会影响并行运行的减速器的数量。您可以使用作业配置指定减速器的数量,如下所示: job.setNumReduce

我正在用
mapred.reduce.tasks=100运行hadoop作业(只是在试验)。生成的贴图数为537,这取决于输入拆分。问题是并行运行的减速器数量不会超过4个。即使在地图100%完成之后。有没有一种方法可以增加运行的减速机的数量,因为CPU使用率是次优的,而且减速机的速度非常慢


我还设置了
mapred.tasktracker.reduce.tasks.max=100
。但这似乎不会影响并行运行的减速器的数量。

您可以使用作业配置指定减速器的数量,如下所示:

job.setNumReduceTasks(6)

此外,在执行jar时,可以传递如下属性:


-D mapred.reduce.tasks=6

检查分区程序使用的哈希代码;如果您的键只返回4个hashcode值,Hadoop将只调度4个reducer


您可能需要实现自己的分区程序以获得更多的还原程序,但是,如果您的映射程序只生成4个键,则4是最大的还原程序数。

事实证明,更改mapred-site.xml后,只需重新启动mapred和dfs守护程序
mapred.tasktracker.reduce.tasks.maximum确实是增加reduce容量的正确参数


无法理解为什么hadoop每次提交作业时都不重新加载
mapred站点

我认为数字“4”是集群的“减少任务容量”。有没有办法增加这一点?您使用的是什么计划程序?嗯,既然它只是一个作业,那么计划是否重要?我认为在任何情况下,单个作业都应该占用所有资源…我在mapred-site.xml中设置了mapred.reduce.tasks。但那不是我想要的。我想增加减速机的“容量”。属性mapred.reduce.tasks=100值在此不起作用。这取决于可用的CPU和I/O带宽。您知道您拥有的CPU数量吗?如果没有,请尝试cat/proc/cpuinfo,因为映射程序生成大约200000个关键点。典型的映射器输出是。这是一个键值对。来自同一主机的所有URL都将转到一个减速机。因此,如果有多个还原程序并行运行,我可以同时处理来自多个主机的数据仅供参考,您只需在编辑mapred-site.xml后重新启动mapred。无需重新启动dfs。