Spark集群搭建

一:环境准备

1.1 安装

java
scala
hadoop(Hadoop中bin文件,需要替换为winutils里面Hadoop对应编译好的版本)
spark(spark与hadoop的版本需要对应)

1.2 配置环境变量(路径中不能有空格(如Program Files这种路径会报错),否则hadoop找不到路径)

JAVA:
添加系统变量JAVA_HOME:
D:\home\Java\jdk1.8.0_171
添加系统变量CLASSPATH:
%JAVA_HOME%\lib
在Path中添加:
%JAVA_HOME%\bin

Scala:
安装中已经自动配置,如果没有,将Scala的bin文件加入Path中。

Hadoop:
加入系统变量HADOOP_HOME,路径设置为Hadoop所在的路径。
在Path中添加:
%HADOOP_HOME%\bin

Spark:
加入系统变量SPARK_HOME,路径设置为Spark所在的路径。
在Path中添加:
%SPARK_HOME%\bin
%SPARK_HOME%\sbin

激活变量:
打开Powershell:set PATH=C:
关闭Powershell再打开Powershell:echo %PATH%

1.3 Powershell中运行spark-shell

二.运行集群

Spark Standalone集群模式部署(Window):

2.1 概述

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模式,需要通过手工或者用启动脚本来启动主从节点,进而实现单个机器作为工作域。

2.2 启动standalone集群

手动启动主从节点,打开cmd命令行,进入spark解压路径,D:\Spark\bin。

2.2.1 启动主节点:

spark-class org.apache.spark.deploy.master.Master

2.2.2 打开新的cmd终端启动从节点,从节点的IP为主节点IP :

spark-class org.apache.spark.deploy.worker.Worker spark://IP地址:7077

启动完成可以登录Spark管理界面查看集群状态,localhost:8080 ,如下图
在这里插入图片描述

注意, 启动完成请勿关闭上述两个终端。 同时如果启动spark shell时没有指定master,也可以正常启动spark shell和执行spark shell中的程序,但其实是启动了spark的local模式,仅在本机启动一个进程,并没有与集群建立联系。

2.3 运行程序
import findspark
findspark.init()
import pyspark
from pyspark import SparkContext
from pyspark import SparkConf
master = "spark://55.195.175.51:7077"
# spark_driver_host = "55.195.175.51"
#conf=SparkConf().setAppName("miniProject").setMaster(master).set("spark.driver.host", spark_driver_host)
conf=SparkConf().setAppName("miniProject").setMaster(master).set("spark.executor.cores", 2)
# sc=SparkContext.getOrCreate(conf)
sc = SparkContext(conf = conf)
# my_list = [1,2,3,4,5] #存放在当前环境内存当中的list

# rdd = sc.parallelize(my_list)
# rdd
print(sc.parallelize([i for i in range(1,1000,20)]).collect())
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值