Debian 10에 Apache Spark Cluster Computing Framework를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- 데비안 11(불스아이)
- 데비안 10(버스터)
이 페이지에서
- 전제 조건
- 시작하기\n
- 자바 설치
- Apache Spark 다운로드
- 마스터 서버 시작
- Spark 작업자 프로세스 시작\n
- Spark Shell에 액세스
Apache Spark는 대용량 데이터에 대한 분석, 기계 학습 및 그래프 처리에 사용되는 무료 오픈 소스 클러스터 컴퓨팅 프레임워크입니다. Spark는 병렬 앱을 빌드하고 Scala, Python, R 및 SQL 셸에서 대화식으로 사용할 수 있도록 하는 80개 이상의 상위 수준 연산자와 함께 제공됩니다. 데이터 과학을 위해 특별히 설계된 초고속 인메모리 데이터 처리 엔진입니다. 속도, 내결함성, 실시간 스트림 처리, 메모리 내 컴퓨팅, 고급 분석 등 다양한 기능을 제공합니다.
이 튜토리얼에서는 Debian 10 서버에 Apache Spark를 설치하는 방법을 보여줍니다.
전제 조건
- 2GB RAM으로 Debian 10을 실행하는 서버.\n
- 서버에 루트 암호가 구성되어 있습니다.\n
시작하기
시작하기 전에 서버를 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령을 사용하여 업데이트할 수 있습니다.
apt-get update -y
apt-get upgrade -y
서버가 업데이트되면 다시 시작하여 변경 사항을 적용하십시오.
자바 설치
Apache Spark는 Java 언어로 작성되었습니다. 따라서 시스템에 Java를 설치해야 합니다. 기본적으로 최신 버전의 Java는 Debian 10 기본 리포지토리에서 사용할 수 있습니다. 다음 명령을 사용하여 설치할 수 있습니다.
apt-get install default-jdk -y
Java를 설치한 후 다음 명령을 사용하여 설치된 Java 버전을 확인합니다.
java --version
다음 출력이 표시되어야 합니다.
openjdk 11.0.5 2019-10-15 OpenJDK Runtime Environment (build 11.0.5+10-post-Debian-1deb10u1) OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Debian-1deb10u1, mixed mode, sharing)
아파치 스파크 다운로드
먼저 공식 웹 사이트에서 최신 버전의 Apache Spark를 다운로드해야 합니다. 이 기사를 작성할 당시 Apache Spark의 최신 버전은 3.0입니다. 다음 명령을 사용하여 /opt 디렉토리에 다운로드할 수 있습니다.
cd /opt
wget http://apachemirror.wuchna.com/spark/spark-3.0.0-preview2/spark-3.0.0-preview2-bin-hadoop2.7.tgz
다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일의 압축을 풉니다.
tar -xvzf spark-3.0.0-preview2-bin-hadoop2.7.tgz
다음으로 추출된 디렉토리의 이름을 아래와 같이 spark로 바꿉니다.
mv spark-3.0.0-preview2-bin-hadoop2.7 spark
다음으로 Spark에 대한 환경을 설정해야 합니다. ~/.bashrc 파일을 편집하면 됩니다.
nano ~/.bashrc
파일 끝에 다음 줄을 추가합니다.
export SPARK_HOME=/opt/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 환경을 활성화합니다.
source ~/.bashrc
마스터 서버 시작
이제 다음 명령을 사용하여 마스터 서버를 시작할 수 있습니다.
start-master.sh
다음 출력이 표시되어야 합니다.
starting org.apache.spark.deploy.master.Master, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-debian10.out
기본적으로 Apache Spark는 포트 8080에서 수신 대기합니다. 다음 명령으로 확인할 수 있습니다.
netstat -ant | grep 8080
산출:
tcp6 0 0 :::8080 :::* LISTEN
이제 웹 브라우저를 열고 URL http://server-ip-address:8080을 입력하십시오. 다음 페이지가 표시됩니다.
위 이미지에서 Spark URL \spark://debian10:7077\을 적어두세요. 이것은 Spark 작업자 프로세스를 시작하는 데 사용됩니다.
Spark 작업자 프로세스 시작
이제 다음 명령을 사용하여 Spark 작업자 프로세스를 시작할 수 있습니다.
start-slave.sh spark://debian10:7077
다음 출력이 표시되어야 합니다.
starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-debian10.out
스파크 셸에 액세스
Spark Shell은 API를 학습하고 대화식으로 데이터를 분석하는 간단한 방법을 제공하는 대화식 환경입니다. 다음 명령을 사용하여 Spark 셸에 액세스할 수 있습니다.
spark-shell
다음 출력이 표시되어야 합니다.
WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.12-3.0.0-preview2.jar) to constructor java.nio.DirectByteBuffer(long,int) WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 19/12/29 15:53:11 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Spark context Web UI available at http://debian10:4040 Spark context available as 'sc' (master = local[*], app id = local-1577634806690). Spark session available as 'spark'. Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 3.0.0-preview2 /_/ Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 11.0.5) Type in expressions to have them evaluated. Type :help for more information. scala>
여기에서 Apache Spark를 빠르고 편리하게 최대한 활용하는 방법을 배울 수 있습니다.
Spark Master 및 Slave 서버를 중지하려면 다음 명령을 실행하십시오.
stop-slave.sh
stop-master.sh
이제 Debian 10 서버에 Apache Spark를 성공적으로 설치했습니다. 자세한 내용은 Spark Doc에서 Spark 공식 문서를 참조할 수 있습니다.