下载安装配置 Spark-2.4.5 以及 sbt1.3.8 打包程序
文章更新于:2020-03-29
按照惯例,文件附上链接放在文首。
文件名:spark-2.4.5-bin-without-hadoop.tgz
文件大小:159 MB
下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.5/spark-2.4.5-bin-without-hadoop.tgz
SHA256:40f58f117efa83a1d0e66030d3561a8d7678f5473d1f3bb53e05c40d8d6e6781
文件名:sbt-1.3.8.tgz.7z
文件大小:54.9 MB
下载链接:https://www.lanzous.com/iameoaf
SHA256:9E0662C84E6B99F2BAB0F51EC1F8C93FA89C5CE5400AD01CF2A98A63A816346D
文章目录
一、下载需要的文件
1、下载 spark
1、spark
可以去官网http://spark.apache.org/downloads.html 自行寻找合适版本。
2、spark
也可以使用文首 spark-2.4.5-bin-without-hadoop.tgz
直链。
2、下载 sbt
1、sbt
可以去官网 https://www.scala-sbt.org/自行寻找合适版本。
2、sbt
也可以使用文首sbt-1.3.8.tgz.7z
直链。
二、安装spark
1、解压==安装
注1:tail -n 10
是只查看输出的最后 10 条结果,可以不用写。
注2:username
需要换成你的用户名。
sudo tar -zxvf spark-2.4.5-bin-without-hadoop.tgz -C /usr/local/ | tail -n 10
cd /usr/local
sudo mv spark-2.4.5-bin-without-hadoop/ spark
sudo chown -R username:username spark
2、修改Spark的配置文件spark-env.sh
注:在spark
目录下拷贝spark-env.sh.template
文件 并去掉.template
后缀。同时在此文件第一行添加如下所示 export xxxx
代码。
cd /usr/local/spark
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
3、运行示例
1、在 spark 目录下运行如下命令。
bin/run-example SparkPi
# bin/run-example SparkPi 2>&1 | grep "Pi is"
注:也可使用注释掉的那行命令直接过滤出结果。
2、我的刚开始出错了,报错如下。
然后我使用 nmtui
命令将网络配置成手动模式,并写入IP、网关等重新运行程序就可以了。
发现运行结果与我假设的 3.1415926
有点差距,不过好像就是这样哦,不是出错了。
4、启动spark命令行
注:在 /usr/local/spark/
目录下执行以下命令启动 spark
./spark-shell --master local[2]
1、这时也可以在浏览器访问图形界面了,地址在上面的输出信息中有,这里是 192.168.1.136:4040
5、解决 WARN 两个
1、在上述命令行输出中,其中有 WARN util.Utils: Your hostname, xxxxx resolves to a loopback address: 127.0.1.1;
解决办法:
在 conf/spark-env.sh
配置文件中添加SPARK_LOCAL_IP
比如:
SPARK_LOCAL_IP="192.168.1.136"
再次启动的时候就看不到它了~
2、在上述命令输出中,其中有 spark Unable to load native-hadoop library for your platform...
解决办法:
在conf/spark-env.sh
配置文件中添加 LD_LIBRARY_PATH
比如:
LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
注:前提是你的 $HADOOP_HOME
已经存在。
再次启动的时候就看不到它了~
三、安装 sbt
1、解压到指定文件夹
ls | grep sbt #查看当前文件夹是否有sbt安装包
sudo tar -zxvf sbt-1.3.8.tgz -C /usr/local
sudo cp /usr/local/sbt/bin/sbt-launch.jar /usr/local/sbt
sudo chown -R bigdata:bigdata /usr/local/sbt
sudo vim /usr/local/sbt/sbt
sudo chmod u+x /usr/local/sbt/sbt
2、建立sbt脚本并执行
脚本内容如下:
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"
注:脚本需要添加执行权限,在步骤一代码截图中有。
然后执行:
./sbt sbtVersion
第一次执行结果如下:
第二次执行结果如下:
四、Spark独立应用程序编程
1、编写scala程序
1、先建立程序根目录
cd ~
mkdir -p ./sparkapp/src/main/scala
2、编写 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))
}
}
2、使用sbt打包Scala程序
1、建立 ~/sparkapp/simple.sbt
脚本(这里的名字任意),内容如下:
注1:此处第三行的scala版本是你spark启动的时候输出的scala版本!
注2:此处的第四行spark版本也是你spark启动是输出显示的版本。
name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.4.5"
2、进行程序打包
/usr/local/sbt/sbt package
注:如果是第一次运行,可能会联网下载文件,等待时间比较长。
执行结果如下:
3、执行程序(如果失败如何解决)
/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar
执行结果如下:
我运行失败了,还在解决中。。。。。头大
异常截图:
2020-03-29更新:问题已经解决。
问题所在:在simple.sbt
文件中,指定的scala
版本应该是spark-shell
输出的那个 scala 版本,而不是自己单独安装的 scala 版本。
运行结果:
4、查看 sbt 版本不动的解决办法
1)尝试换源
我亲自测试,没换源之前,执行 sbt sbtVersion
命令需要等待半小时+。
当然,这个时间不同的网络环境下是不同的,可能你的会快的多。
换源以后,等待1分45秒开始出现刷屏信息,2分26秒时完成显示版本信息。
如何换源见步骤五。
2)删除配置文件重来
如果使用 sbt sbtVersion
命令查看 sbt 版本,一直没有刷新输出信息,
可以尝试将之前安装 sbt 时产生的文件删除,然后重新执行命令。
主要的需要删除的文件三个 ~/.sbt
、~/.ivy
、~/.ivy2
具体可参考林子雨教授博客:安装最新版sbt工具方法和体会
5、打包程序过慢解决办法(换国内镜像)
如果使用 sbt package
的时候一直刷屏就是不好,可能是镜像源连接速度有点慢。这时可以选择国内的镜像。
在 ~/.sbt/repositories
文件中(如没有自己创建一个)添加以下内容:
注:下述代码中的开头repo
应该是可以自定义的,我改了没影响程序执行。
[repositories]
repo:https://maven.aliyun.com/repository/public
再次执行打包命令就会快很多。
注1:在我打包测试时,新下载库打包一个程序需要N秒。
注2:重新打包(无需下载文件)一个程序需要24+秒。
6、关于 sbt 的各个文件
注1:在 sbt 的安装目录 sbt/conf/sbtopts 文件中有如下内容:
# ------------------------------------------------ #
# The SBT Configuration file. #
# ------------------------------------------------ #
# Disable ANSI color codes
#
#-no-colors
# Starts sbt even if the current directory contains no sbt project.
#
-sbt-create
# Path to global settings/plugins directory (default: ~/.sbt)
#
#-sbt-dir /etc/sbt
# Path to shared boot directory (default: ~/.sbt/boot in 0.11 series)
#
#-sbt-boot ~/.sbt/boot
# Path to local Ivy repository (default: ~/.ivy2)
#
#-ivy ~/.ivy2
# set memory options
#
#-mem <integer>
# Use local caches for projects, no sharing.
#
#-no-share
# Put SBT in offline mode.
#
#-offline
# Sets the SBT version to use.
#-sbt-version 0.11.3
# Scala version (default: latest release)
#
#-scala-home <path>
#-scala-version <version>
# java version (default: java from PATH, currently $(java -version |& grep versi
on))
#
#-java-home <path>
注2:上述文件说明了sbt各个文件的所在和用处。
五、Enjoy!
下载安装配置 Spark-2.4.5 以及 sbt1.3.8 打包程序的更多相关文章
- Windows32或64位下载安装配置Spark
[学习笔记] Windows 32或64位下载安装配置Spark:1)下载地址:http://spark.apache.org/downloads.html 马克-to-win @ 马克java社区: ...
- 安装配置Spark集群
首先准备3台电脑或虚拟机,分别是Master,Worker1,Worker2,安装操作系统(本文中使用CentOS7). 1.配置集群,以下步骤在Master机器上执行 1.1.关闭防火墙:syste ...
- Windows32位或64位下载安装配置Scala
[学习笔记] Windows 32位或64位下载安装配置Scala: 1)下载地址:http://www.scala-lang.org/download/,看我的spark那节,要求scala是2.1 ...
- win10 DVWA下载安装配置(新手学渗透)
电脑重装系统了,需要重新装一下渗透测试的学习环境DVWA,借此机会就跟大家讲一下DVWA的安装过程,因为不同的电脑配置.环境不同,在我的电脑上按照我这个安装教程是一次性就安装好了的.如果安装的时候遇到 ...
- Jmeter下载安装配置及使用(windows)
1 前言 仅作为记录使用. 2 步骤 2.1 下载地址:http://jmeter.apache.org/download_jmeter.cgi 2.2 选择binary版本即可:apache-jme ...
- 01_2Java开发环境的下载 安装 配置
01_2Java开发环境的下载 安装 配置 l 配置Java开发环境步骤(WindowsXP) l 下载并按照最新版本的J2SDK l 设置Windows环境变量 l 选择合适的文本编辑器或使用集成开 ...
- 2019-03-18 OpenCV Tesseract-OCR 下载 安装 配置(cv2 报错)
OpenCV 下载 安装 配置 1.下载和Python版本对应的版本,此为下载地址 2.安装(在powershell管理员模式下安装) pip3 install .\opencv_python-3.4 ...
- 从零开始使用git第一篇:下载安装配置
从零开始使用git 第一篇:下载安装配置 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:git撤销操作.分支操作和 ...
- JDK下载安装配置教程(详细)
JDK下载安装配置教程(详细) 版权声明:本文为原创文章,转载请附上原文出处链接和本声明.https://www.cnblogs.com/mxxbc/p/11844885.html 因为最近需要在Wi ...
随机推荐
- python常用软件包
redis数据库: 链接:https://pan.baidu.com/s/1X_ndCj0scF2WZd2FPLRKag 提取码:e3zm git安装包: 链接:https://pan.baidu.c ...
- PDA程序开发的运行配置
前言:因为这个项目是公司一直在做的项目,所以只是简单说一下我从下载项目到成功运行的配置 开发工具:APICloud.雷神模拟器.Visusl studio vs配置: 1.svn下载后台代码后,修改w ...
- vue-autoui自匹配webapi的UI控件
vue-autoui 是一款基于vue和element扩展的一个自动化UI控件,它主要提供两个控件封装分别是auto-form和auto-grid; 通过这两个控件可以完成大多数的信息输入和查询输出的 ...
- 详解如何实现斗鱼、B站等全局悬浮窗直播小窗口
最近业务需求需要我们直播返回或者退出直播间时,开一个小窗口在全局继续直播视频,先看效果图. 调研了一下当下主流直播平台,斗鱼.BiliBili等app,都是用WindowManger做的(这个你可以在 ...
- SSM框架学习笔记
管理部门: --Spring + SpringMVC+MyBatis 1.index.jsp--->SpringMVC(Servlet) 接受客户端的请求,读取页面的值,回传到页面 2.Myba ...
- python的元类编程
廖雪峰的python教程有python元类编程示例,综合代码如下 https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df ...
- oracle中pl/sql 练习题----输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金)
一. 思路:声明record类型的变量,根据 多表联合查询查出想要的数据,最后输出. 二.注意:record类型不一定只是一个表中的数据,也可以声明不同表中的数据类型. 三.语句如下: declare ...
- Systematic comparison of strategies for the enrichment of lysosomes by data independent acquisition 通过DIA技术系统比较各溶酶体富集策略 (解读人:王欣然)
文献名:Systematic comparison of strategies for the enrichment of lysosomes by data independent acquisit ...
- 当程序执行一条查询语句时,MySQL内部到底发生了什么? (说一下 MySQL 执行一条查询语句的内部执行过程?
先来个最基本的总结阐述,希望各位小伙伴认真的读一下,哈哈: 1)客户端(运行程序)先通过连接器连接到MySql服务器. 2)连接器通过数据库权限身份验证后,会先查询数据库缓存是否存在(之前执行过相同条 ...
- JSP+Servlet+C3P0+Mysql实现的网上蛋糕店
本文存在视频版本,请知悉 项目简介 项目来源于:https://gitee.com/PositiveMumu/CakesShop/tree/master 这次分享一个蛋糕商场系统,还是很简单的系统.界 ...