Spark 독립실행형 클러스터 배포


1. 클러스터 토폴로지 계획 및 여러 시스템 스파크 설치


  • 스파크 마스터
  • 스파트 워커 1,2,3



2. 네트워크 구성


hosts 파일 활용

vi /etc/hosts

000.000.000 sparkworker1
...

이 후 ping 으로 확인



3. 각 호스트에 spark-default.conf 파일 생성/편집


스파크 마스터, 워커 호스트에서 다음 명령 실행

cd $SPARK_HOME/conf
sudo cp spark-defaults.conf.template spark-default.conf
sudo sed -i "\$aspark.master\tspark://sparkmaster:7077" spark-defaults.conf



4. 각 호스트에서 spark-env.sh 파일 생성/편집


cd $SPARK_HOME/conf
sudo cp spark-env.sh.template spark-env.conf
sudo sed -i "\$aSPARK_MASTER_IP=sparkmaster" spark-env.sh



5. 스파크 마스터/워커 시작하기


스파크 마스터 호스트에서 다음 명령 실행

sudo $SPARK_HOME/sbin/start-master.sh

스파크 워커에서 다음 명령 실행

sudo $SPARK_HOME/sbin/start-slave.sh spark://sparkmaster:7077

http://sparkslaveN:8081/ 에서 스파크 워커 UI를 확인한다.



6. 다중 노드 클러스터 테스트


Pi 추정 예제

spark-submit --class org.apache.spark.examples.SparkPi \
--master spark://sparkmaster:7077 \
--driver-memory 512m \
--executor-memory 512m \
--executor-cores 1\
$SPARK_HOME/examples/jars/spark-eamples*.jar 10000