2016-08-10 1 views
1

안녕하세요, 이제 클러스터에 액세스 할 수있는 첫 번째 스파크 응용 프로그램을 만들었습니다. 각 노드에 2 개의 프로세서가있는 Intel (R) Xeon (R) CPU E5-2650 2.00GHz , 각 프로세서마다 8 개의 코어가 있음), 응용 프로그램을 조정하고 성능을 관찰하는 데 도움이되는 기준이 무엇인지 알고 싶습니다.내 스파크 응용 프로그램을 평가할 수있는 방법

나는 이미 스파크의 공식 웹 사이트를 방문했으며 데이터 직렬화에 대해 이야기하고 있지만 정확히 무엇인지 또는 어떻게 지정해야하는지 알 수 없었다.

"메모리 관리", "평행도 수준"에 대해서도 이야기하고 있지만이를 제어하는 ​​방법을 이해하지 못했습니다.

데이터 크기가 영향을 미친다는 것을 알고 있지만 파일 크기가 작은 모든 files.csv는 어떻게 파일을 큰 크기 (10GB, 20GB, 30GB, 50GB)로 가져올 수 있습니까? GB, 100GB, 300GB, 500GB)

나를 위해 잘 설명해보십시오. 클러스터 컴퓨팅이 나를 위해 새롭기 때문입니다.

답변

1

는 응용 프로그램을 조정을 위해 당신은 당신이 당신의 클러스터가 만든 응용 프로그램에서 사용하는 얼마나 많은 자원 활용에서인지 여부 응용 프로그램을 모니터링해야) 몇 가지

1

을 알 필요가

모니터링은 다양한 도구를 사용하여 수행 할 수 있습니다. Ganglia Ganglia에서 CPU, 메모리 및 네트워크 사용을 찾을 수 있습니다. CPU 및 메모리 사용에 대한 관측을 바탕으로

2) 당신은 당신의 응용 프로그램이 당신의

양식 점화 시점에 필요한 튜닝의 어떤 종류의 더 나은 아이디어를 얻을 수 있습니다

불꽃은 defaults.conf에서

가비지 수집 알고리즘을 변경하더라도 응용 프로그램에 필요한 드라이버 메모리와 실행 메모리의 양이 필요한 직렬화를 지정할 수 있습니다.

다음은 튜닝 예를 몇 가지 요구 사항

자세한 내용은이 도움이 http://spark.apache.org/docs/latest/tuning.html

희망을 참조 해주십시오

spark.serializer org.apache.spark.serializer.KryoSerializer spark.driver.memory 5g spark.executor.memory 3g spark.executor.extraJavaOptions -XX:MaxPermSize=2G -XX:+UseG1GC spark.driver.extraJavaOptions -XX:MaxPermSize=6G -XX:+UseG1GC 

에 따라이 매개 변수!

+0

우리는 왜 spark.serializer를 사용합니까? 이유는 무엇입니까? – hammad

+0

쉘을 사용하여 spark-defaults.conf를 수정할 수 있습니까 (쉘을 통해서만 노드에 액세스 할 수 있기 때문에) – hammad

+0

spark-defaults.conf 파일은 spark-1.6.0-bin-hadoop2.6 \ conf 디렉토리에 있습니다. 귀하의 요구 사항에 따라 수정할 수 있습니다. – Bhavesh