복붙노트

[HADOOP] Hadoop 의사 분산 모드에서 모든 코어의 완전한 활용

HADOOP

Hadoop 의사 분산 모드에서 모든 코어의 완전한 활용

내 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>

해결법

  1. ==============================

    1.mapred.map.tasks와 mapred.reduce.tasks는 이것을 제어 할 것이고, (나는) mapred-site.xml에서 설정할 것이라고 믿는다. 그러나이를 클러스터 전반의 기본값으로 설정합니다. 보다 일반적으로 작업 단위로 구성합니다. -D를 사용하여 java 명령 행에서 동일한 매개 변수를 설정할 수 있습니다

    mapred.map.tasks와 mapred.reduce.tasks는 이것을 제어 할 것이고, (나는) mapred-site.xml에서 설정할 것이라고 믿는다. 그러나이를 클러스터 전반의 기본값으로 설정합니다. 보다 일반적으로 작업 단위로 구성합니다. -D를 사용하여 java 명령 행에서 동일한 매개 변수를 설정할 수 있습니다

  2. ==============================

    2.mapreduce.tasktracker.map.tasks.maximum 및 mapreduce.tasktracker.reduce.tasks.maximum 속성은 맵의 수를 제어하고 노드 당 작업을 줄입니다. 4 코어 프로세서의 경우 2/2로 시작하고 필요한 경우 값을 변경하십시오. 슬롯은 맵 또는 축소 슬롯이며, 값을 4/4로 설정하면 Hadoop 프레임 워크가 4 개의 맵을 시작하고 4 개의 작업이 동시에 감소합니다. 노드에서 한 번에 총 8 개의 맵 및 축소 작업이 실행됩니다.

    mapreduce.tasktracker.map.tasks.maximum 및 mapreduce.tasktracker.reduce.tasks.maximum 속성은 맵의 수를 제어하고 노드 당 작업을 줄입니다. 4 코어 프로세서의 경우 2/2로 시작하고 필요한 경우 값을 변경하십시오. 슬롯은 맵 또는 축소 슬롯이며, 값을 4/4로 설정하면 Hadoop 프레임 워크가 4 개의 맵을 시작하고 4 개의 작업이 동시에 감소합니다. 노드에서 한 번에 총 8 개의 맵 및 축소 작업이 실행됩니다.

    mapred.map.tasks 및 mapred.reduce.tasks 등록 정보는 작업 당 map / reduce 작업의 총 수를 제어하지만 노드 당 작업 수는 제어하지 않습니다. 또한 mapred.map.tasks는 Hadoop 프레임 워크에 대한 힌트이며 작업의 총 맵 작업 수는 InputSplits 수와 같습니다.

  3. from https://stackoverflow.com/questions/8357296/full-utilization-of-all-cores-in-hadoop-pseudo-distributed-mode by cc-by-sa and MIT license