spark环境搭建window篇

spark环境搭建window篇

  • 安装JDK
  • 安装hadoop
  • 安装Spark
  • 安装过程出现的问题
    • 问题一
      • 错误排查
    • 问题二
      • 错误排查
    • 问题三
      • 错误排查
    • 问题四
      • 错误排查
  • Maven整合
    • 导入依赖
    • 编辑代码
    • 设置虚拟机参数
    • 运行结果

安装JDK

这里我不做展示了,老三步:下载、解压、环境变量配置。主要讲解Spark安装时的一些问题。

安装hadoop

这里有人会问为什么要先安装hadoop,那么可以先看下面,试着先安装Spark,运行之后再来看看。

  • 首先进入hadoop下载地址
    spark环境搭建window篇_第1张图片

  • 解压hadoop到指定目录,记住这个目录,他是后面的HADOOP_HOME
    spark环境搭建window篇_第2张图片

  • 配置环境变量

    • 首先添加HADOOP_HOME
      spark环境搭建window篇_第3张图片

    • 之后在Path中添加环境变量
      spark环境搭建window篇_第4张图片

  • 运行hadoop version
    在这里插入图片描述

安装Spark

  • 首先进入Spark下载地址
    spark环境搭建window篇_第5张图片

  • 解压到指定目录,记住这个目录,这是后面的SPARK_HOME
    spark环境搭建window篇_第6张图片

  • 配置环境变量

    • 首先添加SPARK_HOME
      spark环境搭建window篇_第7张图片
    • 在Path中添加指定的环境变量。
      spark环境搭建window篇_第8张图片-

安装过程出现的问题

问题一

在安装完Spark之后,我们打开CMD运行如下命令,查看是否配置环境变量成功。
在这里插入图片描述
发现出现了报错Missing Python executable 'python', defaulting to...

错误排查

  • 说缺少python环境,那么我们首先检查python是否已经安装。
    spark环境搭建window篇_第9张图片
  • 如果环境没问题,再回到spark安装时的环境变量SPARK_HOME是否漏了配置。
    spark环境搭建window篇_第10张图片
    添加之后成功解决。

问题二

安装完Spark之后,启动发现出现如下警告:Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.h

错误排查

明确说了缺少Hadoop,回到上面老老实实安装hadoop.

问题三

在控制台中输入hadoop version后提示Error: JAVA_HOME is incorrectly set. Please update....

错误排查

明显是JAVA_HOME配置问题

  • 查看Java是否已经安装
    在这里插入图片描述
    如果没有安装的话,就先去安装Java环境
  • 查看JAVA_HOME路径是不是有空格,如果有空格,就把JDK移到一个没有空格的路径下,重新配置环境变量。
    在这里插入图片描述
    成功解决。

问题四

在安装了hadoop,解决了JDK路径等问题之后,重新运行spark-shell,出现了如下报错Did not find winutils.exe: {} java.io.FileNotFoundException: Cou....

错误排查

缺少了winutils.exe,这里需要大家下载winutils.exe,并且该文件在bin目录下噢~

spark环境搭建window篇_第11张图片

Maven整合

导入依赖

    <dependencies>
        
        <dependency>
            <groupId>org.apache.sparkgroupId>
            <artifactId>spark-core_2.12artifactId>
            <version>3.3.1version>
        dependency>
        
        <dependency>
            <groupId>org.apache.sparkgroupId>
            <artifactId>spark-sql_2.12artifactId>
            <version>3.3.1version>
        dependency>

    dependencies>

编辑代码

package com.nju.demo01;

import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.sql.SparkSession;
import scala.Tuple2;

import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;

/**
 * @date:2022/11/1 23:29
 * @author: qyl
 */
public class JavaWordCount {
    private static final Pattern SPACE = Pattern.compile(" ");

    public static void main(String[] args) {
        String path = JavaWordCount.class.getClassLoader().getResource("words.txt").getPath();
        SparkSession spark = SparkSession.builder().appName("JavaWordCount").getOrCreate();

        JavaRDD<String> lines = spark.read().textFile(path).javaRDD();

        JavaRDD<String> words = lines.flatMap(s -> Arrays.asList(SPACE.split(s)).iterator());

        JavaPairRDD<String, Integer> ones = words.mapToPair(s -> new Tuple2<>(s, 1));

        JavaPairRDD<String, Integer> counts = ones.reduceByKey(Integer::sum);

        List<Tuple2<String, Integer>> output = counts.collect();

        for (Tuple2<?, ?> tuple2 : output) {
            System.out.println(tuple2._1() + ": " + tuple2._2());
        }
        spark.stop();

    }
}

设置虚拟机参数

spark环境搭建window篇_第12张图片

运行结果

spark环境搭建window篇_第13张图片

你可能感兴趣的:(大数据,java,spark,大数据,hadoop)