Python pycharm(windows版本)部署spark环境

参考博文:
https://www.cnblogs.com/nucdy/p/6776187.html

一、 部署本地spark环境

1.下载并安装好jdk1.8,配置完环境变量。

2.Spark环境变量配置

  • 下载:http://spark.apache.org/downloads.html

    我下载的是spark-2.3.0-bin-hadoop2.7.tgz,spark版本是2.3,对应的hadoop版本是2.7.

  • 解压
  • 配置系统环境变量:

    将F:\spark-2.3.0-bin-hadoop2.7\bin添加到系统Path变量,同时新建SPARK_HOME变量,变量值为:F:\spark-2.3.0-bin-hadoop2.7

3.Hadoop相关包的安装(参考:https://www.cnblogs.com/wuxun1997/p/6847950.html ;https://blog.csdn.net/kaluoye/article/details/77984882)

 spark是基于hadoop之上的,运行过程中会调用相关hadoop库,如果没配置相关hadoop运行环境,会提示相关出错信息,虽然也不影响运行。

  • 下载:http://hadoop.apache.org/releases.html

    我下载的是hadoop-2.7.6.tar.gz.

  • 解压
  • 配置系统环境变量:

    将相关库添加到系统Path变量中:F:\hadoop-2.7.6\bin;同时新建HADOOP_HOME变量,变量值为:F:\hadoop-2.7.6。

    下载window下适应的包,包含了hadoop.dll和winutils。资源:http://pan.baidu.com/s/1jHVuaxg,下载解压后全部拷贝到hadoop解压后对应的bin文件夹。

  • 配置hadoop的四个XML文件,我的路径为F:\hadoop-2.7.6\etc目录下

core-site.xml


    
        fs.defaultFS
        hdfs://localhost:9000
        

hdfs-site.xml


    
        dfs.replication
        1
    
        
        dfs.namenode.name.dir    
        file:/hadoop/data/dfs/namenode    
        
        
        dfs.datanode.data.dir    
        file:/hadoop/data/dfs/datanode  
    

mapred-site.xml


    
        mapreduce.framework.name
        yarn
    

yarn-site.xml


    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
        yarn.nodemanager.aux-services.mapreduce.shuffle.class
        org.apache.hadoop.mapred.ShuffleHandler
    

  • 启动windows命令行窗口,进入hadoop-2.7.6\bin目录,执行下面2条命令,先格式化namenode再启动hadoop
F:\hadoop-2.7.6\bin>hadoop namenode -format

  此步会报错:Hadoop Error: JAVA_HOME is incorrectly set.

  原因:由于我的jdk安装在c盘的programe files 目录下,JAVA_HOME 的值有空格,启动不了,可以把JAVA_HOME 改成C:\progra~1\XXX

  (参考:https://blog.csdn.net/wen3011/article/details/54907731)

  • 进入hadoop的sbin目录,运行start-all.cmd
F:\hadoop-2.7.6\sbin>start-all.cmd

  

F:\hadoop-2.7.6\sbin>jps
4944 DataNode
5860 NodeManager
3532 Jps
7852 NameNode
7932 ResourceManager

  通过jps命令可以看到4个进程都拉起来了,到这里hadoop的安装启动已经完事了。

  接着我们可以用浏览器到localhost:8088看mapreduce任务,到localhost:50070->Utilites->Browse the file system看hdfs文件。

  如果重启hadoop无需再格式化namenode,只要stop-all.cmd再start-all.cmd就可以了。

  上面拉起4个进程时会弹出4个窗口:DataNode;NameNode;NodeManager;ResourceManager,可以查看详细。

二、Python环境

  Spark提供了2个交互式shell, 一个是pyspark(基于python), 一个是spark_shell(基于Scala). 这两个环境其实是并列的, 并没有相互依赖关系, 所以如果仅仅是使用pyspark交互环境, 而不使用spark-shell的话, 甚至连scala都不需要安装.

  • 启动pyspark验证

    在windows下命令行中启动pyspark,如图:

Python pycharm(windows版本)部署spark环境_第1张图片

三、在pycharm中配置开发环境   

1.配置Pycharm

打开PyCharm,创建一个Project。然后选择“Run” ->“Edit Configurations”

Python pycharm(windows版本)部署spark环境_第2张图片

 选择 “Environment variables” 增加SPARK_HOME目录与PYTHONPATH目录。

  • SPARK_HOME:Spark安装目录

  • PYTHONPATH:Spark安装目录下的Python目录

Python pycharm(windows版本)部署spark环境_第3张图片

2.测试程序

# -*- coding: utf-8 -*-
__author__ = 'kaylee'

import os
import sys

os.environ['SPARK_HOME']="F:\spark-2.3.0-bin-hadoop2.76"
sys.path.append("F:\spark-2.3.0-bin-hadoop2.7\python")

try:
    from pyspark import SparkContext
    from pyspark import SparkConf
    print('Successfully imported Spark Modules')
except ImportError as e:
    print('Can not import Spark Modules', e)
sys.exit(1)

如果程序可以正常输出: "Successfully imported Spark Modules"就说明环境已经可以正常执行。

注意,有一步很容易漏:

Settings->Project Structure->Add Content Root->F:\spark-2.3.0-bin-hadoop2.7\python\lib\py4j-0.10.6-src.zip

Python pycharm(windows版本)部署spark环境_第4张图片

 

注意:

可能会报没有 py4j ( 它是python用来连接java的中间件)

可以用命令安装:pip install py4j

转载于:https://www.cnblogs.com/metianzing/p/9052272.html

你可能感兴趣的:(Python pycharm(windows版本)部署spark环境)