Ubuntu下为Spark安装配置sbt

Posted Z.Q.Fengᯤ⁵ᴳ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下为Spark安装配置sbt相关的知识,希望对你有一定的参考价值。


一、下载sbt

需要下载的文件名为 sbt-launch.jar,下载链接如下:https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.11/sbt-launch.jar,点进去等一下就会弹出下载界面。


二、配置sbt

/usr/local/ 目录下创建 sbt 文件夹,并赋予 hadoop 用户相关权限:

cd /usr/local
sudo mkdir sbt
sudo chown -R hadoop ./sbt

移动下载号的 sbt-launch.jar 到上述目录下:

cp ~/Downloads/sbt-launch.jar ./sbt
cd sbt

编写 sbt 脚本:

vim ./sbt

编写内容如下:

#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"

:wq,保存并退出,赋予脚本相关权限:

sudo chmod u+x ./sbt

接着运行 sbt 脚本,查看 sbt 版本并下载相关依赖包:

sudo ./sbt sbtVersion

过程可能需要等待挺久的,会显示成功下载部分文件:

下载完成后会输出 sbt 版本信息如下:

若中途失败,多试几次即可。


三、使用sbt编译打包Scala程序

首先创建程序根目录以及程序所需的文件结构:

mkdir ~/sparkapp
mkdir -p ~/sparkapp/src/main/scala

在上述目录下创建我们的 Scala 文件:

vim ~/sparkapp/src/main/scala/SimpleApp.scala

示例代码如下:

/* SimpleApp.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
 
object SimpleApp 
    def main(args: Array[String]) 
        val logFile = "file:///usr/local/spark/README.md" // Should be some file on your system
        val conf = new SparkConf().setAppName("Simple Application")
        val sc = new SparkContext(conf)
        val logData = sc.textFile(logFile, 2).cache()
        val numAs = logData.filter(line => line.contains("a")).count()
        val numBs = logData.filter(line => line.contains("b")).count()
        println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
    

接着创建一个 simple.sbt 文件:

vim ~/sparkapp/simple.sbt

内容如下:

name := "Simple Project"
version := "1.0"
scalaVersion := "2.12.15"
libraryDependencies += "org.apache.spark" %% "spark-core" % "3.2.0"

注意这里的 scalaVersion 是你的 Scala 版本,spark-core 是你的 spark 版本,查看方法启动 spark-shell 即可:

/usr/local/spark/bin/spark-shell

输出如下:

最后使用 sbt 进行打包:

sudo /usr/local/sbt/sbt package

成功输出如下:

中途出现 warn 多运行几次,生成的 jar 包路径如下:~/sparkapp/target/scala-2.12/simple-project_2.12-1.0.jar,可以通过 spark-submit 提交运行:

/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.12/simple-project_2.12-1.0.jar 2>& 1 | grep Lines

执行结果如下:


四、总结

以上是关于Ubuntu下为Spark安装配置sbt的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu下为Hadoop安装配置Hbase教程

IDEA 学习笔记之 Spark/SBT项目开发

看看spark的源码

spark

Ubuntu下为Apache简单配置SSL的方法(HTTPS的实现)

我们应该如何解决 Spark 的 sbt 文件中的本地依赖关系