Hadoop 클러스터의 여러 JobTracker 노드가 의미하는 바는 무엇입니까?

Hadoop 클러스터의 여러 JobTracker 노드가 의미하는 바는 무엇입니까?

잠재적으로 동일한 MR(TaskTracker) 노드 세트를 공유하도록 구성된 여러 JobTracker 노드를 가질 수 있다는 인상을 받았습니다. 일반적으로 Hadoop 클러스터의 모든 노드는 동일한 구성 파일 세트를 가져야 한다는 것을 알고 있습니다(일반적으로 /etc/hadoop/conf/적어도 CDH(Cloudera Distribution of Hadoop)의 경우 --- 아래에 있습니다. 에서 여러 작업 추적기를 정의할 수 있습니까 mapred-site.xml? 다음과 같습니다.

<configuration>
   <property>
     <name>mapred.job.tracker</name>
     <value>jt01.mydomain.not:8021</value>
   </property>
   <property>
     <name>mapred.job.tracker</name>
     <value>jt02.mydomain.not:8021</value>
   </property>
...
</configuration>

아니면 이에 대해 허용되는 다른 구문이 있습니까?

이 작업을 수행하면 어떤 결과가 발생합니까? 각 JobTracker는 각 TaskTracker 노드의 로드에 대한 정보를 얻습니까? 즉, 두 JobTracker는 TT의 가십 정보만을 기반으로 TT 노드 전체에서 일정을 조정할 수 있습니까? 아니면 서로 대화해야 합니까?

이것은 어디에도 문서화되어 있습니까?

답변1

다중 JobTracker는 다중 클러스터 아키텍처에서 유용할 수 있습니다. 따라서 클러스터 수준 로드는 JobTracker 간에 분산될 수 있습니다.

단일 클러스터에서는 다음이 문제가 될 수 있습니다.

(a) 여러 JobTracker 서버가 HDFS 클러스터를 공유하는 경우 각각은 서로 다른 mapred.system.dir을 가져야 합니다. 그렇지 않으면 JobTracker가 서로의 작업 파일을 삭제합니다.

(b) 관리 스크립트 "모두 시작 또는 모두 중지"는 각각 다른 포트를 얻지 않는 한 문제가 됩니다.

관련 정보