600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Intellij IDEA开发环境搭建 scala配置及打包 jar包在spark中的运行

Intellij IDEA开发环境搭建 scala配置及打包 jar包在spark中的运行

时间:2024-04-07 19:29:48

相关推荐

Intellij IDEA开发环境搭建 scala配置及打包 jar包在spark中的运行

1. Intellij IDEA 开发环境搭建

最近在学习scala,除需要编写scala程序外,同时还需要创建maven工程,打成Jar包,而Eclipse在这方面显得使用的不是那么方面,同时由于Intellij IDEA提供了非常智能的提示功能,所以选择IDEA作为开发环境。Intellij IDEA现在也提供社区版本供开发者免费使用,所以许多原来的Eclipse用户也逐渐的转向IDEA,一方面可以智能的提示和快捷键可以提高开发效率,另一方面其整洁的界面设计和丰富的插件集成功能,方便了程序的集成开发和使用。这里是官网下载地址/idea/download/download-thanks.html?platform=windows&code=IIC,为了开发方便可以下载Windows版本直接安装。

安装的过程可以一路next到底,不要管太多插件上的问题,直到创建工程时再开始设置就行了。下面是一些常用的设置:

首次新建JAVA工程时要指定JDK所在目录 设置字体大小和间距: 控制台的字体大小和间距: 显示行号: 在【View】下显示ToolBar和Tool Buttons,【setting】就在ToolBar中: 无法修改时,先save as,这是Intellij的设计理念

另外,除了可以使用免费的社区版,现在也有破解的Ultimate企业版,其功能相对于Community要强大,所以可以使用以下方式进行破解。

IDEA相比较其他编译器很好用,但是企业版需要激活(在校学生可以免费申请),启动时会弹出激活页面,下面有两种方法可以激活,自己偏爱第二种,第一种偶尔会失效……

1. 到网站 / 获取注册码。

2.填入下面的license server:

/

/

/key.php

/***********************update /12/14*************************/

突然发现三个激活服务器都不能用了,不知道是哪位大神自己搭建的服务器http://idea.java.sx/,可用

/***********************update /1/15*************************/

选择第二种复制下面这段代码到文本框中(可用)

[html]view plain copy C0FHYYCJ22-eyJsaWNlbnNlSWQiOiJDMEZIWVlDSjIyIiwibGljZW5zZWVOYW1lIjoid2VpIGh1YW5nIiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IiIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiSUkiLCJmYWxsYmFja0RhdGUiOiIyMDE3LTAyLTI2IiwicGFpZFVwVG8iOiIyMDE4LTAyLTI1In1dLCJoYXNoIjoiNTA2NDQ3MS8wIiwiZ3JhY2VQZXJpb2REYXlzIjo3LCJhdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJpc0F1dG9Qcm9sb25nYXRlZCI6ZmFsc2V9-pujnwQxf3C8yHf0amTTAId+Oj1LzpvTsn71x0pvgjvXtx7MWs0AAbAX2L5frRvM/0AzmF7aQuayU5EEcew+J5j0O6RsCxMUilbeeQuCBDZK1bm9NKlAYf90RSKqQ9ViMyjsBVTHoABM0XHNi++XASeBB9g1OUZdzseLZ6pit0G0BPmunKIuX7bqjWewl0okbNIl+bW2y3eD4un9jDODbjMmdlB6T42s6mQ/lDkjD65C5OY1nY2fsVyd4sa4i0iCYwNvzFlDVG/AzziLYNDAdjipE+lN5McMXMfPZuGKkvTJMJk56l5t+jPjdjPRDId+lLqa0GU3zaNP251mm8vmOew==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog==

2.scala配置

Intellij IDEA默认配置里面没有Scala插件,需要手动安装,在Intellij IDEA 首次运行时选择configure plugins,选择默认后在软件主界面去配置,但是测试发现,这种设置方式经常会因为网络问题配置失败,建议直接到 /plugin/1347-scala这个链接去下载,下载完成后,解压到Intellij IDEA 安装目录中的plugins里面去,然后启动Intellij IDEA 。然后就可以创建爱你Scala开发环境的创建:

1 File->New Project

选择scala->IDEA,填写项目名,选择项目保存的路径和JDK及Scala SDK版本,然后下一步:得到下列界面:

点击Finish,然后点击File-->Project Structure,出现如下图所示,选择安装的jdk目录,及所建立工程文件的路径

在Project->Project SDK的右侧,点击new,得到:

选择JDK,在弹出框中选择JDK的安装目录

在Libraries右侧点击绿色的“+”号,选择Scala SDK,出现下图所示的选择scala版本的选项:

在上一步骤中,可以选择Intellij IDEA中自带的Scala,也可以使用自己安装好的Scala,点击上图中的”Browse”,然后选择Scala的安装目录,配置好之后,直接finish,得到下列工程目录

点击File->Project Structure->Modules,

在src目录上,右键然后点击new fold命名为main,再右鍵main,同样new fold,命名为scala,并设置为sources,如下图,注意,src、main均不要设置sources,否则后面编译helloworld会报错XX is already defined as object xx

整体的工程文件已经创建好了,如下图:在scala源文件目录上,直接右鍵,new->scala class ,选择Object,然后输入名称:HelloWorld

输入的代码如下:

1 object HelloWorld {2 def main(args: Array[String]) {3println("Hello World")4 }5 }

点击HelloWorld.scala文件,右键或直接ctr+shift+F10运行程序

3.程序打包

File->Project Structure

Next step:

选择主类:(点击省略号会自动出现要使用的主类)

Next step:

点击应用、OK

Next step:

Next step:

Next step:

本地打好的包:

程序运行过程出现的异常及解决方式

编写完scala程序,在运行时出现Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException类型的异常。

折腾一两个小时,最后发现安装了多个版本的Scala SDK,前后设置的版本不一致。另外,也要注意scala2.1以上的版本尽量使用JDK1.8。还有,如果要在spark集群环境下运行scala程序是,要注意使用的scala版本和spark的版本的兼容性问题,从Spark2.0版开始,Spark默认使用Scala 2.11构建,Scala 2.10用户应该下载Spark源码包,并用Scala 2.10支持构建 。

Jar包在Spark中运行

将jar包通过XShell上传到服务器的摸个目录下,我这里将HelloScala的jar包放在/home/hadoop/myProject/myJar/目录下,进入spark的安装目录,启动spark(./start-all.sh),并通过如下的名利运行jar包:

/usr/local/spark/bin/spark-submit --class "HelloScala" /home/hadoop/myProject/myJar/HelloScala.jar

Local模式运行spark应用程序,通过spark-submit提交应用程序,该命令的格式如下:

/usr/local/spark/bin/spark-submit //提交Spark任务的入口,其中/usr/local/spark为spark的安装目录,spark-submit为提交Spark 任务的脚本

--class <main-class> //需要运行的程序的主类,应用程序的入口点

--master <master-url> //Master URL,下面会有具体解释

--deploy-mode <deploy-mode> //部署模式

... # other options //其他参数

<application-jar> //应用程序JAR包

[application-arguments] //传递给主类的主方法的参数

deploy-mode这个参数用来指定应用程序的部署模式,部署模式有两种:client和cluster,默认是client。当采用client部署模式时,就是直接在本地运行Driver Program,当采用cluster模式时,会在Worker节点上运行Driver Program。比较常用的部署策略是从网关机器提交你的应用程序,这个网关机器和你的Worker集群进行协作。在这种设置下,比较适合采用client模式,在client模式下,Driver直接在spark-submit进程中启动,这个进程直接作为集群的客户端,应用程序的输入和输出都和控制台相连接。因此,这种模式特别适合涉及REPL的应用程序。另一种选择是,如果你的应用程序从一个和Worker机器相距很远的机器上提交,那么采用cluster模式会更加合适,它可以减少Driver和Executor之间的网络迟延。

Intellij IDEA常用快捷键

参考:

/info-detail-1192175.html

/baolibin528/article/details/50315863

/qq_38663729/article/details/78757039

scala配置intellij IDEA15.0.3环境及hello world!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。