728x90
스파크 클러스터를 사용하기 위해서는 spark-env.sh, spark-defaults.conf, workers 를 편집하면 된다.
[ Spark 설치 ]
- Apache Spark 3.2.1 설치 및 압축 해제
# 설치 관리용 디렉토리 이동
cd /download
# Spark 3.2.1 설치 [Not Found 뜰 경우 <https://dlcdn.apache.org/spark/> 접속하여 맞는 버전 탐색]
wget <https://dlcdn.apache.org/spark/spark-3.2.4/spark-3.2.4-bin-hadoop3.2.tgz>
# Spark 3.2.1 압축 해제
tar -xzvf spark-3.2.4-bin-hadoop3.2.tgz -C /usr/local
# Spark 디렉토리 이름 변경
mv /usr/local/spark-3.2.4-bin-hadoop3.2 /usr/local/spark
[ Python & PySpark 설치 ]
- Python3 설치 및 파이썬 라이브러리 설치
# Python 설치
apt-get install -y python3-pip
# Python 버전 확인
python3 -V
# PySpark 설치
pip3 install pyspark findspark
[ Spark 환경설정 ]
# Hadoop 시스템 환경변수 설정
vim /etc/environment
# 아래 내용 추가 후 저장
PATH 뒤에 ":/usr/local/spark/bin" 추가
PATH 뒤에 ":/usr/local/spark/sbin" 추가
PATH 밑에 SPARK_HOME="/usr/local/spark"
# 시스템 환경변수 활성화
source /etc/environment
# Spark 사용자 환경변수 설정
echo 'export SPARK_HOME=/usr/local/spark' >> ~/.bashrc
# 사용자 환경변수 활성화
source ~/.bashrc
- spark-env.sh파일 편집
# spark-env.sh 파일 카피
cd $SPARK_HOME/conf
cp spark-env.sh.template spark-env.sh
# spark-env.sh 파일 편집
vim spark-env.sh
# 아래 내용 수정 후 저장
export SPARK_HOME=/usr/local/spark
export SPARK_CONF_DIR=/usr/local/spark/conf
export JAVA_HOME=/usr/lib/jvm/java
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_WEBUI_PORT=18080
- spark-defaults.conf 파일 편집
# Spark spark-defaults.conf.template 파일 복사
cp /usr/local/spark/conf/spark-defaults.conf.template /usr/local/spark/conf/spark-defaults.conf
# Spark spark-defaults.conf 파일 설정
vim /usr/local/spark/conf/spark-defaults.conf
# 아래 설정 후 저장
# 클러스터 매니저 정보
spark.master yarn
# 스파크 이벤트 로그 수행 유무
# true시 spark.eventLog.dir에 로깅 경로 지정해야합니다 - 스파크 UI에서 확인 가능합니다.
spark.eventLog.enabled true
# 스파크 이벤트 로그 저장 경로
spark.eventLog.dir /usr/local/spark/logs
- Spark logs 디렉토리 생성
mkdir -p /usr/local/spark/logs && chown -R $USER:$USER /usr/local/spark/
- workers 파일 편집
: HDFS의 workers 를 설정 하였던 것과 같이, Spark 의 workers도 설정한다.
# Spark workers 파일 생성
cp /usr/local/spark/conf/workers.template /usr/local/spark/conf/workers
# Spark workers 파일 설정
vim /usr/local/spark/conf/workers
# 아래 설정 후 저장(localhost는 주석처리)
dn1
dn2
dn3
[ Python 환경설정 ]
- Python 환경 변수 설정
# 시스템 환경변수 편집
vim /etc/environment
# 아래 내용 추가 후 저장
PATH 뒤에 ":/usr/bin/python3" 추가
# 시스템 환경변수 활성화
source /etc/environment
# Python & PySpark 사용자 환경변수 설정
echo 'export PYTHONPATH=/usr/bin/python3' >> ~/.bashrc
echo 'export PYSPARK_PYTHON=/usr/bin/python3' >> ~/.bashrc
# 사용자 환경변수 활성화
source ~/.bashrc
Apache Zookeeper 3.8.0를 설치하고 환경설정을 진행
주키퍼 클러스터를 사용하기 위해서는 zoo.cfg, myid를 편집
[ Zookeeper 설치 ]
- Apache Zookeeper 3.8.0 설치 및 압축 해제
# 설치 관리용 디렉토리 이동
cd /download
# Zookeeper 3.8.0 설치
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
# Zookeeper 3.8.0 압축 해제
tar -xzvf apache-zookeeper-3.8.0-bin.tar.gz -C /usr/local
# Zookeeper 디렉토리 이름 변경
mv /usr/local/apache-zookeeper-3.8.0-bin /usr/local/zookeeper
[ Zookeeper 환경설정 ]
- Zookeeper 환경 변수 설정
# Hadoop 시스템 환경변수 설정
vim /etc/environment
# 아래 내용 추가 후 저장
ZOOKEEPER_HOME="/usr/local/zookeeper"
# 시스템 환경변수 활성화
source /etc/environment
# Spark 사용자 환경변수 설정
echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> ~/.bashrc
# 사용자 환경변수 활성화
source ~/.bashrc
- zoo.cfg 파일 편집
# Zookeeper 설정 경로 이동
cd /usr/local/zookeeper
# Zookeeper 설정 파일 복사
cp ./conf/zoo_sample.cfg ./conf/zoo.cfg
# zoo.cfg 편집
vim ./conf/zoo.cfg
# 아래 내용 수정 후 저장
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181
maxClientCnxns=0
maxSessionTimeout=180000
server.1=nn1:2888:3888
server.2=nn2:2888:3888
server.3=dn1:2888:3888
- myid 설정
# Zookeeper 데이터 디렉토리 생성
mkdir -p /usr/local/zookeeper/data
mkdir -p /usr/local/zookeeper/logs
# Zookeeper 디렉토리 사용자 그룹 변경
chown -R $USER:$USER /usr/local/zookeeper
# myid 파일 편집
vim /usr/local/zookeeper/data/myid
# 아래 내용 수정 후 저장
1
출처 : 빅공잼
728x90
'빅데이터 분석 환경 구축(Docker 활용)' 카테고리의 다른 글
#5 컨테이너 복제 및 네트워크 구축 (0) | 2023.07.03 |
---|---|
#4 SSH Key 생성 (0) | 2023.07.03 |
#2 JAVA 설치 및 Hadoop 설치 (0) | 2023.06.30 |
#1 Docker 컨테이너 접속 및 패키지 설치 (0) | 2023.06.30 |
[시작하기 앞서] (0) | 2023.06.30 |