[선행작업]
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