- Spark Download
- wget http://mirror.apache-kr.org/spark/spark-1.2.0/spark-1.2.0-bin-hadoop1.tgz
- tar xvzf spark-1.2.0-bin-hadoop1.tgz
- Library Upload
- hadoop dfs -mkdir /user/spark
- hadoop dfs -put ./spark-1.2.0-bin-hadoop1 /user/spark/
- Apache Mesos 설치
- Apache Mesos 설치는 [Apache Mesos 설치기] 요기에서....
- Config Setting on Master
- mv spark-env.sh.template spark-env.sh
- vi spark-env.sh
MESOS_NATIVE_LIBRARY=/data01/mesos/mesos-0.18.1/build/src/.libs/libmesos.so
SPARK_EXECUTOR_URI=hdfs://master001.prod.moneymall.ssgbi.com:9000/user/spark/spark-1.2.0-bin-hadoop1.tgz - vi spark-defaults.conf
spark.executor.uri hdfs://master001.prod.moneymall.ssgbi.com:9000/user/spark/spark-1.2.0-bin-hadoop1.tgz - Spark Shell 실행
- 먼저 shell 모드 실행
- 위 처럼 1.2.0 버전으로 잘 떳음...
- Spark Program 구동
- 이어서 기존에 1.1.0 에서 돌던 Scala Batch 프로그램을 1.2.0 에서 수행하기 위해 위 처럼 인자를 바꾸고 수행.
- executor memory 와 driver memory 값을 적절하게 주어야 Heavy 한 Batch Job 이 원할하게 수행 됨. 속도도 더 빨라 짐.
- Spark 1.1.0 수행 속도 : 61초
- Spark 1.2.0 ( on Apache Mesos ) 수행 속도 : 35초
- Spark 1.2.0 on Apache Mesos 업그레이드 고찰(1) 기존 JVM Spark 엔진은 설정 공유 메모리 만큼 JVM 데몬이 메모리를 점유 하고 있어서, Hadoop Job 과 Memory 경합이 있을 수 있음. 경합을 피하기 위해 OS Full Memory 를 쓰지 못하고, 보수적으로 Fix 점유 해놓은 메모리 만큼 만 공유하는 구조였음.Ø 바뀐 Mesos 는 C++ 엔진인지라, 별도로 Memory 할당이 필요 없고, OS 가 가지고 있는 물리 Memory를 Full 로 쓸 수 있음.Ø 공유 메모리 Pool 이 56G 에서 약 280G 정도로 5배 가까이 커짐.(2) 속도 향상.Ø Memory 공유 방식 뿐만 아니라 CPU 공유 메커니즘도 포함 되면서, 위 결과 처럼 약 1.8배의 속도 향상이 있었음.
2015년 1월 29일 목요일
Spark Upgrade 및 성능 비교 - Spark 1.1.0 vs Spark 1.2.0 ( on Apache Mesos )
Spark 1.1.0 이 작년 9월 경 버전업 된 이후로 1.1.1 업그레이드가 한번 더 있었고, 1.2.0 업그레이드도 최근에 있었다. Apache Mesos 와의 연동 작업도 세팅할 겸. Production 의 Spark 버전을 업그레이드 해 주었으며, 업그레이드 전 후 성능 비교도 해 보았다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기