Spark+Scala环境搭建

8 篇文章 0 订阅
3 篇文章 0 订阅
本文详细介绍如何在CentOS6.5环境下安装配置Scala2.10.4和Spark1.6.0,并确保其与已有的JDK1.8和Hadoop2.6.0环境兼容。此外,还提供了测试Spark是否正确安装的方法。
摘要由CSDN通过智能技术生成

当时上云计算课的时候,搭建的Hadoop+开发IDE及插件+spark的笔记,这里是第二部分Spark+Scala环境搭建。

一、 系统环境

CentOS 6.5
Jdk 1.8
Hadoop 2.6.0

二、下载安装Scala

我们默认jdk云云都已经安装配置好了(JDK+Hadoop的安装配置见另一篇文章),只是单纯的安装配置Scala。Scala的安装和配置较为简单。

首先,我们选择从官网(http://www.scala-lang.org/download/all.html)下载Scala,这里我们选择的版本是Scala 2.10.4,同jdk、hadoop的安装一样,将包解压,解压后的文件夹重命名为scala-2.10.4,放到/usr/BigData目录下。
这里写图片描述
然后,我们修改/etc/profile文件,在终端上执行命令

gedit /etc/profile

在文件后面添加语句:

#Scala环境变量
export SCALA_HOME=/usr/BigData/scala-2.10.4
export PATH=\$SCALA_HOME/bin: $PATH

然后执行命令 source /etc/profile ,使配置立即生效。至此,Scala的配置就完成了。我们在终端执行命令

scala

出现下图所示内容,证明scala安装配置成功。
这里写图片描述

三、下载安装Spark

从Spark官网(http://spark.apache.org/downloads.html)下载
这里写图片描述

这里我们选择Spark1.6.0,因为我们已经搭建好了Hadoop 2.6.0的环境,所以包类型选择图示的。
下载完成后,解压,将解压得到的文件夹重命名为spark-1.6.0,并复制到/usr/BigData目录下。

四、配置Spark

1.进入/usr/BigData/spark-1.6.0/conf目录下,复制一个spark-env.sh.template的副本,命名为spark-env.sh,编辑该文件,再文件最后加上下面的语句:
这里写图片描述

export JAVA_HOME=/usr/jdk
export SCALA_HOME=/usr/BigData/scala-2.10.4 #记得将Scala的环境变量添进去
export HADOOP_CONF_DIR=/usr/BigData/hadoop-2.6.0/etc/hadoop

2.修改/etc/profile文件,加上下面的语句

#Spark环境变量
export SPARK_HOME=/usr/BigData/spark-1.6.0
export PATH=$SPARK_HOME/bin:$PATH

五、测试

注意,必须安装 Hadoop 才能使用 Spark,但如果使用 Spark 过程中没用到 HDFS,不启动 Hadoop 也是可以的。在 ./examples/src/main 目录下有一些 Spark 的示例程序,有 Scala、Java、Python、R 等语言的版本。我们可以运行一个示例程序来验证spark是否安装成功。进入到/usr/BigData/spark-1.6.0目录下。执行命令:

./bin/run-example SparkPi 2>&1 | grep “Pi is roughly”

如果输出π值,证明spark已经可以运行了。

我们也可以启动spark-shell,在spark-1.6.0目录下,执行命令如下

./bin/spark-shell

出现scala>提示符,证明成功。

关此部分,可以参照厦门大学数据库实验室网站,有一篇博客(http://dblab.xmu.edu.cn/blog/spark-quick-start-guide/)讲的是spark的安装与基础使用。

具体的程序运行测试会在插件篇中提到。

在JDK+Hadoop+Spark+Scala全部配置完成后,/etc/profile文件如下:

这里写图片描述

#JAVA环境变量
export JAVA_HOME=/usr/jdk
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib/dt.jar
#Hadoop环境变量
export HADOOP_HOME=/usr/BigData/hadoop-2.6.0
#Spark环境变量
export SPARK_HOME=/usr/BigData/spark-1.6.0

Hadoo伪分布搭建http://blog.csdn.net/sunglee_1992/article/details/53024652

Scala与MapReduce开发的IDE插件http://blog.csdn.net/sunglee_1992/article/details/53026421

搭建 Maven + Spark + Scala 项目,可以按照以下步骤进行: 1. 安装 Maven 首先需要安装 Maven,可以从 Maven 官网下载对应的安装包进行安装。 2. 创建 Maven 项目 打开命令行或者终端,进入项目存储的目录,执行以下命令创建 Maven 项目: ``` mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 其中,`com.example` 是项目的包名,`my-app` 是项目名称,`maven-archetype-quickstart` 是 Maven 的一个基础模板。 创建完毕后,进入项目目录,可以看到项目结构如下: ``` my-app |-- pom.xml `-- src |-- main | `-- java | `-- com | `-- example | `-- App.java `-- test `-- java `-- com `-- example `-- AppTest.java ``` 3. 添加 SparkScala 依赖 在 `pom.xml` 文件中添加 SparkScala 的依赖: ```xml <dependencies> <!-- Spark --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.4.5</version> </dependency> <!-- Scala --> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2.11.12</version> </dependency> </dependencies> ``` 其中,`spark-core_2.11` 和 `scala-library` 的版本可以根据需求进行修改。 4. 编写 Scala 代码 在 `src/main/scala` 目录下创建 Scala 文件,编写 Spark 代码。 例如,创建一个 `WordCount.scala` 文件,编写如下代码: ```scala import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("WordCount").setMaster("local") val sc = new SparkContext(conf) val textFile = sc.textFile("input.txt") val wordCount = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b) wordCount.saveAsTextFile("output") sc.stop() } } ``` 该代码可以实现读取文件 `input.txt`,统计每个单词出现的次数,并将结果输出到文件 `output` 中。 5. 打包和运行项目 在命令行或者终端中,进入项目目录,执行以下命令进行打包: ``` mvn package ``` 打包成功后,在项目目录下的 `target` 目录中会生成一个 `my-app-1.0-SNAPSHOT.jar` 文件。 然后就可以使用以下命令来运行项目: ``` spark-submit --class com.example.WordCount my-app-1.0-SNAPSHOT.jar ``` 其中,`com.example.WordCount` 是 `WordCount.scala` 文件中的类路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值