복붙노트

[HADOOP] 이유는 간단한 인사 세계 작업 속도가 느린 하둡이다

HADOOP

이유는 간단한 인사 세계 작업 속도가 느린 하둡이다

https://hadoop.apache.org/docs/r3.1.2/hadoop-project-dist/hadoop-common/SingleCluster.html : 나는 하둡 웹 사이트에서 자습서를 다음입니다. 나는 의사 분산 모드에서 다음 예제를 실행합니다.

time hadoop jar hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar grep input output 'dfs[a-z.]+'

완료하는 데 47 분 : 그것은 일을합니다. 내가 네트워크 (와이파이)를 끌 때, 약 50초에 완료됩니다.

내가 로컬 (독립형) 모드를 사용하여 동일한 명령을 실행하면 (맥에)에서 약 5 초 완료됩니다.

나는 의사 분산 모드에서 더 많은 오버 헤드 관련이 있음을 이해하고, 따라서 그것은 더 많은 시간이 소요되지만,이 경우에는 방법이 더 시간이 걸립니다. CPU는 운전 중 완전히 유휴 상태입니다.

당신은이 문제를 일으킬 수있는 어떤 생각을 가지고 있습니까?

해결법

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

    1.첫째, 빠른 시간 초래 네트워크를 끄는 이유에 대한 설명이 없습니다. 당신은 그 문제를 알아 내기 위해 하둡 로그를 발굴해야 할 것이다.

    첫째, 빠른 시간 초래 네트워크를 끄는 이유에 대한 설명이 없습니다. 당신은 그 문제를 알아 내기 위해 하둡 로그를 발굴해야 할 것이다.

    이것은 전형적인 행동 대부분의 사람들이 하나의 노드에서 하둡을 실행하여 발생할 수 있습니다. 효과적으로, 당신은 당신의 옆집 이웃에게 뭔가를 제공하기 위해 페덱스를 사용하려고합니다. 항상 분산 운영 체제의 고유 한 오버 헤드 때문에 그것을 넘어서 걸어 빨라집니다. 로컬 모드를 실행하면, 당신은 단지지도 - 절감 기능을 수행한다. 그리고 당신이보고있는 것은 그와 관련된 대기 시간입니다, 당신은 의사 분산 실행하면 모든 하둡 서버 (리소스 관리자, 컴퓨팅에 대한 NodeManagers 네임 노드, 데이터 DataNode에서)를 사용합니다.

    당신이 당신의 작업을 제출하면, 리소스 관리자를 예약 할 수 있습니다. 클러스터가 사용 중이 아니므로,이 노드 관리자에서 리소스를 요청합니다. 노드 관리자는 사용자가 원하는 응용 프로그램의 마스터를 실행하는 용기를 줄 것이다. 일반적으로이 루프는 약 10 초 정도 걸립니다. 당신의 AM 일단은지도의 및 작업을 줄이기 위해이 리소스 관리자에서 리소스를 요청합니다 실행 중입니다. 이것은 또 다른 10 초 걸립니다. 당신이 당신의 작업을 제출할 때이 작업이 실제로 리소스 관리자에 제출하기 전에 또한 3 초 대기 주위에있다. 지금까지 그 23초 그리고 당신은 아직 계산을 수행하지 않았습니다.

    작업이 실행되면, 대기의 원인은 메모리를 할당한다. 작은 시스템 (> 32GB 메모리)에 OS가 공간을 할당하는 데 다소 시간이 걸릴 수 있습니다. 당신은 하둡에 대한 간주되는 상용 하드웨어에서 같은 일을 실행한다면 (16+ 코어는 64 + GB는) 당신은 아마 더 가까이 25~30초에 실행 시간을 볼 것입니다.

  2. from https://stackoverflow.com/questions/54953620/why-is-hadoop-slow-for-a-simple-hello-world-job by cc-by-sa and MIT license