[spark] Spark 3 클러스터 설치

somnode·2021년 2월 10일
0

5개의 컴퓨터를 사용하여 hadoop 클러스터 위에서 돌아가는 spark 클러스터를 설치한다.
Spark 버전 : 3.0.1

이미 hadoop cluster가 구축되어있다는 가정 하에 진행한다.
[hadoop] Cluster 설치 참고

server01server02server03server04server05
NameNodeSecondaryNameNode
NodeManagerDataNodeDataNodeDataNodeDataNode
ResourceManager
JobHistoryServer
MasterWorkerWorkerWorkerWorker
HistoryServer

환경변수 설정

SPARK_HOME이 설정되어 있지 않으면, spark 설치 경로가 아닌 다른 경로에서 spark-shell 등의 프로그램을 실행했을 때, eventLog가 안 나온다.

  • ~/.bashrc 파일
SPARK_HOME=/usr/local/spark
export PATH=\$PATH:\$SPARK_HOME/bin:\$SPARK_HOME/sbin
> source ~/.bashrc

Spark 다운로드

> wget https://downloads.apache.org/spark/spark-3.0.1/spark-3.0.1-bin-hadoop3.2.tgz
> sudo mkdir -p $SPARK_HOME && sudo tar -zvxf spark-3.0.1-bin-hadoop3.2.tgz -C $SPARK_HOME --strip-components 1
> sudo chown -R $USER:$USER $SPARK_HOME

slaves 설정

  • $SPARK_HOME/conf/slaves 파일
server02
server03
server04
server05

spark-env.sh 설정

  • $SPARK_HOME/conf/spark-env.sh 파일
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export SPARK_MASTER_HOST=master
export HADOOP_HOME=/usr/local/hadoop
export YARN_CONF_DIR=\$HADOOP_HOME/etc/hadoop
export HADOOP_CONF_DIR=\$HADOOP_HOME/etc/hadoop

spark-defaults.conf 설정

  • $SPARK_HOME/conf/spark-defaults.conf 파일
spark.master yarn
spark.eventLog.enabled true
spark.eventLog.dir file:///usr/local/spark/eventLog
spark.history.fs.logDirectory file:///usr/local/spark/eventLog
> mkdir -p $SPARK_HOME/eventLog

Spark 시작

  • Master 노드에서만 수행하면 된다.
  1. hadoop 시작
> $HADOOP_HOME/bin/hdfs namenode -format -force
> $HADOOP_HOME/sbin/start-dfs.sh
> $HADOOP_HOME/sbin/start-yarn.sh
> $HADOOP_HOME/bin/mapred --daemon start historyserver
  1. spark 시작
> $SPARK_HOME/sbin/start-all.sh
> $SPARK_HOME/sbin/start-history-server.sh

Spark 중지

  • Master 노드에서만 수행하면 된다.
  1. spark 중지
> $SPARK_HOME/sbin/stop-all.sh
> $SPARK_HOME/sbin/stop-history-server.sh
> rm -rf $SPARK_HOME/eventLog/*
  1. hadoop 중지
> $HADOOP_HOME/sbin/stop-dfs.sh
> $HADOOP_HOME/sbin/stop-yarn.sh
> $HADOOP_HOME/bin/mapred --daemon stop historyserver
> rm -rf $HADOOP_HOME/data/namenode/*

모든 DataNode에서 rm -rf $HADOOP_HOME/data/datanode/* 명령을 수행한다.

Spark Web UI

0개의 댓글