Hadoop 이 설치되어 있다는 가정 하에 설명을 이어나간다.

Hadoop 설치 방법 및 환경 설정/구성은 여기 참고.

 

 

각 서버의 hadoop 계정으로 접속하여 아래 링크를 참고하여 spark version 3 를 다운받는다.

https://spark.apache.org/downloads.html

 

cd
wget mirror.apache-kr.org/spark/spark-3.0.0/spark-3.0.0-bin-hadoop3.2.tgz
tar zxvf spark-3.0.0-bin-hadoop3.2.tgz

 

모든 서버에서 아래 명령어를 통해 spark home 을 추가해준다.

vi /etc/profile

//가장 아래 내용을 추가해줌
export SPARK_HOME=/home/eyeballs/spark-3.0.0-bin-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin

//저장하고 나와서 아래 명령어 실행
source /etc/profile
cd $SPARK_HOME


모든 서버에서 아래와 같이 환경설정 파일을 수정해준다.

cd $SPARK_HOME/conf

mv spark-env.sh.template  spark-env.sh

< spark-env.sh >

export HADOOP_HOME=/home/eyeballs/hadoop-3.2.1
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

HADOOP_HOME 은 사용자마다 다를 수 있음

 

 

 

아래 명령어는 spark 를 yarn 위에서 구동시키고 싶을 때 넣는다.


mv spark-defaults.conf.template  spark-defaults.conf

< spark-defaults.conf >

spark.master yarn
spark.eventLog.enabled true
spark.eventLog.dir file:/sparkLog/
spark.history.fs.logDirectory file:/sparkLog/

실제로 /sparkLog 를 만들어줘야 실행할 때 에러가 안 난다.

sbin/start-histroy-server.sh 를 구동시켜서 webui 18080 포트로 접속하면 eventLog 기반의 webui 를 볼 수 있다.

 

 

 

slaves 에 worker 가 될 서버의 이름을 적는다.

mv slaves.template slaves
vi slaves

worker1
worker2
worker3
worker4

 

 

$HADOOP_HOME/sbin/ 에서 start-yarn.sh 나 start-all.sh 등으로

yarn 을 실행시키고 spark shell 을 띄워본다.

 

cd $SPARK_HOME/bin
./spark-shell --master yarn

 

 

 

잘 구동되는지 확인.

 

https://www.linode.com/docs/databases/hadoop/install-configure-run-spark-on-top-of-hadoop-yarn-cluster/

https://yenaworldblog.wordpress.com/2019/04/23/spark-install-cluster-%EA%B5%AC%EC%84%B1/

https://daeson.tistory.com/279?category=679387

https://medium.com/@innocentevil0914/apache-spark-cluster-%EA%B5%AC%EC%B6%95-standalone-cluster-9f728db205e6

https://mazdah.tistory.com/810

 

+ Recent posts