복붙노트

[HADOOP] 맵 태스크가 항상 단일 노드에서 실행되는 이유

HADOOP

맵 태스크가 항상 단일 노드에서 실행되는 이유

4 개의 노드가있는 완전 분산 Hadoop 클러스터가 있습니다 .12 개의 맵 작업이 작업에 적합하다고 판단하는 Jobtracker에 작업을 제출하면 이상한 일이 발생합니다 .12 개의 맵 작업은 전체 클러스터. 질문하기 전에 이미 아래 작업을 수행했습니다.

그러나 그것은 효과가 없으므로 누군가가 왜 그리고 어떻게 고칠 수 있는지 말해 줄 수 있기를 바랍니다.

해결법

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

    1.입력 데이터 파일의 모든 블록이 해당 노드에있는 경우 스케줄러는 동일한 노드를 우선 순위로 둡니다.

    입력 데이터 파일의 모든 블록이 해당 노드에있는 경우 스케줄러는 동일한 노드를 우선 순위로 둡니다.

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

    2.분명히 소스 데이터 파일은 이제 하나의 데이터 노드에 있습니다. 밸런서의 결함이 될 수 없습니다. 내가 볼 수 있듯이 hdfs에는 복제가 하나만 있어야하거나 완전히 분산 된 Hadoop 클러스터에 있지 않아야합니다.

    분명히 소스 데이터 파일은 이제 하나의 데이터 노드에 있습니다. 밸런서의 결함이 될 수 없습니다. 내가 볼 수 있듯이 hdfs에는 복제가 하나만 있어야하거나 완전히 분산 된 Hadoop 클러스터에 있지 않아야합니다.

  3. ==============================

    3.입력이 어떻게 분리되는지 확인하십시오. 하나의 입력 분할 만 가질 수 있습니다. 즉, 데이터를 처리하는 데 하나의 노드 만 사용됩니다. 스템에 입력 파일을 더 추가하고 다른 노드에 배치 한 다음 작업을 수행중인 노드를 확인하여이를 테스트 할 수 있습니다.

    입력이 어떻게 분리되는지 확인하십시오. 하나의 입력 분할 만 가질 수 있습니다. 즉, 데이터를 처리하는 데 하나의 노드 만 사용됩니다. 스템에 입력 파일을 더 추가하고 다른 노드에 배치 한 다음 작업을 수행중인 노드를 확인하여이를 테스트 할 수 있습니다.

    그래도 작동하지 않으면 클러스터가 올바르게 구성되어 있는지 확인하십시오. 특히, 이름 노드에 슬레이브 파일에 설정된 다른 노드에 대한 경로가 있고 각 슬레이브 노드에 마스터 파일에 이름 노드가 설정되어 있는지 확인하십시오.

  4. from https://stackoverflow.com/questions/12135949/why-map-task-always-running-on-a-single-node by cc-by-sa and MIT license