部署spark2.2集群(standalone模式)

简介: 一起来实战部署spark2.2集群(standalone模式)
  • 一起来实战部署spark2.2集群(standalone模式)

版本信息

  1. 操作系统 CentOS 7.5.1804
  2. JDK:1.8.0_191
  3. scala:2.12.8
  4. spark:2.3.2

机器信息

  • 本次实战用到了三台机器,相关信息如下:
IP 地址 主机名 身份
192.168.150.130 master spark的master节点
192.168.150.131 slave1 spark的一号工作节点
192.168.150.132 slave2 spark的二号工作节点
  • 接下来开始实战;

关闭防火墙

  • 执行以下命令永久关闭防火墙服务:
systemctl stop firewalld.service && systemctl disable firewalld.service

设置hostname(三台电脑都做)

  • 修改/etc/hostname文件,将几台电脑的主机名分别修改为前面设定的master、slave0等;

设置/etc/hosts文件(三台电脑都做)

  • 在/etc/hosts文件尾部追加以下三行内容,三台电脑追加的内容一模一样,都是下面这些:
master 192.168.150.130
slave1 192.168.150.131
slave2 192.168.150.132

创建用户(三台电脑都做)

  • 创建用户和用户组,并指定home目录的位置:
groupadd spark && useradd -d /home/spark -g spark -m spark
  • 设置spark用户的密码:
passwd spark
  • 以spark账号的身份登录;

文件下载和解压(三台电脑都做)

  • 分别去java、scala的官网下载以下两个文件:
jdk-8u191-linux-x64.tar.gz  scala-2.12.8.tgz
  • 上述两个文件下载到目录/home/spark下,依次解压后,/home/spark下的内容如下所示:
[spark@localhost ~]$ ll
总用量 427836
drwxr-xr-x.  7 spark spark       245 10月  6 20:55 jdk1.8.0_191
-rw-r--r--.  1 spark spark 191753373 2月   2 08:49 jdk-8u191-linux-x64.tar.gz
drwxrwxr-x.  6 spark spark        50 12月  4 18:25 scala-2.12.8
-rw-r--r--.  1 spark spark  20467943 2月   2 08:49 scala-2.12.8.tgz
  • 修改/home/spark文件夹下的.bash_profile文件,在尾部增加以下内容(spark相关的是后面会用到的,这里把配置先写上):
export JAVA_HOME=/home/spark/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export SCALA_HOME=/home/spark/scala-2.12.8
export PATH=${SCALA_HOME}/bin:$PATH
export SPARK_HOME=/home/spark/spark-2.3.2-bin-hadoop2.7
export PATH=${SPARK_HOME}/bin:$PATH
  • 执行以下命令,使得.bash_profile的修改生效:
source .bash_profile
  • 分别执行java -versionscala -version命令,检查上述设置是否生效:
[spark@localhost ~]$ java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
[spark@localhost ~]$ scala -version
Scala code runner version 2.12.8 -- Copyright 2002-2018, LAMP/EPFL and Lightbend, Inc.

spark的设置(只在master机器操作)

  • 登录master机器:
  • 去spark的官网下载文件spark-2.3.2-bin-hadoop2.7.tgz,下载到目录/home/spark下,在此解压;
  • 进入目录/home/spark/spark-2.3.2-bin-hadoop2.7/conf
  • 执行以下命令,将"spark-env.sh.template"更名为"spark-env.sh":
mv spark-env.sh.template spark-env.sh
  • 打开文件spark-env.sh,在尾部增加以下内容:
export SPARK_MASTER_IP=node0
export SPARK_MASTER_PORT=7077
export SPARK_EXECUTOR_INSTANCES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=256M
export SPARK_MASTER_WEBUI_PORT=8080
export SPARK_CONF_DIR=/home/spark/spark-2.3.2-bin-hadoop2.7/conf
export JAVA_HOME=/home/spark/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
  • 进入目录/home/spark/spark-2.3.2-bin-hadoop2.7/conf,执行以下命令,将slaves.template更名为slaves:
mv slaves.template slaves
  • 打开文件slaves,将尾部的localhost删除,再增加以下内容:
slave1
slave2
  • 以上就是所有设置,接下来要将spark文件夹同步到其他机器上

将spark文件夹同步到其他机器

  • 在master机器执行以下命令,即可将整个spark文件夹同步到slave1:
scp -r ~/spark-2.3.2-bin-hadoop2.7 spark@slave1:~
  • 期间会要求输入slave1的密码,输入密码后即可开始同步;
  • 在master机器执行以下命令,即可将整个spark文件夹同步到slave2:
scp -r ~/spark-2.3.2-bin-hadoop2.7 spark@slave2:~
  • 期间会要求输入slave2的密码,输入密码后即可开始同步;

启动spark

  • 以spark账号登录master机器,执行以下命令即可启动spark集群:
/home/spark/spark-2.3.2-bin-hadoop2.7/sbin/start-all.sh

在这里插入图片描述

  • 至此,spark集群部署成功,接下来的章节,我们会一起进行更多的spark实战;
相关文章
|
13天前
|
分布式计算 资源调度 大数据
【决战大数据之巅】:Spark Standalone VS YARN —— 揭秘两大部署模式的恩怨情仇与终极对决!
【8月更文挑战第7天】随着大数据需求的增长,Apache Spark 成为关键框架。本文对比了常见的 Spark Standalone 与 YARN 部署模式。Standalone 作为自带的轻量级集群管理服务,易于设置,适用于小规模或独立部署;而 YARN 作为 Hadoop 的资源管理系统,支持资源的统一管理和调度,更适合大规模生产环境及多框架集成。我们将通过示例代码展示如何在这两种模式下运行 Spark 应用程序。
59 3
|
10天前
|
SQL 分布式计算 监控
|
2月前
|
资源调度 分布式计算 监控
Spark Standalone与YARN的区别?
【6月更文挑战第17天】Spark Standalone与YARN的区别?
188 57
|
21天前
|
SQL 弹性计算 资源调度
云服务器 ECS产品使用问题之bin/spark-sql --master yarn如何进行集群模式运行
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
29天前
|
SQL 分布式计算 监控
在hue上部署spark作业
7月更文挑战第11天
41 3
|
1月前
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之 Spark Local模式启动报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
2月前
|
存储 分布式计算 监控
Spark Standalone模式是一种集群部署方式
【6月更文挑战第17天】Spark Standalone模式是一种集群部署方式
33 7
|
2月前
|
分布式计算 Shell Linux
Spark-集群安装、部署、启动、测试(1.6.3)稳定版
Spark-集群安装、部署、启动、测试(1.6.3)稳定版
43 0
|
3月前
|
分布式计算 资源调度 调度
利用SparkLauncher实现Spark Cluster模式下的远端交互
利用SparkLauncher实现Spark Cluster模式下的远端交互
39 0
|
分布式计算 Hadoop Java
Spark 2.4.0 standalone 模式安装
## 技能标签 - 学会安装Spark 2.4.0 standalone模式环境安装 - Spark 集群环境maste,worker,history server 启动停止命令 - Spark master,worker,history server 配置和管理界面查看 - Spark ...
3292 0