用docker 配置scala spark环境

时间:2024-02-16 18:18:10
  • 安装Docker:
    • 在您的系统上安装Docker。您可以从Docker官方网站下载并安装适用于您操作系统的版本。
  • 创建Dockerfile:
    • 在您的项目目录中创建一个名为 Dockerfile 的文件,并添加以下内容:

      FROM openjdk:8
      
      # 设置Scala版本
      ENV SCALA_VERSION 2.12.15
      
      # 安装Scala
      RUN wget --quiet www.scala-lang.org/files/archive/scala-$SCALA_VERSION.deb && \
          dpkg -i scala-$SCALA_VERSION.deb && \
          rm scala-$SCALA_VERSION.deb && \
          apt-get update && \
          apt-get install scala -y
      
      # 设置Spark版本
      ENV SPARK_VERSION 3.2.0
      ENV HADOOP_VERSION 3.2
      
      # 安装Spark
      RUN wget --quiet https://archive.apache.org/dist/spark/spark-$SPARK_VERSION/spark-$SPARK_VERSION-bin-hadoop$HADOOP_VERSION.tgz && \
          tar -xvzf spark-$SPARK_VERSION-bin-hadoop$HADOOP_VERSION.tgz && \
          mv spark-$SPARK_VERSION-bin-hadoop$HADOOP_VERSION /opt/spark && \
          rm spark-$SPARK_VERSION-bin-hadoop$HADOOP_VERSION.tgz
      
      # 设置环境变量
      ENV SPARK_HOME /opt/spark
      ENV PATH $PATH:$SPARK_HOME/bin
      
      # 清理APT缓存
      RUN apt-get clean
      
      # 指定工作目录
      WORKDIR /app
      

  • 构建Docker镜像:
    • 在项目目录中运行以下命令构建Docker镜像:

      docker build -t my-scala-spark-image .

  • 创建Spark应用程序:
    • 在项目目录中创建您的Scala Spark应用程序,例如 MySparkApp.scala

      // MySparkApp.scala
      import org.apache.spark.SparkConf
      import org.apache.spark.sql.SparkSession
      
      object MySparkApp {
        def main(args: Array[String]): Unit = {
          val conf = new SparkConf().setAppName("MySparkApp")
          val spark = SparkSession.builder.config(conf).getOrCreate()
      
          // Your Spark application logic goes here
      
          spark.stop()
        }
      }
      
  • 怎样编译打包出MySparkApp.jar