복붙노트

[HADOOP] mapred.reduce.parallel.copies를 조정하는 방법?

HADOOP

mapred.reduce.parallel.copies를 조정하는 방법?

http://gbif.blogspot.com/2011/01/setting-up-hadoop-cluster-part-1-manual.html을 읽은 다음 mapred.reduce.parallel.copies를 실험하고 싶습니다.

블로그는 "로그를 매우 신중하게보고있다"고 언급했다. 우리가 우리가 달콤한 자리에 도착했다는 것을 어떻게 알 수 있습니까? 우리는 무엇을 찾아야합니까? 어떻게 우리가 병렬화가되고 있는지 감지 할 수 있습니까?

해결법

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

    1.이를 위해서는 기본적으로 CPU, RAM, 디스크 및 네트워크 등 4 가지를 찾아야합니다. 설정이 이러한 메트릭의 임계 값을 초과하면 한계를 밀고 있다고 추론 할 수 있습니다. 예를 들어 "mapred.reduce.parallel.copies"의 값을 사용 가능한 코어 수보다 훨씬 큰 값으로 설정 한 경우이 속성을 기반으로 대기 상태에서 너무 많은 스레드가 종료됩니다. 스레드 맵 출력을 가져 오기 위해 생성됩니다. 그 네트워크에 추가로 압도 당할 수도 있습니다. 또는 셔플 할 중간 출력이 너무 많으면 디스크 기반 셔플이 필요하므로 작업이 느려지므로 RAM 기반 셔플보다 느립니다. RAM을 기준으로 "mapred.job.shuffle.input.buffer.percent"에 현명한 값을 선택하십시오 (기본값은 Reducer 힙의 70 %로 보통 좋음). 그래서, 이것들은 당신이 지나치게 병렬화하고 있는지 아닌지를 알려줄 것입니다. 고려해야 할 다른 많은 것들도 있습니다. "Hadoop Definitve Guide"6 장을 읽어 보시기 바랍니다.

    이를 위해서는 기본적으로 CPU, RAM, 디스크 및 네트워크 등 4 가지를 찾아야합니다. 설정이 이러한 메트릭의 임계 값을 초과하면 한계를 밀고 있다고 추론 할 수 있습니다. 예를 들어 "mapred.reduce.parallel.copies"의 값을 사용 가능한 코어 수보다 훨씬 큰 값으로 설정 한 경우이 속성을 기반으로 대기 상태에서 너무 많은 스레드가 종료됩니다. 스레드 맵 출력을 가져 오기 위해 생성됩니다. 그 네트워크에 추가로 압도 당할 수도 있습니다. 또는 셔플 할 중간 출력이 너무 많으면 디스크 기반 셔플이 필요하므로 작업이 느려지므로 RAM 기반 셔플보다 느립니다. RAM을 기준으로 "mapred.job.shuffle.input.buffer.percent"에 현명한 값을 선택하십시오 (기본값은 Reducer 힙의 70 %로 보통 좋음). 그래서, 이것들은 당신이 지나치게 병렬화하고 있는지 아닌지를 알려줄 것입니다. 고려해야 할 다른 많은 것들도 있습니다. "Hadoop Definitve Guide"6 장을 읽어 보시기 바랍니다.

    작업을 효율적으로 수행하기 위해 취할 수있는 조치 중 일부는 결합기를 사용하여 데이터 전송을 제한하거나 중간 압축 등을 사용하는 것과 같습니다.

    HTH

    추신 : 대답은 "mapred.reduce.parallel.copies"에만 그다지 구체적이지 않습니다. 일반적으로 작업 조정에 대해 알려줍니다. 실제로이 속성 만 설정하면 많은 도움이되지 않습니다. 다른 중요한 속성도 고려해야합니다.

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

    2."스위트 스폿"에 도달하는 것은 실제로 가장 중요한, 일반적으로 전체 작업 시간으로 간주되는 메트릭에 대해 최상의 결과를 제공하는 매개 변수를 찾는 것입니다. 어떤 매개 변수가 작동하는지 알아 보려면 Hadoop과 함께 제공되는 MrBench, TestDFSIO 및 NNBench와 같은 프로파일 링 도구를 사용하는 것이 좋습니다. 이것들은 hadoop-mapreduce-client-jobclient - *. jar에 있습니다.

    "스위트 스폿"에 도달하는 것은 실제로 가장 중요한, 일반적으로 전체 작업 시간으로 간주되는 메트릭에 대해 최상의 결과를 제공하는 매개 변수를 찾는 것입니다. 어떤 매개 변수가 작동하는지 알아 보려면 Hadoop과 함께 제공되는 MrBench, TestDFSIO 및 NNBench와 같은 프로파일 링 도구를 사용하는 것이 좋습니다. 이것들은 hadoop-mapreduce-client-jobclient - *. jar에 있습니다.

    이 명령을 실행하면 앞서 언급 한 벤치 마크 프로그램 이외에도 사용할 수있는 벤치 마크 프로그램의 목록이 많이 표시됩니다.

    기본 매개 변수를 사용하여 실행하고 기본 벤치 마크를 제공하는 테스트를 실행 한 다음 하나의 매개 변수를 변경하고 다시 실행하는 것이 좋습니다. 약간의 시간이 걸리지 만 가치가 있습니다. 특히 매개 변수를 변경하고 벤치 마크를 실행하는 스크립트를 사용하는 경우 더욱 그렇습니다.

  3. from https://stackoverflow.com/questions/8642643/how-to-tune-mapred-reduce-parallel-copies by cc-by-sa and MIT license