빅데이터 분석 환경 구축(Docker 활용)

#3 Spark & Python & Zookeeper 설치

쵸비 2023. 7. 3. 10:43
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