--- title: "Spark 3バージョンを使用する" slug: "hadoop-vpc-use-ex2" updated: 2026-09-17T09:25:51Z published: 2026-09-17T09:25:51Z canonical: "guide.ncloud-docs.com/hadoop-vpc-use-ex2" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.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/ja/server-acg-classic)ガイドをご参照ください。 ### 2. Cloud Hadoopクラスタのホスト名と IPアドレス情報の登録 Cloud Hadoopクラスタのホスト名と Private IP情報を/etc/hostsに登録します。 当該情報は、**Ambari UI > Hosts**で確認できます。 - Ambari UIへのアクセスや使用に関する詳細は、[Ambari UI](/docs/ja/hadoop-vpc-8)ガイドをご参照ください。 ![hadoop-chadoop-use-ex2_0-1_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex2_0-1_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T15%3A26%3A33Z&se=2026-10-26T16%3A26%3A33Z&sr=c&sp=r&sig=5cNZ8bNdz8NYTRFvNptK6magM5gh1VBnWVMtkk%2BuiOU%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/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex2_1-1_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T15%3A26%3A33Z&se=2026-10-26T16%3A26%3A33Z&sr=c&sp=r&sig=5cNZ8bNdz8NYTRFvNptK6magM5gh1VBnWVMtkk%2BuiOU%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/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex2_1-2_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T15%3A26%3A33Z&se=2026-10-26T16%3A26%3A33Z&sr=c&sp=r&sig=5cNZ8bNdz8NYTRFvNptK6magM5gh1VBnWVMtkk%2BuiOU%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 \ --conf spark.executorEnv.YARN_CONTAINER_RUNTIME_DOCKER_MOUNTS=/usr/hdp:/usr/hdp:ro --conf spark.kerberos.access.hadoopFileSystems=hdfs://<使用するネームノードを指定> ```