转载请务必注明原创地址为:http://dongkelun.com/2018/03/...

1、首先安装配置jdk1.8以上,建议全部的安装路径不要有空格

2、安装spark

2.1 下载

下载地址:http://spark.apache.org/downloads.html,我下载的是 spark-2.2.1-bin-hadoop2.7.tgz

2.2 安装

解压到指定路径下即可,比如 D:Companybigdataspark-2.2.1-bin-hadoop2.7

2.3 配置环境变量

在系统变量Path添加一条:D:Companybigdataspark-2.2.1-bin-hadoop2.7bin 即可

3、安装hadoop

3.1 下载

下载地址:https://archive.apache.org/dist/hadoop/common/(需要和spark对应的版本保持一致,我选择的hadoop-2.7.1.tar.gz)
(此链接下载较慢,可选择其他镜像下载其他版本如:http://mirror.bit.edu.cn/apache/hadoop/common/)

3.2 安装

解压到指定路径下即可,比如 D:Companybigdatahadoop-2.7.1

3.3 配置环境变量

在系统变量里添加 HADOOP_HOME:D:Companybigdatahadoop-2.7.1

3.4 下载winutils.exe

1.下载地址:https://github.com/steveloughran/winutils(找到对应的版本下载)

  1. 将其复制到 %HADOOP_HOME% 即D:Companybigdatahadoop-2.7.1bin

3.5 解决/temp/hive 不可写错误

执行以下语句:D:Companybigdatahadoop-2.7.1binwinutils.exe chmod 777 /tmp/hive 即可,参考:http://mangocool.com/1473838702533.html

3.6 运行验证spark

在命令行输入:spark-shell,出现如下图所示即为成功(其中warn信息已在日志配置文件里去掉)

4、安装对应版本的scala(scala-2.11.8.msi)

4.1 下载

下载地址:https://www.scala-lang.org/download/all.html

4.2 安装

一键式安装到指定目录:D:Companybigdatascala

4.3 配置环境变量

安装过程中已经自动配好

4.4 验证

输入scala -version 查看版本号 ,输入scala 进入scala的环境

5、在eclipse上安装scala插件

5.1安装

在Eclipse中选择Help->Install new Software

等待一会儿:

然后下一步下一步
中间有一个警告,点ok即可,最后根据提示重启eclipse即可安装完成

5.1运行scala程序

5.1.1 新建scala project


5.1.2 将默认的sacala版本改为之前安装的版本

5.1.3 编写salca程序,即可像运行java一样运行scala


6、安装sbt

6.1 下载(sbt-1.1.1.msi)

下载地址:https://www.scala-sbt.org/download.html

6.2 安装

一键式安装到指定目录:D:Companybigdatascala-sbt

6.3 配置环境变量

SBT_HOME=D:Companybigdatascala-sbt
path=%sBT_HOME%bin

6.3 配置本地仓库

编辑:conf/sbtconfig.txt

# Set the java args to high

-Xmx512M

-XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=128m



# Set the extra SBT options

-Dsbt.log.format=true
-Dsbt.boot.directory=D:/Company/bigdata/scala-sbt/boot/
-Dsbt.global.base=D:/Company/bigdata/scala-sbt/.sbt
-Dsbt.ivy.home=D:/Company/bigdata/scala-sbt/.ivy2
-Dsbt.repository.config=D:/Company/bigdata/scala-sbt/conf/repo.properties

增加文件 conf/repo.properties

[repositories]  
local
Nexus osc : https://code.lds.org/nexus/content/groups/main-repo
Nexus osc thirdparty : https://code.lds.org/nexus/content/groups/plugin-repo/
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/,[organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext],bootOnly  
typesafe2: http://repo.typesafe.com/typesafe/releases/
sbt-plugin: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/
sonatype: http://oss.sonatype.org/content/repositories/snapshots  
uk_maven: http://uk.maven.org/maven2/  
ibibli: http://mirrors.ibiblio.org/maven2/  
repo2: http://repo2.maven.org/maven2/

6.4 验证

输入:sbt
(第一次使用会下载复制一些文件)

7、安装eclipse的sbt插件:sbteclipse

sbteclipse是eclipse的sbt插件,但与一般eclipse插件的配置及使用并不相同。
sbteclipse项目源码托管在github上:https://github.com/typesafehub/sbteclipse

(7.1和7.2不确定是否是必须的,一台机器不需要,另一台因在~/.sbt文件下没有1.0和0.13文件夹,执行这两步即可)

7.1 下载项目

git clone https://github.com/sbt/sbteclipse.git

或下载zip再解压

7.2 编译

进入到sbteclipse目录下,输入

sbt compile

7.3 添加全局配置文件

新建:~/.sbt/1.0/plugins/plugins.sbt(网上好多说是:~/.sbt/0.13/plugins/plugins.sbt,但我两个电脑都不行)

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.2.4")

7.4 进入到之前创建的项目ScalaDemo目录下

添加sbt配置文件build.sbt

name := "ScalaDemo"
 
version := "1.0"
 
scalaVersion := "2.11.8"
 
javacoptions ++= Seq("-source","1.8","-target","1.8")

libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "2.2.1"

)

输入 sbt 然后输入eclipse 等待相关的依赖下载完,就可以在eclipse 看到依赖的jar了

7.5 最后将src bulid path 一下,就可以在scala代码里导入spark包了


8、 如果想调用本地spark,在SparkConf或者在SparkSession设置matser为local(本地模式)即可

win10 spark+scala+eclipse+sbt 安装配置的更多相关文章

  1. xcode – 为什么Jenkins在我的Mac上运行不会连接到本地的git repo?

    我正在尝试使用Jenkins实现自动化构建,用于我的iOS项目.我添加了Git插件,但是一旦我尝试将git的URL放在项目的git配置中,它会在下面的屏幕截图中显示错误.这里Jenkins不能从repo克隆到其工作空间.解决方法在大多数情况下,gitbarerepo有扩展名.git我的意思是(其他)/test1看起来不正确,我认为应该是(其他)/test1.git在我的mac上有同样的错误.

  2. 哪些Xcode项目文件可以从我的git repo中排除?

    我正在开发一个iOS项目,并使用git进行版本控制.我正在与另一位开发人员合作.我应该保留哪些Xcode项目文件在repo中,哪些可以排除,这样不会对其他开发者产生负面影响?这里有一些非代码文件,git告诉我已被修改或添加…

  3. Xcode 4:使用Git repo commit版本在每个构建上更新CFBundleVersion

    我正在将Xcode4与Git结合使用,并希望在每个版本的Info.plist中增加CFBundLeversion.密钥CFBundLeversion的值应更新为我对Git存储库的最后一次提交的数量.我发现thatpython脚本运行良好,但遗憾的是它没有更新我的Xcode项目中的Info.plist–它只是更新了“BUILT_PRODUCTS_DIR”中的Info.plist.有没有人知道如何让Xcode4获取最新提交的版本并将该信息放入项目的Info.plist中?

  4. Swift 学习一

    国外开发者最近发现,WWDC2014上苹果发布的新语言Swift,和古老的Scala语言在语法上存在众多的相似之处。Swift语言从语法上来看,几乎是Scala的一个分支,在以下功能上几乎是等同的:类型继承、闭包、元组、协议、扩展、泛型等。不过Swift的运行环境和Scala的区别还是很大,这个概念才是Swift最重要的。但Swift最终编译到机器代码,使用引用计数机制,与Objective-C无缝整合。所以Swift和Scala在代码表象上的相似,应该并不太影响两种语言本质机理上的重大不一致。

  5. 如何使用“repo”克隆最小的android源码?

    我可以使用“repo”工具克隆Android源代码.但是,我想要做的是以比没有11GB足迹的更小的方式克隆源代码.它似乎下载了与每个Android设备和每个先前版本相关的内容.我试过想通过检查这样的特定分支来减少这个:然而,最终发生的事情是,我仍然只涉及一个特定的快照(可理解).但有没有办法限制克隆的数量?

  6. Android上的Scala:java.lang.NoSuchMethodError:java.lang.String.isEmpty

    解决方法使用JRE/JDK1.5,它在String上没有isEmpty方法.这将避免Scala使用1.6的isEmpty而不是自己的情况.如果您也有Java库,请务必选择与1.5兼容的库.

  7. android – Gradle自定义存储库和依赖项解析

    我正在开发的项目需要scribe-java和crashlytics库.这两个库都可以从自定义存储库中获得.build.gradle看起来像:使用这样的设置存储库解决方案在构建过程中变得混乱,以至于gradle尝试从不适当的存储库中解析工件:它试图从scribe存储库中检索crashlytics文件.解决方法按声明的顺序搜索存储库,直到找到依赖关系.如果在scribe存储库中搜索crashlytics库,则意味着在crashlytics存储库中找不到它.

  8. 暂停和恢复Android Repo Sync

    reposync解决方法你不能真正暂停一个repo同步,但是如果你使用Ctrl-C中止它然后再运行它,它将有效地从它停止的地方继续.虽然它将从头开始再次通过项目列表,并且可能仍然为已经处理的项目获取一些新数据,但它应该通过这些项目,因为它之前获取的所有数据仍将存在在隐藏的.repo目录中.有关repoinit和reposync工作方式的精彩描述,请参见thisanswer.请注意,您不会立即看到任何已提取的项目,因为在完成克隆.repo/projects中的所有git存储库之前,reposync不会创建并

  9. android – 从AOSP master切换到froyo

    我刚用回购检查了主人.现在我想切换到froyo.如果不再下载一堆东西我怎么能这样做?我不想再次下载一堆东西,我只是希望能够在分支之间自由移动,就像在普通的gitclone中一样.解决方法由于您使用repo下载了所有内容,因此您可以轻松地使用repo在分支之间切换而无需再次下载所有内容:repoinit-bfroyo;回购同步这将只下载切换分支所需的文件,就像使用git在分支之间移动一样.

  10. android – 如何覆盖Robolectric运行时依赖性存储库URL?

    我们试图从我们自己的内部Nexus存储库中使用org.robolectric:robolectric:3.0依赖.问题是Robolectric尝试从公共存储库(asmentionedhere)在运行时加载一些依赖项,并忽略build.gradle中的任何存储库覆盖.由于我们无法从Intranet访问该公共位置,因此在尝试加载该依赖项后,我的测试会超时:[WARNING]Unabletogetres

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部