当前位置:   article > 正文

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

spark_worker_memory

一、我的软件环境


二、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
  • 1
  • 2
  • 3
  • 4

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
  • 1

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

cp slaves.template slaves
vi slaves
  • 1
  • 2

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

node1
node2
node3
  • 1
  • 2
  • 3

3.修改spark-defaults.conf

cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf
  • 1
  • 2

添加:

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
  • 1
  • 2
  • 3
  • 4

4.修改spark-env.sh

cp spark-env.sh.template spark-env.sh
vi spark-env.sh
  • 1
  • 2

添加:

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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

hdfs dfs -mkdir /spark-logs
  • 1

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/
  • 1
  • 2
  • 3

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

vi /etc/profile
  • 1

在文件尾加入:

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

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

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

./start-all.sh
  • 1

9.查看客户端

http://master:8080
  • 1

3.3、启动关闭Spark

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

sbin/start-all.sh
  • 1

2、启动日志服务

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

3、关闭Spark

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

3.5、查看客户端

Spark监控:http://master:8080


四、运行第一个Spark程序

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

数据文件 a.txt:

I am a student
  • 1

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

执行:

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/66443
推荐阅读
相关标签
  

闽ICP备14008679号