前言:
现时大家对“apachepython开发环境搭建”都比较注意,姐妹们都想要知道一些“apachepython开发环境搭建”的相关内容。那么小编也在网摘上网罗了一些对于“apachepython开发环境搭建””的相关内容,希望大家能喜欢,我们快快来了解一下吧!概述
Spark提供了两种交互式shell, 一个是pyspark(基于Python), 一个是spark_shell(基于Scala). 这两个环境相互独立并无依赖关系, 所以如果仅仅是使用pyspark交互环境, 是可以不安装scala的。
常见的几种spark部署模式
local(本地模式):常用于本地开发测试,本地还分为local单线程和local-cluster多线程;standalone(集群模式):Spark本身是一个master/slaves的模式,可以看出Master是有单点故障的。on yarn(集群模式): 运行在 yarn 资源管理器框架之上,由 yarn 负责资源管理,Spark 负责任务调度和计算
其中standalone模式,需要通过手工或者用启动脚本来启动主从节点,进而实现单个机器作为工作域。
环境准备
从apache spark网站下载spark-2.3.2-bin-hadoop2.6.tgz预编译包, 选择预编译包, 免去了从源码直接编译的麻烦. spark2.3.2 在Java8+, python2.7+/3.4+ 运行,park的各个版本需要跟相应的Scala版本对应,因此我们使用的Scala2.11版本。
同时本机电脑配置 win7 4核8线程 8G内存.
所需所有的安装文件见下图:
安装JDK并设置环境变量
JAVA必须为1.7以上版本,如已安装请确认系统变量是否配置正确(在桌面右击【计算机】--【属性】--【高级系统设置】,然后在系统属性里选择【高级】--【环境变量】)。
假设JAVA安装目录在 D:\Program Files\Java,需要新建系统变量JAVA_HOME,值为D:\Program Files\Java\jdk1.8.0_181 ,如下图:
在PATH中加入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,如下图
解压并设置hadoop环境变量
Spark需要Hadoop的HDFS作为持久化层,所以在安装Spark之前需要安装Hadoop。解压hadoop-2.6.5.tar.gz到D盘根目录,hadoop-2.6.5目录重命名为hadoop
新建系统变量名HADOOP_HOME, 变量值为D:\hadoop,如下图
在PATH中加入%HADOOP_HOME%;%HADOOP_HOME%\bin,如下图
复制winutils.exe到D:\hadoop\bin 文件夹, winutils可以使windows使用linux命令。
解压spark并设置spark环境变量
Spark 由 Scala语言开发,而Scala也是运行于JVM之上,因此也可以看作是跨平台的,所以在下载spark-2.3.2-bin-hadoop2.6.tgz之后, 在Windows 平台直接解压即可。解压spark-2.3.2-bin-hadoop2.6.tgz 到D盘根目录,spark-2.3.2目录重命名为Spark。
新建系统变量名为SPARK_HOME ,设置变量值为D:\Spark,如下图
在PATH中加入%SPARK_HOME%;%SPARK_HOME%\bin,如下图
启动standalone集群
手动启动主从节点,打开cmd命令行,进入spark解压路径,D:\Spark\bin。
启动主节点:
spark-class org.apache.spark.deploy.master.Master
打开新的cmd终端启动从节点,从节点的IP为本机IP:
spark-class org.apache.spark.deploy.worker.Worker spark://xx.xx.240.58:7077
启动完成可以登录Spark管理界面查看集群状态,localhost:8080 ,如下图
从上图我们可以看到我们的主从节点是都是本机240.58,但是目前没有运行任何应用,所以Running Applications为0。
注意,启动完成请勿关闭上述两个终端。同时如果启动spark shell时没有指定master,也可以正常启动spark shell和执行spark shell中的程序,但其实是启动了spark的local模式,仅在本机启动一个进程,并没有与集群建立联系。
运行Scala应用
打开新的cmd终端,输入
spark-shell --master spark://xx.xx.240.58:7077 --total-executor-cores 1 --executor-memory 1Gtotal-executor-cores 1 表示 总共使用一个核心,executor-memory 1G 表示每个executor的内存为1G
如能显示如下界面,则可以运行scala命令。
输入
spark.range(1).withColumn("status", lit("All seems fine. Congratulations!")).show(false)
如果能显示 All sems fine……语句,则Spark Standalone集群搭建成功。
查看集群运行状态
由上图可以看到目前有 Spark shell的应用正在运行,点击可查看详细。
使用pycharm编写pyspark脚本并提交到集群服务器运行环境准备
安装 anaconda 版本的 Python 2.7
安装 py4j-0.10.7-py2.py3-none-any.whl
pip install py4j-0.10.7-py2.py3-none-any.whl
py4j是个能访问java 对象的python程序,同样也能使java访问python对象。
导入pyspark模块
复制 D:\Spark\python 下的pyspark文件夹到python的安装目录,比如我的安装文件夹路径为C:\Anaconda2\Lib\site-packages,验证pyspark能否可以导入成功:
使用pycharm创建spark任务
打开localhost:8080 ,查看任务状态:
后续将介绍如何使用spark sql进行简单的数据挖掘与分析,若对你有帮助,点赞支持哦。
标签: #apachepython开发环境搭建 #spark平台搭建