[SPARK] Install & Cluster 구성

[선행작업]

JAVA 설치

JAVA_HOME 환경설정

 

 

1. SPARK 설치

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

master, slave 모든 서버에 위 페이지에서 원하는 버전 선택 후, tgz 파일 다운로드

서버에 옮긴 후 압축 해제 후 shell 정상 작동 확인

tar -xf spark-2.4.1-bin-hadoop2.7.tgz
mv spark-2.4.1-bin-hadoop2.7/ spark
cd spark
bin/spark-shell

 

profile 적용

sudo vi /etc/profile
# 아래 설정 입력
export SPARK_HOME=/home/user/spark
export PATH=$PATH:$SPARK_HOME/bin
source /etc/profile

 

 

 

2. cluster ssh 연결

# rsa 암호화방식으로 키 생성
# sudo 로 실행해야 하기 때문에 sudo 로 생성
ssh-keygen -t rsa
# 엔터 세번 탁탁탁

# 키 생성 확인
ls -al ~/.ssh/ 
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/authorized_keys
# remote server 의 .ssh/authorized_keys 에  id_rsa.pub 파일 추가 
# scp .ssh/id_rsa.pub test@{ip}:id_rsa.pub 
# ssh {ip} 로 비밀번호 없이 접근되는지 확인
vi /etc/ssh/sshd_config

# PermitRootLogin yes 로 수정 후 아래 명령어 실행하여 저장
sudo service sshd restart
master — slave ssh 연결뿐만 아니라 master-master ssh 연결도 해야함!
master 의 id_rsa.pub  도 authorized_keys  에 넣어야함!
그리고 sshd_config 에  PermitRootLogin yes 수정!

3. HOST 정보 입력

[IN Master 장비]

sudo vi /etc/hosts
마스터 IP(본인) 와 호스트명, cluster IP 와 호스트명을 작성
10.111.1.xx       masterHostName
10.111.2.xx       slave1HostName
10.111.3.xx       slave2HostName
10.111.4.xx       slave3HostName

 

 

[IN Slave 장비]

sudo vi /etc/hosts
마스터 IP와 호스트명, 각각 slave(자신) IP 와 호스트명을 작성
10.111.1.xx       masterHostName
10.111.2.xx       slave1HostName

 

 

 

 

4. Slave 정보 입력

마스터 장비 spark conf 에서 slave 장비 IP를 입력해준다.
cd spark/conf
cp slaves.template slaves
vi slaves

-----------------------------------
## slave IP 입력##
10.111.2.xx      
10.111.3.xx        
10.111.4.xx

 

spatk-env 복사 후 IP 입력

cp spark-env.sh.template spark-env.sh
vi spark-env.sh
# 각 상황에 맞춰서 입력

export SPARK_MASTER_IP=master IP
export SPARK_WORKER_CORES=4
export SPARK_WORKER_MEMORY=3g
export SPARK_WORKER_INSTANCE=2

 

 

 

5. 실행

cd spark/sbin
sudo ./start-all.sh

master:8080 서버에 들어가면 worker 에 다 올라가 있는 것을 알 수 있다!

 

spark-submit \

–master spark://ubuntu0:7077 \

–class org.apache.spark.examples.SparkPi \

~/spark/examples/jars/spark-examples*.jar \

100

 

 

 

 

 

위의 설치는 Standalone 방법이고 yarn 과 같이 사용하기 위해서는 하둡 설치가 필요하다!

1. 하둡 설치 및 yarn 적용

http://apache.mirror.cdnetworks.com/hadoop/common/

위의 사이트에서 원하는 버전 설치 후 압축 해제

tar -xzf hadoop-2.7.6.tar.gz
mv hadoop-2.7.6/ hadoop

 

 

profile 환경설정

sudo vi /etc/profile
export HADOOP_HOME=/home/user/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native:$LD_LIBRARY_PATH export PATH=$PATH:$SPARK_HOME/bin:$HADDOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

 

 

 

하둡 JAVA 환경설정 JAVA_HOME 추가

sudo vi hadoop/etc/hadoop/hadoop-env.sh

 

 

 

 

spark 설정 추가

sudo vi spark/conf/spark-env.sh
export HADOOP_HOME=/home/user/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

 

 

SPARK YARN 설정 추가

mv $SPARK_HOME/conf/spark-defaults.conf.template $SPARK_HOME/conf/spark-defaults.conf
# 아래 설정 추가
spark.master                     yarn

 

 

 

Yarn 실행

cd hadoop/sbin
./start-yarn.sh

 

 

설정 완료 후, spark start-all 실행

적용 테스트

cd spark

spark-submit --deploy-mode client \
               --class org.apache.spark.examples.SparkPi \
               $SPARK_HOME/examples/jars/spark-examples_2.11-2.4.1.jar 10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Leave a comment