Spark3.0 Standalone模式部署

之前介绍过Spark 1.6版本的部署,现在最新版本的spark为3.0.1并且已经完全兼容hadoop 3.x,同样仍然支持RDD与DataFrame两套API,这篇文章就主要介绍一下基于Hadoop 3.x的Spark 3.0部署,首先还是官网下载安装包,下载地址为:http://spark.apache.org/downloads.html,目前spark稳定版本有3.0.1与2.4.7两个版本,这里我们选择3.0.1的版本,然后是hadoop版本目前支持2.7和3.2,这里我们选择3.2的版本,如下:

然后继续点击具体的包,选择合适的镜像下载,下载后的包名为:spark-3.0.1-bin-hadoop3.2.tgz,然后上传至服务器准备部署,集群环境同样符合之前的条件:例如主机名、免密、防火墙规则等,这里不再详细叙述,先说一下我们当前的环境,我们当前有4个节点如下:

192.168.122.5 bigdata1
192.168.122.6 bigdata2
192.168.122.7 bigdata3
192.168.122.8 bigdata4

其中每个节点都搭建了hadoop hdfs的环境,方便spark使用,hadoop版本为3.2,正常搭建的时候尽量也是hdfs的datanode节点和spark worker的节点一一对应,这样对数据传输也有利,如果确实无法对应,也要拷贝必要的配置文件到spark节点,因为接下来要配置,否则spark无法连接hdfs

我们这里计划bigdata1部署spark的master,bigdata2~bigdata4部署spark的worker或者说是slave,同样我们只在机器bigdata1上操作,然后配置好之后同步到其他节点再启动服务即可,下面开始spark集群的部署

1. 解压安装包并修改配置文件

tar -xzf spark-3.0.1-bin-hadoop3.2.tgz
cd spark-3.0.1-bin-hadoop3.2

然后配置文件都在conf目录下,执行 cd conf 进入目录,然后会看到有很多.template结尾的模板文件,里面写好的被注释的配置可以直接进行修改,我们拷贝模板文件出来作为spark的配置:

cp slaves.template slaves
cp spark-defaults.conf.template spark-defaults.conf
cp spark-env.sh.template spark-env.sh

spark主要用到的就是上面这3个配置文件,首先编辑slaves配置文件,写入我们的slaves节点如下:

bigdata2
bigdata3
bigdata4

这里就是bigdata2~4,然后继续配置spark-defaults.conf这个默认的配置文件,正常只配置下面的master选项即可:

spark.master  spark://bigdata1:7077

Spark3.0 Standalone模式部署

其他配置项暂时默认即可,这个配置都是针对于spark任务级别的,比如driver、executor的内存,jvm参数等。

然后配置spark-env.sh,这个是最重要的配置文件,配置全局的spark服务级别的参数,我们这里配置如下:

HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
SPARK_MASTER_HOST=bigdata1
SPARK_MASTER_PORT=7077
SPARK_MASTER_WEBUI_PORT=8080
SPARK_WORKER_CORES=8
SPARK_WORKER_MEMORY=7g
#SPARK_WORKER_PORT
SPARK_WORKER_WEBUI_PORT=8081
SPARK_WORKER_DIR=/data/spark/work
SPARK_PID_DIR=/var/run

同样我们来解释一下这些配置项:

HADOOP_CONF_DIR:这个是hadoop配置文件的目录,我这安装的位置是/opt/hadoop所以配置文件应为/opt/hadoop/etc/hadoop,就是配置文件直接所在的目录

SPARK_MASTER_HOST: 这个配置spark master绑定的主机名或ip,注意不是web界面绑定的,而是master服务本身的,我这为bigdata1

SPARK_MASTER_PORT: 配置spark master监听的端口号,默认为7077

SPARK_MASTER_WEBUI_PORT: 配置spark master web ui监听的端口号,默认为8080,当然绑定的主机不用配置,会绑定ipv4和ipv6所有的网卡,这样也方便多网卡环境下,web ui都可以访问到,因此主机名无需配置

SPARK_WORKER_CORES: 配置当前spark worker进程可以使用的核心数,只有worker进程才会读取,默认值为当前机器的物理cpu核数,集群总的可用核数等于每个worker核数的累加

SPARK_WORKER_MEMORY: 这个是配置允许spark应用程序在当前机器上使用的内存总量,也是只有worker才会读取,如果没配置默认值为:总内存-1G,比如我这里机器内存为8G,那么默认值为7G。注意这个配置项是spark的可用内存,而不是限制某个任务,具体任务的限制在spark-defaults.conf中的spark.executor.memory配置项设置

SPARK_WORKER_PORT: 配置worker监听的端口,默认是随机的,这里通常不需要配置,随机选择就好

SPARK_WORKER_WEBUI_PORT: 配置worker webui监听的端口,可以查看worker的状态,默认端口为8081,同样会绑定至所有网卡的ip

SPARK_WORKER_DIR: 这个配置spark运行应用程序的临时目录,包括日志和临时空间,默认值为spark安装目录下的work目录,这里我们配置到专用的数据目录中

SPARK_PID_DIR: 配置spark运行时pid存放的目录,这个默认是在/tmp下,建议修改至/var/run,因为/tmp下的文件长时间不用会被操作系统清理掉,这样会造成spark停止进程时失败的现象,其实就是pid文件找不到的原因

通用的配置大致就是上面这些,另外在启动spark服务时其实也可以指定某些参数或者不同的配置文件,比如我们有多类配置spark-defaults.conf,spark-large.conf等,然后指定不同的配置文件启动也是可以的,具体查看文档参数即可,这里不再详细叙述

现在可以同步spark的配置到其他节点了,由于其他节点还没有spark程序,所以我们将spark程序连同配置一块同步至其他机器的节点:

rsync -av spark-3.0.1-bin-hadoop3.2 bigdata2:/opt/
rsync -av spark-3.0.1-bin-hadoop3.2 bigdata3:/opt/
rsync -av spark-3.0.1-bin-hadoop3.2 bigdata4:/opt/

这里我们安装目录直接是/opt/spark-3.0.1-bin-hadoop3.2,具体配置按照实际的目录来操作即可

2. 启动spark服务

现在我们可以启动spark服务了,可以单独启动也可以批量启动,这里整理常用到的命令如下:

# 单独启动当前节点master
./sbin/start-master.sh
# 单独启动当前节点slave 后面写具体master的配置
./sbin/start-slave.sh spark://bigdata1:7077
# 启动全部的slave节点
./sbin/start-slaves.sh
# 启动全部spark节点服务 包括master和slave
./sbin/start-all.sh

# 单独停止当前节点的master
./sbin/stop-master.sh
# 单独停止当前节点的slave 不用加参数
./sbin/stop-slave.sh
# 停止全部的slave
./sbin/stop-slaves.sh
# 停止集群所有的服务 包括master和slave
./sbin/stop-all.sh

另外slave节点启动的参数可以直接执行 ./sbin/start-slave.sh 不加任何参数查看:

现在在各个节点执行 jps 可以看到master节点上存在Master进程,各slave节点上应该存在Worker进程说明启动成功,可以访问web ui页面查看集群状态:

这里可以可以看到集群全部的资源以及每个节点的资源使用情况,之后运行了任务还会看到任务;然后访问每个slave节点的8081还可以看到每个节点上任务的运行情况,具体不再放图片了,这样spark集群就基本上部署成功了。可以尝试进入spark-shell调试应用,运行 ./bin/spark-shell 可以进入:

参考文档:

spark standalone配置项:https://spark.apache.org/docs/latest/spark-standalone.html

配置参数:https://spark.apache.org/docs/latest/configuration.html

以上如有不足,感谢交流指正~

Original: https://www.cnblogs.com/freeweb/p/13873225.html
Author: 小得盈满
Title: Spark3.0 Standalone模式部署

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/8828/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ContOS daoker 从安装到使用 容器 镜像 mysql

    Original: esktop 企业日常技巧5.0】Tableau如何利用浏览器提取 .twbx 文件中的形状Author: 大数据Title: 张国荣家的弟弟

    大数据 2022年9月4日
    0390
  • 有哪些让人惊艳的可视化软件?

    如何将数据输出为高级酷炫的可视化图表呢?重点是还要颜值够、高级感满满!不用有太多基础就可以进行操作。国内外如此多的可视化工具,究竟哪一款才真正的适合你?想要从这其中挑选一款适合工作…

    大数据 9小时前
    010
  • SSM框架整合

    前言 SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成; 以下我将分别搭建出Spring、SpringMVC、My…

    大数据 8小时前
    010
  • ASP.NET Core定时之Quartz.NET使用

    一、什么是Quartz.NET? Quartz.NET 是一个功能齐全的开源作业调度系统,可用于从最小的应用程序到大型企业系统。 Quartz.NET是纯净的,它是一个.Net程序…

    大数据 8小时前
    010
  • kafka的groupid

    设置消费者properties的两个参数 consumer.group.id properties.setProperty(“auto.offset.reset&#82…

    大数据 2022年9月19日
    0220
  • 简简单单用一下 Hbase

    一、Hbase 介绍 什么是Hbase? hadoop 数据库:分布式、可伸缩、大数据存储。 二、Hbase client 最开始引入 hbase-client,服务有使用【goo…

    大数据 2022年8月17日
    0300
  • python 连接使用LDAP认证的hive

    主要使用蜂巢套餐。 [En] Mainly use the pyhive package. 在linux、venv环境下使用普通帐号。Python3.6.4版。 [En] Use …

    大数据 2022年8月8日
    0860
  • hdfs fsck hdfs 有坏块启动不起来怎么办

    hadoop集群由于磁盘损坏、节点挂机、机架掉电难免造成一些文件块损坏,通过hdfs fsck命令,检查HDFS上⽂件和⽬录的健康状态、获取⽂件的block信息和位置信息 例如,错…

    大数据 2022年8月8日
    0600
  • Docker常用命令

    帮助命令 docker version # 查看当前docker的本本信息 docker info # 显示docker的系统信息 包括docker的镜像信息和容器信息 docke…

    大数据 2022年9月19日
    0140
  • 深度剖析 | 关于数据锁定和读取一致性问题

    1 背景介绍 传统的 RDBMS 系统在三件事上值得注意:锁定:即锁定记录的功能,以便其他人无法更改它们。 阅读一致性:您(仅您自己)可以看到您所做的更改,直到您提交为止,这时其他…

    大数据 8小时前
    010
  • Rutgers高效AI研讨会(2021)

    课程描述 最先进的人工智能模型功能强大;然而,它们也是存储和/或计算密集型的。从不同的衡量标准(例如速度、能量和准确性)和不同的角度(例如算法、编译器、硬件和系统)来提高人工智能的…

    大数据 2022年9月16日
    0170
  • 外部访问docker容器(docker run -p/-P 指令)

    容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P(大写) 或 -p (小写) 参数来指定端口映射。(1)当使用 -P 标记时,Docker 会随机映射一个 4…

    大数据 2022年9月19日
    0610
  • hugginface-introduction 案例介绍

    本文就是根据这个视频进行实验的。首先,如果没有 transformers库的话,先执行 pip install transformers 这个仅用于一些常规任务,自己想简单处理就行…

    大数据 2022年9月16日
    0200
  • 一台“厉害”的打印机

    摘要:面向教育模式的转变,南京功夫豆携手华为云IoT,给打印机配上与云端互通的智能盒子,开启云端打印新模式 后疫情时代 生活的各方面都在往线上模式延展 而在不被人注意的角落里 打印…

    大数据 10小时前
    010
  • HTB-靶机-Apocalyst

    本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关 [En] This article is only for …

    大数据 2022年9月7日
    0230
  • K8S+Docker容器化云高可用集群实战

    作者:CARLOS_CHIANG出处:http://www.cnblogs.com/yaoyaojcy/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文…

    大数据 2022年9月19日
    0220
  • 一个docker容器中运行多个服务还是弄一堆docker容器运行?

    不建议直接在单个 Docker 容器中运行多个程序。 以 2017年 10 月18 日 Docker 官方支持 Kubernetes 为分水岭计算,Kubernetes 赢得容器编…

    大数据 2022年9月19日
    0460
  • 大数据Hadoop生态系统介绍

    一、概述 Hadoop是Apache软件基金会下一个开源分布式计算平台,以hdfs(Hadoop Distributed File System)、MapReduce(Hadoop…

    大数据 2022年9月7日
    0400
  • clickhouse

    hive-to-clickhouse hive->logstash->kafka->clickhouse logstash.conf input { jdbc {…

    大数据 2022年8月17日
    0430
  • hive自定义函数

    UDF UDAF UDTF java 和 python 实现udf的对比: http://whlminds.com/2015/10/07/hive-udf-java-python/…

    大数据 2022年8月8日
    0490
  • CAD显示或隐藏工具条上某个按钮(网页版)

    主要用到函数说明:_DMxDrawX::HideToolBarControl 隐藏或显示工具条上的按钮。详细说明如下: 参数 说明 BSTR pszToolBarName 工具条名…

    2022年9月4日
    0190
  • 大数据认知计算在内容安全管控中的应用

    点击上方蓝字关注我们 大数据认知计算在内容安全管控中的应用 杜雪涛 中国移动通信集团设计院有限公司,北京 100080 摘要 :通信网络中存在海量垃圾和不良信息,这些信息需要被阅读…

    大数据 2022年9月16日
    0200
  • Flink State 管理与恢复

    Flink 是一个默认就有状态的分析引擎,例如 WordCount 案例可以做到单词的数量的累加,其实是因为在内存中保证了每个单词的出现的次数,这些数据其实就是状态数据。但是如果一…

    大数据 2022年9月7日
    0300
  • CentOS7 安装 Spark3.0.0-preview2-bin-hadoop3.2

    版本信息 CentOS: Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 …

    2022年8月17日
    0260
  • Flutter学习 功能型Widget

    文章目录 ​​1. WillPopScope​​ ​​1.1 示例​​ ​​2. InheritedWidget​​ ​​2.1 didChangeDependencies​​ ​…

    2022年9月4日
    0260
  • Flink1.13-java版教程(高阶2)

    @[toc] 第 9 章 状态编程 9.1 Flink 中的状态 在流处理中,数据不断到达和处理。在计算每项任务时,可以按当前数量计算 [En] In stream process…

    2022年9月4日
    0320

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部