idea连接spark的环境配置

Idea 连接Spark集群

两种方式:sbt和maven

1: 使用maven方式

Idea 连接Spark集群的详细步骤如下:

先在本地安装 scala 和 java ,  

scala下载地址:   https://downloads.lightbend.com/scala/2.12.6/scala-2.12.6.msi

java 下载地址:   http://www.oracle.com/technetwork/java/javase/downloads/index.html

  • 版本问题: 

注意:scala 和 java 版本之间有一定的要求, 要不然会报错

最开始:java版本: 1.8.0_20   和  scala  版本  2.11.8

出现如下报错:

idea连接spark的环境配置_第1张图片

修改scala和java版本:

idea连接spark的环境配置_第2张图片

输出结果如下:

idea连接spark的环境配置_第3张图片

 

  • 创建新项目

idea连接spark的环境配置_第4张图片

idea连接spark的环境配置_第5张图片

idea连接spark的环境配置_第6张图片

idea连接spark的环境配置_第7张图片

  • 项目配置
  1. 右击项目名-> Add Framework Support , 选择scala (注意: 如没有scala复选框,则是scala环境未配置或配置错误

idea连接spark的环境配置_第8张图片

2.右击main -> scala , 点击Mark Directory as -> Resources Root

idea连接spark的环境配置_第9张图片

 

3.添加scala文件:

idea连接spark的环境配置_第10张图片

结果如下

idea连接spark的环境配置_第11张图片

配置scala 和java环境

1: 下载 scala

        IDEA安装Scala插件,File->Settings->Plugins,搜索出Scla插件,点击Install安装;

2:本地存在scala

idea连接spark的环境配置_第12张图片

 

选择scala

idea连接spark的环境配置_第13张图片

 

右击scala-sdk-2.11.12选择copy to Project Libraries 

idea连接spark的环境配置_第14张图片

 

配置java环境:

选择java  --》 点击new, 选择安装路径

idea连接spark的环境配置_第15张图片

 

SDKs 设置java同上处理,选择java的jdk安装路径

idea连接spark的环境配置_第16张图片

 

将pom.xml中没必要的去掉(可选)

idea连接spark的环境配置_第17张图片

 

修改pom.xml 添加spark集群所需要的依赖(注意: scala只能是2.11,不能是2.11.8): 


  2.11
  2.6.0
  2.1.0



  
    scala-tools.org
    Scala-Tools Maven2 Repository
    http://scala-tools.org/repo-releases
  



  
    org.apache.spark
    spark-core_${scala.version}
    ${spark.version}
  
  
    org.apache.spark
    spark-sql_${scala.version}
    ${spark.version}
  
  
    org.apache.spark
    spark-streaming_${scala.version}
    ${spark.version}
  
  
    org.apache.hadoop
    hadoop-client
    ${hadoop.version}
  
  
    org.apache.hadoop
    hadoop-common
    ${hadoop.version}
  
  
    org.apache.hadoop
    hadoop-hdfs
    ${hadoop.version}
  

在本地运行:

Run-> Edit Configurations编辑:

idea连接spark的环境配置_第18张图片

 

vm options: -Dspark.master=saprk://65.49.200.49:7070 在集群上运行

运行结果:

idea连接spark的环境配置_第19张图片

代码:

import org.apache.spark._
import scala.math.random

object WorkCount {
  def main(args: Array[String]): Unit = {
    println("Hello World")
    val conf = new SparkConf().setAppName("SparkPi").setMaster("local[2]")
    val spark = new SparkContext(conf)
//    val slices = if (args.length > 0) args(0).toInt else 2

    println("Time: " + spark.startTime)
    val line = spark.textFile("file:/G:/wc.input")
//    line.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).saveAsTextFile("file:/G:/out.txt")
//    line.foreach(println)
    line.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _).collect().foreach(println)
//    val n = math.min(1000L * slices, Int.MaxValue).toInt  // avoid overflow
//
//    val count = spark.parallelize(1 until n, slices).map { i =>
//      val x = random * 2 -1
//      val y = random * 2 - 1
//      if (x*x + y * y < 1) 1 else 0
//
//    }.reduce(_ + _)
//    println("Pi is roughly " + 4.0 * count / n)
    spark.stop()
  }

打包scala文件, 在服务器运行

1.File->Project Structure -> Artifacts-> + -> JAR -> Frommodules with dependencies... 

idea连接spark的环境配置_第20张图片
 

2. 选择Main Class 

idea连接spark的环境配置_第21张图片

  3.然后再build文件

   Build -> Build Artifact -> scalascala.jar -> Build (如果是第二次之后,则选择Rebuild)

idea连接spark的环境配置_第22张图片

   等待几十秒即可编译完毕。

4.此时可以在该项目文件夹的 ./out/artifacts/SparkT_jar/中即可找到打包后的文件

idea连接spark的环境配置_第23张图片

 

最后:

 将jar包发到集群中。

  spark-submit --master spark://master:7077   

 

 

你可能感兴趣的:(spark)