学习笔记Spark(二)—— Spark集群的安装配置

本文档详细介绍了如何在Linux环境下配置和启动一个小型的Spark集群,包括集群规模、安装模式、配置文件解读及修改、分发安装包、设置环境变量、启动与关闭流程。此外,还展示了运行第一个Spark程序的步骤,以及如何通过Web界面进行监控。
摘要由CSDN通过智能技术生成

一、我的软件环境


二、Spark集群拓扑

2.1、集群规模

192.168.128.10     master	 1.5G ~2G内存、20G硬盘、NAT、1~2核 ;
192.168.128.11     node1	1G内存、20G硬盘、NAT、1192.168.128.12     node2	1G内存、20G硬盘、NAT、1192.168.128.13     node3	1G内存、20G硬盘、NAT、1

2.2、Spark的安装模式

1、本地模式
在一个节点上安装Spark,利用本地线程运行程序,非分布式环境

2、伪分布式
Spark单机伪分布式是在一台机器上既有Master,又有Worker进程

3、完全分布式
全分布模式用于生产,至少需要3~4台机器,其中一台为为主节点,部署Master,其他节点部署Worker

4、HA高可用模式
在完全分布式基础上利用Zookeeper实现Master主从备份


三、Spark安装配置

3.1、Spark配置文件

Data: spark mllib里面用到的数据;
Ec2: 部署在亚马逊云平台上的脚本
Examples:示例代码;
Python:python接口;
R:R接口


3.1.1、配置文件解读

Template是一个模板
HADOOP_CONF_DIR :Hadoop配置文件所在的路径,Spark需要找到Hadoop里面相关的东西,比如hdfs相关的地址,比如我们可能要上传数据或者日志需要存在这上面
SPARK_WORKER_INSTANCES :设置每个节点的worker进程
SPARK_WORKER_MEMORY :设置节点能给予executors的所有内存
SPARK_WORKER_CORES :设置这台机器所用的核数
SPARK_EXECUTOR_CORES :executor使用的核数
SPARK_EXECUTOR_MEMORY :每个executor的内存
Spark_WORKER_CORES :每个WORKER占用多少个核,我们给每个虚拟机配了多少核
SPARK_WORKER_INSTANCES :每个worker节点有多少个实例
比如INSTANCES配了2,有三个节点,那么就有6个WORKER,相当于HADOOP有6个节点


3.1.2、配置文件解读


3.2、配置步骤

1.上传spark-2.4.0-bin-hadoop2.6.tgz到/opt目录,并解压

tar -zxf /opt/spark-2.4.0-bin-hadoop2.6.tgz

2.进入/opt/spark-2.4.0-bin-hadoop2.6/conf
复制slaves.template:

cp slaves.template slaves
vi slaves

修改slaves,先删除其中的localhost,然后添加:

node1
node2
node3

3.修改spark-defaults.conf

cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf

添加:

spark.master                     spark://master:7077
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://master:8020/spark-logs
spark.history.fs.logDirectory     hdfs://master:8020/spark-logs

4.修改spark-env.sh

cp spark-env.sh.template spark-env.sh
vi spark-env.sh

添加:

JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
HADOOP_CONF_DIR=/opt/hadoop-3.1.4/etc/hadoop
SPARK_MASTER_IP=master
SPARK_MASTER_PORT=7077
SPARK_WORKER_MEMORY=512m
SPARK_WORKER_CORES=1
SPARK_EXECUTOR_MEMORY=512m
SPARK_EXECUTOR_CORES=1
SPARK_WORKER_INSTANCES=1

5.启动Hadoop集群,在HDFS中新建目录:

hdfs dfs -mkdir /spark-logs

6.将Spark安装包分发到其他节点

scp -r /opt/spark-2.4.0-bin-hadoop2.6/ node1:/opt/
scp -r /opt/spark-2.4.0-bin-hadoop2.6/ node2:/opt/
scp -r /opt/spark-2.4.0-bin-hadoop2.6/ node3:/opt/

7.在所有节点配置Spark环境变量
(master、node1、node2、node3)

vi /etc/profile

在文件尾加入:

export SPARK_HOME=/opt/spark-2.4.0-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin

执行source /etc/profile使命令生效

8.启动spark
进入/opt/spark-2.4.0-bin-hadoop2.6/sbin
执行

./start-all.sh

9.查看客户端

http://master:8080

3.3、启动关闭Spark

进入/usr/local/spark-2.4.0-bin-hadoop2.6/
1、启动Spark

sbin/start-all.sh

2、启动日志服务

sbin/start-history-server.sh  hdfs://master:8020/spark-logs

3、关闭Spark

sbin/stop-all.sh
sbin/stop-history-server.sh hdfs://master:8020/spark-logs

3.5、查看客户端

Spark监控:http://master:8080


四、运行第一个Spark程序

进入Spark命令行交互界面spark-shell
退出交互界面:q

数据文件 a.txt:

I am a student

上传到hdfs的/user/root目录下

执行:

sc.textFile("/user/root/a.txt").flatMap(x=>x.split(“ “)).map(x=>(x,1)).reduceByKey(_+_)

结果展示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值