2016-12-19 7 views
0

Spark 1.4 (https://github.com/soundcloud/cosine-lsh-join-spark/tree/master/src/main/scala/com/soundcloud/lsh)에 LSH 알고리즘을 적용하여 LIBSVM 형식 (https://www.csie.ntu.edu.tw/~cjlin/libsvm/)의 텍스트 파일 (4GB)을 처리하여 중복 된 것을 찾습니다. 먼저 36 코어가있는 실행 프로그램을 하나만 사용하여 서버에서 스칼라 스크립트를 실행했습니다. 나는 결과를 1.5 시간 만에 찾아 냈다.hadoop 클러스터에서 스파크를 실행할 때 더 빠른 결과를 얻을 수 없음

내 결과를 훨씬 빨리 얻기 위해 각 노드에 20 코어 및 64GB 메모리가있는 3 개의 노드가있는 hpc의 원사를 통해 hadoop 클러스터에서 코드를 실행하려고했습니다. 내가 알 수있는 바와 같이

spark-submit --class com.soundcloud.lsh.MainCerebro --master yarn-cluster --num-executors 11 --executor-memory 19G --executor-cores 5 --driver-memory 2g cosine-lsh_yarn.jar 

, 내가 지정한 3 : 결과 https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/

, 나는 다음과 같이 불꽃을 제출 한 : 나는 HPC에 많은 실행 코드를 경험하고 있지 않다 때문에, 나는 여기에 주어진 제안을 따랐다 노드 당 실행 프로그램과 각 실행 프로그램마다 19GB입니다.

그러나 2 시간 이상 지나도 결과가 나타나지 않았습니다.

내 스파크 구성은 다음과 같습니다

val conf = new SparkConf() 
     .setAppName("LSH-Cosine") 
     .setMaster("yarn-cluster") 
     .set("spark.driver.maxResultSize", "0"); 

가 어떻게이 문제를 발굴 할 수 있습니까? 어디에서 계산 시간을 개선해야합니까?

편집 : 나는 그 유착을 발견했습니다

1)

원사의 방법이 훨씬 느립니다

entries.coalesce(1, true).saveAsTextFile(text_string) 

2) HPC FROM

실행 프로그램과 STAGES :

enter image description here SERVER FROM

실행기 AND STAGES :

enter image description here

enter image description here

+0

내 제 직감 병렬 처리를 제공하지 않는 실 클러스터 인 (총 40 개 코어 36 개 코어 v.s.)하지만, 네트워크의 오버 헤드를 도입한다. 더 많은 정보가 없으면 원인을 찾을 수 없습니다. Spark UI를 사용하여 작업 시간을 비교하고 어느 것이 더 느린 지 확인할 수 있습니다. – zsxwing

+0

고맙습니다. @zsxwing! 나는 스테이지를 점검하고 여기에 알려줄 것이다. –

+0

@zsxwing 일부 UI 추적을 추가했습니다. 보시다시피, 스테이지는 특히 선별 과정에서 원사 클러스터에서 조금 더 오래 걸립니다. 이 결과는 중요한 것을 알려줍니까? –

답변

0

더 많은 메모리 저장 메모리에 막혀. 당신은 그 메모리를 효율적으로 사용하지 않습니다. 즉, 데이터를 캐싱하고 있습니다. 총 40 기가 중 10 기가 미만이 사용됩니다. 그 memorystorge를 줄이고 그 memoryexecution을 사용합니다.

11 명의 집행자를 지정한 경우에도 집행자는 4 명뿐입니다. 첫 스파크 UI 스크린 샷의 추측. 스파크가 사용하는 총 코어는 모든 집행자를 통해 겨우 19 개입니다. 총 코어는 실행중인 작업 수와 같습니다.

다음 링크로 이동하십시오.

https://community.hortonworks.com/articles/42803/spark-on-yarn-executor-resource-allocation-optimiz.html