YARN 클러스터와 수십 개의 노드가 클러스터에 있습니다. 내 프로그램은지도 전용 작업입니다. Avro 입력의 크기는 수백만 행에 불과하지만 단일 행을 처리하려면 많은 CPU 전력이 필요합니다. 다른 노드가 참여하지 않는 반면 많은지도 작업이 단일 노드에서 실행되고 있음을 관찰했습니다. 이로 인해 일부 노드가 매우 느려지고 전반적인 HDFS 성능에 영향을줍니다. 이 동작은 Hadoop 데이터 - 지역성 때문인 것으로 가정합니다.Hadoop MapReduce 작업의 데이터 지역 전환
스위치를 끌 수 있는지 궁금하거나 YARN이지도 작업을 클러스터 전체에보다 균일하게 배포하도록하는 또 다른 방법이 있습니까?
감사합니다.
yarn.scheduler.capacity.node-locality-delay
: 쉽게 (반드시 모든 데이터가 한 노드의 오른쪽에?!)이 지역은 휴식을 취할 수있는 쉬운 방법이 될 것으로 보인다 클러스터에 걸쳐보다 균일하게 데이터를 재배포 할 수없는 당신을 가정
FairScheduler를 사용하는 경우 관련성이 있습니다. http://tech-blog.flipkart.net/2015/05/is-data-locality-always-out-of-the-box-in-hadoop- 정말로/ –
감사합니다. 나는 그것을 조사 할 것이다. 데이터 크기는 실제로 총 20MB이므로 다른 노드의 동일한 노드 + 2 복제본에 위치 할 가능성이 큽니다. 우리는 최근에 공정한 스케줄러를 사용하기 시작했습니다. 링크에 대해서도 감사드립니다! – Vyacheslav
@Vyacheslav : 20 MB가 너무 작아서 Hadoop을 처리 할 수 없습니다. – Marco99