Hadoop伪分布式模式充分利用所有核心

发布于 2024-12-18 23:52:49 字数 1146 浏览 0 评论 0原文

我正在我的 4 核笔记本电脑上以伪分布式模式运行任务。如何确保所有核心都得到有效利用。 目前,我的作业跟踪器显示一次只有一项作业正在执行。这是否意味着只使用一个核心?

以下是我的配置文件。

conf/core-site.xml:

<configuration>
   <property>
       <name>fs.default.name</name>
       <value>hdfs://localhost:9000</value>
   </property>
 </configuration>

conf/hdfs-site.xml:

<configuration>
  <property>
       <name>dfs.replication</name>
       <value>1</value>
  </property>
</configuration>

conf/mapred-site.xml:

<configuration>
   <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>  
   </property>

</configuration>

编辑: 根据答案,我需要在 mapred-site.xml 中添加以下属性

 <property>
     <name>mapred.map.tasks</name> 
     <value>4</value> 
  </property>
  <property>
     <name>mapred.reduce.tasks</name> 
     <value>4</value> 
  </property>

I am running a task in pseudo-distributed mode on my 4 core laptop. How can I ensure that all cores are effectively used.
Currently my job tracker shows that only one job is executing at a time. Does that mean only one core is used?

The following are my configuration files.

conf/core-site.xml:

<configuration>
   <property>
       <name>fs.default.name</name>
       <value>hdfs://localhost:9000</value>
   </property>
 </configuration>

conf/hdfs-site.xml:

<configuration>
  <property>
       <name>dfs.replication</name>
       <value>1</value>
  </property>
</configuration>

conf/mapred-site.xml:

<configuration>
   <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>  
   </property>

</configuration>

EDIT:
As per the answer, I need to add the following properties in mapred-site.xml

 <property>
     <name>mapred.map.tasks</name> 
     <value>4</value> 
  </property>
  <property>
     <name>mapred.reduce.tasks</name> 
     <value>4</value> 
  </property>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不可一世的女人 2024-12-25 23:52:49

mapreduce.tasktracker.map.tasks.maximummapreduce.tasktracker.reduce.tasks.maximum 属性控制每个节点的映射和化简任务数量。对于 4 核处理器,从 2/2 开始,然后根据需要更改值。一个槽是一个map或一个reduce槽,将值设置为4/4将使Hadoop框架同时启动4个map和4个reduce任务。一个节点上同时运行总共8个map和reduce任务。

mapred.map.tasksmapred.reduce.tasks 属性控制作业的 Map/Reduce 任务总数,而不是每个节点的任务数量。另外,mapred.map.tasks 是对 Hadoop 框架的提示,作业的映射任务总数等于 InputSplits 的数量。

mapreduce.tasktracker.map.tasks.maximum and mapreduce.tasktracker.reduce.tasks.maximum properties control the number of map and reduce tasks per node. For a 4 core processor, start with 2/2 and from there change the values if required. A slot is a map or a reduce slot, setting the values to 4/4 will make the Hadoop framework launch 4 map and 4 reduce tasks simultaneously. A total of 8 map and reduce tasks run at a time on a node.

mapred.map.tasks and mapred.reduce.tasks properties control the total number of map/reduce tasks for the job and not the # of tasks per node. Also, mapred.map.tasks is a hint to the Hadoop framework and the total # of map tasks for the job equals the # of InputSplits.

你穿错了嫁妆 2024-12-25 23:52:49

mapred.map.tasksmapred.reduce.tasks 将控制这一点,并且(我相信)将在 mapred-site.xml 中设置。然而,这将这些设置为集群范围的默认值;更常见的是,您会根据每个作业来配置这些。您可以使用 -D 在 java 命令行上设置相同的参数

mapred.map.tasks and mapred.reduce.tasks will control this, and (I believe) would be set in mapred-site.xml. However this establishes these as cluster-wide defaults; more usually you would configure these on a per-job basis. You can set the same params on the java command line with -D

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文