웹사이트 검색

Debian 10에 Apache Spark Cluster Computing Framework를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 데비안 11(불스아이)
  • 데비안 10(버스터)

이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. 자바 설치
  4. Apache Spark 다운로드
  5. 마스터 서버 시작
  6. Spark 작업자 프로세스 시작\n
  7. 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 공식 문서를 참조할 수 있습니다.