Nem*_*emo 8 java hadoop mapreduce mahout
我在我的4核笔记本电脑上以伪分布式模式运行任务.如何确保有效使用所有核心.目前,我的工作跟踪器显示一次只执行一项工作.这是否意味着只使用一个核心?
以下是我的配置文件.
CONF /芯-site.xml中:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
CONF/HDFS-site.xml中:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
CONF/mapred-site.xml中:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
编辑:根据答案,我需要在mapred-site.xml中添加以下属性
<property>
<name>mapred.map.tasks</name>
<value>4</value>
</property>
<property>
<name>mapred.reduce.tasks</name>
<value>4</value>
</property>
Run Code Online (Sandbox Code Playgroud)
mapreduce.tasktracker.map.tasks.maximum和mapreduce.tasktracker.reduce.tasks.maximum属性控制每个节点的map和reduce任务的数量.对于4核处理器,从2/2开始,然后根据需要更改值.slot是map或reduce slot,将值设置为4/4将使Hadoop框架同时启动4个map和4个reduce任务.在节点上一次运行总共8个map和reduce任务.
mapred.map.tasks和mapred.reduce.tasks属性控制作业的map/reduce任务总数,而不是每个节点的任务数.此外,还有mapred.map.tasksHadoop框架的提示,作业的总映射任务数等于InputSplits的数量.
mapred.map.tasks并将mapred.reduce.tasks控制它,并且(我相信)将被设置在mapred-site.xml. 然而,这将这些设置为集群范围的默认值;更常见的是,您会根据每个作业来配置这些。您可以在 java 命令行上设置相同的参数-D