Linux登录那点从

超过平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux

【原创】Helenykwang 于2018-01-13 18:10:18编写

俺们登录linux的当儿差不多不绝关心地方的是提示,其实这还是发接触文章的

不要maven,不用sbt,只需要三独仓库

简易解释一下:

一律、环境说明

集群:Spark 2.1.2 + hadoop2.3

开发机OS:win7

Jdk 1.8.0_151

下载jre即可
http://www.oracle.com/technetwork/java/javase/downloads/index.html

注:JDK是一个平台特定的软件,有针对Windows,Mac和Unix系统的例外的安装包。
可以说JDK是JRE的超集,它包含了JRE的Java编译器,调试器和核心类

scala 2.11.8
http://www.scala-lang.org/download/

IntelliJ IDEA 2017.3

spark 源码spark-2.1.2-bin-hadoop2.3

图片 1

仲、环境搭建

落得亦然软dnt用户登录的光阴,以及极是tty1

1. 中心配置

装java、scala,配置环境变量JAVA_HOME、SCALA_HOME为相应安装路径

PATH后面添加%JAVA_HOME%\jre\bin; %SCALA_HOME%\bin

【WIN】%JAVA_HOME%

【Linux】$JAVA_HOME

留神:scala 安装路径不可知产生空格,否则会报错

>>找不交要无法加载主类scala.tools.nsc.MainGenericRunner

查看标准

开拓CMD,分别施行java、scala命令。

知识普及
一声令下模式下默认有六单顶tty1-tty6
tty7代表图形登录
长距离登录会显示pts/0,1,2…

2. 装配置IntelliJ IDEA 2017.3

初始化后,在file –settings 中补充加scala插件,重开

来做个示范,我们用Xshell远程登录一下网(如果发现而的Xshell不可知接二连三虚拟机,请参考这首文章:http://www.cnblogs.com/dunitian/p/6268304.html)

老三、开发示范

图片 2

1. 新建工程

实则这里选个java工程虽实施了,不用做那么复杂,记住要是负库java、scala、spark源码库添加好就是推行。

产图显示了创办工程时上加java-sdk、scala-sdk的进程。

创办有必要的目录,我之demo的目树如下:

于scala目录右键mark Directory as — Source Root

当你发表录root的早晚,他会见显上次凡是pts/0 (远程登录)

2. 长spark源码依赖

自从File – Project Structure 进入,添加Lib,按下图操作了后,点击apply –
ok

文本树之外部库会冒出以下三个:分别是java、spark、scala【重点强调唷~
三者缺一不可,其他随意】

图片 3

3. 编写程序

新建一个scala文件SparkDemo.scala,代码如下:

package demo

importorg.apache.spark._

objectSparkDemo{

  def main(args: Array[String]): Unit = {

        val masterUrl = “local[1]”

        val sparkconf =
newSparkConf().setAppName(“helenApp”).setMaster(masterUrl)

        //spark配置,建议保留setMaster(local)

        //调试之早晚要,在实际上集群达走的时光只是在命令执行由定义

        val sc = new SparkContext(sparkconf)

        val rdd=sc.parallelize(List(1,2,3,4,5,6)).map(_*3) 
//将数组(1,2,3,4,5,6)分别乘3

      rdd.filter(_>10).collect().foreach(println) 
//打印大于10之数字

        println(rdd.reduce(_+_))  //打印 和

        println(“hello world”)  // demo必备的一致词代码!!! [认真脸]

  }

}

这时,scala编辑界面可能出现就词话,点击setup scala SDK就足以了。

依赖库添加成功之检专业是,import org.apache.spark._不报错。

点击绿色三角形,run~

每当console界面正常输出!(*^__^*)

当您登陆你协调账号时,他会见展示上次若登录的ip

4. 打包jar包

反之亦然是于旧File–Project Structure 进入,在Artifacts下上加jar。

小心:打包的jar包不需要将spark源码也作上的,因为集群达我就闹spark代码,所以便留给以下这点儿单公文即可~~~
点击apply –ok

在主界面,Build—Build Artifacts。开始编译~~~
编译OK后会见多发生一个out目录,里面来最终jar包

查主类,MANIFEST.MF文件内容如下:

Manifest-Version:1.0

Main-Class:demo.SparkDemo

图片 4

5. 集群达运行jar包

Jar包放到/home/hadoop目录下

>>spark-submit  –class demo.SparkDemo–master spark://:7077
project_name.jar

征:–class <主类名>
最后及的参数是咱们的jar包。–master指定了集群master,中间还好起定义有spark配置参数,例如:

–num-executors 100 \

      –executor-memory6G \

      –executor-cores4 \

      –driver-memory1G \

      –confspark.default.parallelism=1000 \

      –confspark.storage.memoryFraction=0.5 \

      –confspark.shuffle.memoryFraction=0.3 \

集群达运行成功~~~

这个用场景主要是防止网站被暗运行了后门,在排查的上要注意pts/0~n

总结

骨子里看了不少呀maven工程、scala工程构建方式,其实大同小异,重点才是java、spark、scala的依搞好,这才是骨干问题。

留神版本一致性,包括:

· 开发机和集群的spark源码版本一样

· 开发IDE中scala插件与系安装之scala和集群达scala版本相同

· scala 和spark 版本匹配。(spark2.x 相比 1.x 有为数不少异,请动scala
2.11+版本)

===================分割线=======================

踏上了的坑 ~ (๑ŐдŐ)b,欢迎小伙伴等和本身分享遇到的问题 (*^__^*) ~

 

荒唐集锦

差情况:

一声令下执行运行scala时,找不至或无法加载主类scala.tools.nsc.MainGenericRunner

拧原因:

scala安装目录出现了空格。

题材迎刃而解:

用Scala 移动及无空格的文本夹下。重新设置SCALA_HOME。文件解决。

出错情况:

编写程序时,调用rdd.saveAsTextFile 报错NullPointerException

拧原因:

同hadoop文件输出配置有关,下个补丁,配置一下即可

解决智:

1)下载文件winutils.exe

2) 将这文件放置在某个目录下,比如D:\hadoop\bin\中。

3)在scala程序的一律起声明:System.setProperty(“hadoop.home.dir”,”D:\\hadoop\\”)

错情况:

maven初始化工程时,连接https://repo.maven.apache.org/maven2过期失败

阴差阳错原因:

PC网络自之题材。不能够访问外网。

缓解智:

应用maven离线模式,手动把依库导入 <用户目录>\\.m\\
repository

Q:什么时候需要maven离线模式为?

A:没有网络,只有本地库,又是故maven来保管项目,在编译或者下载第三方Jar的时候,老是去中央仓库上机关下载,导致有题目。

1)    全局设置Work offline 如下图所示

2)    编辑 <用户目录>\\.m\\
settings.xml,写一行:<offline> true</offline>