--- title: "Spark 3 버전 사용" slug: "hadoop-spark-use-vpc" updated: 2026-10-22T09:13:22Z published: 2026-10-22T09:13:22Z canonical: "guide-gov.ncloud-docs.com/hadoop-spark-use-vpc" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Spark 3 버전 사용 VPC 환경에서 이용 가능합니다. 사용자가 임의의 Spark 실행 환경을 구성할 수 있습니다. 이 가이드에서는 Cloud Hadoop에서 Spark 3 버전을 설치하여 Spark 실행 환경을 구성하는 방법을 소개합니다. ## 사전 작업 이 예제는 이미 클라이언트로 적용된 환경에서 실행한다고 가정하에 설명합니다. 서버를 이용하여 클라이언트로 구성해야 하는 경우에만 아래 사전 작업 1~4번을 진행해 주십시오. ### 1. 서버와 클러스터 간의 통신 확인 서버와 클러스터 간의 통신이 가능한지 확인해 주십시오. 서버가 Cloud Hadoop 클러스터가 구성되어 있는 ACG에 등록되어야 합니다. ACG에 대한 자세한 내용은 [ACG 설정](/docs/compute-compute-2-3-vpc) 가이드를 참조해 주십시오. ### 2. Cloud Hadoop 클러스터 호스트명과 IP 정보 등록 Cloud Hadoop 클러스터의 호스트명과 Private IP 정보를 /etc/hosts에 등록해 주십시오. 해당 정보는 **Ambari UI > Hosts**에서 확인할 수 있습니다. - Ambari UI 접속 및 사용에 대한 자세한 내용은 [Ambari UI](/docs/chadoop-5-vpc) 가이드를 참조해 주십시오. ![hadoop-chadoop-use-ex2_0-1_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex2_0-1_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T13%3A39%3A20Z&se=2026-10-29T14%3A39%3A20Z&sr=c&sp=r&sig=A8P%2Fv%2F1cVl7ZHrkmq4u5EdWMlZf6HQPpLeZfUKC%2F8HQ%3D) - /etc/hosts에 Cloud Hadoop 클러스터의 호스트명과 Private IP 정보를 등록하는 방법은 아래와 같습니다. ``` # root 사용자 # echo 'IP 호스트명' >> /etc/hosts echo '1**.**.*.* e-001-*****-**' >> /etc/hosts echo '1**.**.*.* m-001-*****-**' >> /etc/hosts echo '1**.**.*.* m-002-*****-**' >> /etc/hosts echo '1**.**.*.* d-001-*****-**' >> /etc/hosts echo '1**.**.*.* d-002-*****-**' >> /etc/hosts ``` ### 3. Hadoop 클라이언트 구성 참고 Hadoop 클라이언트 패키지는 이미 클러스터 내 모든 노드에 설치되어 있습니다. 만약 설치되어 있지 않은 경우, 아래의 절차를 통해 설치해 주십시오. 이 과정은 엣지 노드에 SSH로 접속한 상태에서 진행해야 합니다. Spark에서는 Hadoop의 환경 변수를 사용하기 때문에 Hadoop 클라이언트 구성이 필요합니다. 간단한 repo 설정과 yum 명령어로 hadoop-client 패키지를 설치할 수 있습니다. hadoop-client 패키지를 설치하는 방법은 다음과 같습니다. 1. 다음 명령어를 사용하여 repo 파일이 아래와 같이 구성되어 있는지 확인해 주십시오. ``` $ cat /etc/yum.repos.d/ambari-nch-1.repo # Cloud Hadoop 2.x [NCH-3.1-repo-1] name=NCH-3.1-repo-1 baseurl=http://nch-repo.navercorp.com/yum/nch/redhat/NCH-3.1.1.3.1.2 path=/ enabled=1 gpgcheck=0 [NCH-3.1-GPL-repo-1] name=NCH-3.1-GPL-repo-1 baseurl=http://nch-repo.navercorp.com/yum/nch/redhat/NCH-GPL-3.1.0.0 path=/ enabled=1 gpgcheck=0 [NCH-UTILS-1.1.0.22-repo-1] name=NCH-UTILS-1.1.0.22-repo-1 baseurl=http://nch-repo.navercorp.com/yum/nch/redhat/NCH-UTILS-1.1.0.22 path=/ enabled=1 ``` ``` $ cat /etc/yum.repos.d/ambari-hdp-1.repo # Cloud Hadoop 1.x [HDP-3.1-repo-1] name=HDP-3.1-repo-1 baseurl=http://dist.kr.hadoop3.naverncp.com/HDP/centos7/3.x/updates/3.1.0.0 path=/ enabled=1 gpgcheck=0 [HDP-3.1-GPL-repo-1] name=HDP-3.1-GPL-repo-1 baseurl=http://dist.kr.hadoop3.naverncp.com/HDP-GPL/centos7/3.x/updates/3.1.0.0 path=/ enabled=1 gpgcheck=0 [HDP-UTILS-1.1.0.22-repo-1] name=HDP-UTILS-1.1.0.22-repo-1 baseurl=http://dist.kr.hadoop3.naverncp.com/HDP-UTILS-1.1.0.22/repos/centos7 path=/ enabled=1 ``` 2. 다음 명령어를 사용하여 hadoop-client가 생성되었는지 확인해 주십시오. ``` $ sudo -s $ yum clean all $ yum install hadoop-client $ curl -u $AMBARI_ID:$AMBARI_PASS -H "X-Requested-By: ambari" -X GET http://$AMBARI_URI:8080/api/v1/clusters/$CLUSTER_NAME/services/HDFS/components/HDFS_CLIENT?format=client_config_tar > hdfs_client_conf.tar.gz # AMBARI_ID : 클러스터 관리자 계정명 # AMBARI_PASS : 클러스터 관리자 계정 비밀번호 # AMBARI_URI : 클러스터 도메인 # CLUSTER_NAME : 클러스터 명 $ tar -xvf hdfs_client_conf.tar.gz $ sudo cp ~/* /usr/nch/current/hadoop-client/conf/ # Cloud Hadoop 2.x $ sudo cp ~/* /usr/hdp/current/hadoop-client/conf/ # Cloud Hadoop 1.x ``` ### 4. JDK, Python3 설치 여부 확인 JDK와 Python3가 미리 설치되어 있어야 합니다. 이전 Spark 버전은 Python2가 사용 가능했으나 Spark 3.0.0부터는 Python3만 사용할 수 있습니다. 다음 명령어를 실행하여 Python3를 설치해 주십시오. ``` $ yum install -y python3 ``` ## Spark 3.0.1 버전 적용 ### 1. Spark 패키지 다운로드 다음 명령어를 사용하여 서버에서 사용하려는 Spark 패키지를 다운로드하고 압축을 해제해 주십시오. - Spark 3.0.1 다운로드 페이지: [https://archive.apache.org/dist/spark/spark-3.0.1/](https://archive.apache.org/dist/spark/spark-3.0.1/) - 이미 Hadoop 클라이언트가 구성된 환경에서 실행하므로 Pre-built with user-provided Apache Hadoop(`spark-3.0.1-bin-without-hadoop.tgz`)을 다운로드한 후 임의의 디렉터리에서 압축을 해제해 주십시오. ![hadoop-chadoop-use-ex2_1-1_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex2_1-1_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T13%3A39%3A20Z&se=2026-10-29T14%3A39%3A20Z&sr=c&sp=r&sig=A8P%2Fv%2F1cVl7ZHrkmq4u5EdWMlZf6HQPpLeZfUKC%2F8HQ%3D) ``` $ wget https://archive.apache.org/dist/spark/spark-3.0.1/spark-3.0.1-bin-without-hadoop.tgz $ tar xvfz spark-3.0.1-bin-without-hadoop.tgz ``` ### 2. Spark 환경 변수 설정 다음 명령어를 사용하여 Spark 환경 변수를 설정하고 압축 해제한 패키지에 Hadoop jar를 복사해 주십시오. ``` # 환경 변수 설정 export SPARK_HOME=/home1/sshuser/spark-3.0.1-bin-without-hadoop export SPARK_CONF_DIR=/home1/sshuser/spark-3.0.1-bin-without-hadoop/conf export SPARK_SUBMIT_OPTS="-Dhdp.version=3.1.0.0-78" export PATH=$SPARK_HOME/bin:$PATH export SPARK_DIST_CLASSPATH=`$HADOOP_COMMON_HOME/bin/hadoop classpath` # config 파일 복사 $ sudo cp /usr/nch/current/spark2-client/conf/* $SPARK_CONF_DIR/ # Hadoop 관련 jar를 Spark jars 디렉터리에 복사해 주십시오. $ sudo cp -n /usr/nch/current/spark2-client/jars/hadoop-*.jar $SPARK_HOME/jars ``` ### 3. 구동 확인 다음 명령어를 사용하여 설치 버전 정보로 구동이 되는지 확인해 주십시오. 아래 화면과 같이 표시되면 Spark 3.0.1을 사용할 수 있는 상태입니다. ``` $ pyspark --version ``` ![hadoop-chadoop-use-ex2_1-2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex2_1-2_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T13%3A39%3A20Z&se=2026-10-29T14%3A39%3A20Z&sr=c&sp=r&sig=A8P%2Fv%2F1cVl7ZHrkmq4u5EdWMlZf6HQPpLeZfUKC%2F8HQ%3D) ### 4. Owner 권한 부여 다음 명령어를 사용하여 /user 아래에 사용자 전용 폴더를 생성한 후 Owner 권한을 부여해 주십시오. Spark job은 사용자 계정 {USER}의 폴더가 HDFS의 /user 아래에 있어야 정상적으로 동작합니다. 다음 예시는 USER가 sshuser인 경우입니다. ``` $ sudo -u hdfs hadoop fs -mkdir /user/sshuser $ sudo -u hdfs hadoop fs -chown -R sshuser:hdfs /user/sshuser/ ``` ### 5. PySpark, spark-shell 실행 PySpark와 spark-shell을 실행하는 방법은 다음과 같습니다. 1. PySpark 실행 시 아래 옵션을 추가하여 실행해 주십시오. ``` $ pyspark --conf spark.driver.extraJavaOptions=-Dhdp.version=3.1.0.0-78 \ --conf spark.yarn.am.extraJavaOptions=-Dhdp.version=3.1.0.0-78 \ --conf spark.yarn.appMasterEnv.YARN_CONTAINER_RUNTIME_DOCKER_MOUNTS=/usr/hdp:/usr/hdp:ro \ --conf spark.executorEnv.YARN_CONTAINER_RUNTIME_DOCKER_MOUNTS=/usr/hdp:/usr/hdp:ro ``` 2. spark-shell도 아래 명령어로 실행해 주십시오. ``` spark-shell --conf spark.driver.extraJavaOptions=-Dhdp.version=3.1.0.0-78 \ --conf spark.yarn.am.extraJavaOptions=-Dhdp.version=3.1.0.0-78 \ --conf spark.yarn.appMasterEnv.YARN_CONTAINER_RUNTIME_DOCKER_MOUNTS=/usr/hdp:/usr/hdp:ro \ ```