windows安装Spark单机开发测试环境

Posted wingooom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows安装Spark单机开发测试环境相关的知识,希望对你有一定的参考价值。

每次都要打包上传jar包到服务器,提交spark-submit任务?难道不能直接在windows的IDE中直接右键运行?当然可以!

环境准备

1、IntelliJ IDEA安装
2、Java环境变量配置
win+R -> cmd

# java -version

java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

3、Scala环境变量配置

# scala

Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_8
0).
Type in expressions to have them evaluated.
Type :help for more information.

安装Spark

1、spark 下载

2、下载后解压到D盘,保证所在路径中没有空格

3、进入解压目录/bin/
shift+右键 -> 在此处打开命令窗口

# spark-shell
//报错
java.io.IOException: Could not locate executable null\\bin\\winutils.exe in the Ha
doop binaries.
...
...
java.lang.RuntimeException: java.lang.NullPointerException

安装winutils的windows版本

1、下载winutils包
hadoop-common-2.2.0-bin

下载zip包,hadoop-common-2.2.0-bin-master.zip,随意解压到D盘一个目录

2、 增加HADOOP_HOME环境变量
新建系统变量HADOOP_HOME,值是下载的zip包解压的目录,然后在系统变量path里增加%HADOOP_HOME%\\bin

3、再次运行spark-shell

# spark-shell
//报错
java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /t
mp/hive on HDFS should be writable. Current permissions are: rwx------

\\tmp\\hive授权

1、创建D:\\tmp\\hive目录(\\tmp\\hive必须在D的根目录下)
2、进入winutils目录,打开命令行

# winutils.exe chmod 777 /tmp/hive

3、再次执行spark-shell

# spark-shell
//成功
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\\ \\/ _ \\/ _ `/ __/  '_/
   /___/ .__/\\_,_/_/ /_/\\_\\   version 1.6.1
      /_/

Using Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_80)
Type in expressions to have them evaluated.
Type :help for more information.
Spark context available as sc.
...
...
SQL context available as sqlContext.

4、更改输出日志级别

spark shell中的输出好乱,可以更改输出日志的级别,进行控制
a、进入%SPARK_HOME%\\conf
b、在conf中有个日志配置的模板,复制一个log4j.properties.template,改名为log4j.properties
c、将log4j.rootCategory=INFO, console 改为log4j.rootCategory=WARN, console

IDE程序开发

在Intellij IDEA中创建scala项目

package my.test

import org.apache.spark.SparkContext, SparkConf
import org.apache.spark.sql.SQLContext
import org.apache.spark.mllib.clustering.KMeans, KMeansModel
import org.apache.spark.mllib.linalg.Vectors
object TestSpark

  def main(args: Array[String]): Unit = 
      //设置hadoop路径
      System.setProperty("hadoop.home.dir", "D:\\\\hadoop-common-2.2.0-bin-master")
      val conf = new SparkConf().setMaster("local").setAppName("SparkTest")
      val sc = new SparkContext(conf)
      //设置console日志输出级别
      sc.setLogLevel("WARN")
      val data_test = Array(1,2,3,4,5,6,7,8,9,10)
      val disData = sc.parallelize(data_test)
      val result = disData.reduce(_+_)
      println(result)
      sc.stop()
      

在IDE中右键运行

输出:


18/02/11 13:34:49 INFO SparkUI: Started SparkUI at http://10.31.17.95:4040

18/02/11 13:34:50 INFO BlockManagerMaster: Registered BlockManager
55

以上是关于windows安装Spark单机开发测试环境的主要内容,如果未能解决你的问题,请参考以下文章

快速搭建你的Spark开发环境

01_PC单机Spark开发环境搭建_JDK1.8+Spark2.3.1+Hadoop2.7.1

在 Ubuntu16.04 中搭建 Spark 单机开发环境 (JDK + Scala + Spark)

Mac下hadoop,hive, hbase,spark单机环境搭建

Spark单机环境安装

Anaconda中配置Pyspark的Spark开发环境