[Mac, M1]Spark 특정 버전 설치

2022. 8. 5. 23:56Data Engineering/Spark

환경

  • Mac, M1

 

 

1. 다운로드

 

https://archive.apache.org/dist/spark/

 

Index of /dist/spark

 

archive.apache.org

위 사이트에서 원하는 버전을 다운로드 하면 된다. 단, 원하는 버전의 패키지 타입은 Spark 를 Yarn 에서 실행할 거라면 미리 Hadoop 버전을 고려해서 선택해야 한다.

 

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

 

Downloads | Apache Spark

Download Apache Spark™ Choose a Spark release: Choose a package type: Download Spark: Verify this release using the and project release KEYS by following these procedures. Note that Spark 3 is pre-built with Scala 2.12 in general and Spark 3.2+ provides

spark.apache.org

위 사이트를 참고하여 Spark 3.3.0 을 예시로 들어보겠다.

 

 

위 사이트 화면에서 2. Choose a package type: 을 하나씩 클릭해보면 3. Download Spark: 에서 보이는 파일명이 각각 달라지는 걸 확인할 수 있다. 

 

파일에 따라 Hadoop runtime 이 포함되어 있냐 아니냐에 따라 나뉜다. Hadoop runtime 이 내장되어 있는 파일명이 spark-X.X.X-bin-hadoopX.tgz 형태이고, Hadoop runtime 을 포함하지 않는 파일명이 spark-X.X.X-bin-without-hadoop.tgz 형태이다. Hadoop runtime 이 내장되어 있는 파일은 job 이 Hadoop Yarn Cluster 에 제출될 때 jar 충돌을 방지하기 위해 Yarn 의 classpath 를 Spark 에 두지 않는다고 한다. Hadoop runtime 이 내장되어 있지 않은 파일은 Yarn 의 classpath 를 Spark 에 둬서 Hadoop runtime 을 얻는다고 한다. 완벽히 이해되는 부분은 아니라서 일단 설명만 적어 놓겠다.

 

설치되어 있는 Hadoop 버전에 따라 선택해서 다운로드 하면 된다. 

 

spark-3.3.0-bin-hadoop3.tgz 파일은 Hadoop 3.3 이상이면 되고,
spark-3.3.0-bin-hadoop2.tgz 파일은 Hadoop 2.7 이어야 한다.

spark-3.3.0-bin-without-hadoop.tgz 파일은 어떠한 Hadoop 버전도 상관 없다.

 

참고:

https://spark.apache.org/docs/latest/running-on-yarn.html#preparations

 

Running Spark on YARN - Spark 3.3.0 Documentation

Running Spark on YARN Support for running on YARN (Hadoop NextGen) was added to Spark in version 0.6.0, and improved in subsequent releases. Security Security features like authentication are not enabled by default. When deploying a cluster that is open to

spark.apache.org

https://stackoverflow.com/questions/59043119/what-are-the-differences-between-pre-built-and-user-provided-hadoop-on-spark-dow

 

What are the differences between pre-built and user-provided hadoop on spark download page?

These questions have been puzzeling me for a long time: There are five package types in the second selector when the first one is choosing version 2.4.4 .And I am confued about 3 of them: Pre-bui...

stackoverflow.com

 

 

 

필자는 기존 설치되어 있는 하둡이 Hadoop 3.3.3 이므로 spark-3.3.0-bin-hadoop3.tgz 를 다운로드 하겠다. 편의상 wget 을 사용한다.

$ wget https://archive.apache.org/dist/spark/spark-3.3.0/spark-3.3.0-bin-hadoop3.tgz

 

 

2. 압축 해제

 

# 압축 해제
$ tar zxvf spark-3.3.0-bin-hadoop3.tgz

# 다운로드 한 압축 파일 삭제(선택)
$ rm -rf spark-3.3.0-bin-hadoop3.tgz

 

 

3. 원하는 경로로 이동 및 심볼릭 링크 설정

 

# 압축 해제한 spark 파일을 원하는 경로로 이동시키기
$ mv spark-3.3.0-bin-hadoop3 /Users/stopleaf/dev/spark-3.3.0-bin-hadoop3

# 심볼릭 링크 설정
$ ln -s /Users/stopleaf/dev/spark-3.3.0-bin-hadoop3 /Users/stopleaf/dev/spark

경로는 원하는 대로 설정하면 된다.

 

 

4. 설정

 

$ vi ~/.zshrc
# SPARK_HOME 설정
export SPARK_HOME="/Users/stopleaf/dev/spark"
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

# spark 관련 alias 설정(선택)
alias spark-shell="/Users/stopleaf/dev/spark/bin/spark-shell"
alias spark-submit="/Users/stopleaf/dev/spark/bin/spark-submit"
$ source ~/.zshrc

 

* 하둡과의 연동은 다른 글에서 다룬다.

 

 

5. 테스트