我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spark集群搭建的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spark集群搭建的方法

这篇文章主要介绍“Spark集群搭建的方法”,在日常操作中,相信很多人在Spark集群搭建的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spark集群搭建的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

spark是一个用于大规模数据处理的统一计算引擎。适用于各种各样原先需要多种不同的分布式平台处理的场景,包括批处理、迭代计算、交互式查询、流处理。通过统一的框架将各种处理流程整合到一起。

Spark集群搭建的方法

1 解压缩文件

将spark-3.0.0-bin-hadoop3.2.tgz.tgz文件上传到Linux并解压缩在指定位置

tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/modulecd /opt/module  mv spark-3.0.0-bin-hadoop3.2 spark-standalone

2 修改配置文件

\1) 进入解压缩后路径的conf目录,修改slaves.template文件名为slaves

mv slaves.template slaves

\2) 修改slaves文件,添加work节点

hadoop102hadoop103hadoop104

\3) 修改spark-env.sh.template文件名为spark-env.sh

mv spark-env.sh.template spark-env.sh

\4) 修改spark-env.sh文件,添加JAVA_HOME环境变量和集群对应的master节点

export JAVA_HOME=/opt/module/jdk1.8.0_212SPARK_MASTER_HOST=hadoop102SPARK_MASTER_PORT=7077

注意:7077端口,相当于hadoop3.x内部通信的8020端口,此处的端口需要确认自己的虚拟机配置

\5) 分发spark-standalone目录

xsync spark-standalone

3 启动集群

\1) 执行脚本命令:

sbin/start-all.sh

\2) 查看三台服务器运行进程

================hadoop102================3330 Jps3238 Worker3163 Master================hadoop103================2966 Jps2908 Worker================hadoop104================2978 Worker3036 Jps

\3) 查看Master资源监控Web UI界面: http://hadoop102:8080

4 提交应用

bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://hadoop102:7077 \./examples/jars/spark-examples_2.12-3.0.0.jar \10

–class表示要执行程序的主类

–master spark://hadoop102:7077 独立部署模式,连接到Spark集群

spark-examples_2.12-3.0.0.jar 运行类所在的jar包

数字10表示程序的入口参数,用于设定当前应用的任务数量

执行任务时,会产生多个Java进程

  Spark集群搭建的方法 

大数据Spark运行环境:Standalone模式与配置详解 执行任务时,默认采用服务器集群节点的总核数,每个节点内存1024M。

5 配置历史服务

由于spark-shell停止掉后,集群监控hadoop102:4040页面就看不到历史任务的运行情况,所以开发时都配置历史服务器记录任务运行情况。

\1) 修改spark-defaults.conf.template文件名为spark-defaults.conf

mv spark-defaults.conf.template spark-defaults.conf

\2) 修改spark-default.conf文件,配置日志存储路径

spark.eventLog.enabled          truespark.eventLog.dir               hdfs://hadoop102:8020/directory

注意:需要启动hadoop集群,HDFS上的directory目录需要提前存在。

sbin/start-dfs.shhadoop fs -mkdir /directory

\3) 修改spark-env.sh文件, 添加日志配置

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080-Dspark.history.fs.logDirectory=hdfs://hadoop102:8020/directory-Dspark.history.retainedApplications=30"

注:写成一行!!空格隔开!!!

参数1含义:WEB UI访问的端口号为18080

参数2含义:指定历史服务器日志存储路径

参数3含义:指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。

\4) 分发配置文件

xsync conf

\5) 重新启动集群和历史服务

sbin/start-all.shsbin/start-history-server.sh

\6) 重新执行任务

bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://hadoop102:7077 \./examples/jars/spark-examples_2.12-3.0.0.jar \10

\7) 查看历史服务:http://hadoop102:18080

6 配置高可用(HA)

所谓的高可用是因为当前集群中的Master节点只有一个,所以会存在单点故障问题。所以为了解决单点故障问题,需要在集群中配置多个Master节点,一旦处于活动状态的Master发生故障时,由备用Master提供服务,保证作业可以继续执行。这里的高可用一般采用Zookeeper设置

集群规划:

  Spark集群搭建的方法 

\1) 停止集群

sbin/stop-all.sh

\2) 启动Zookeeper

\3) 修改spark-env.sh文件添加如下配置

注释如下内容:#SPARK_MASTER_HOST=hadoop102#SPARK_MASTER_PORT=7077添加如下内容:#Master监控页面默认访问端口为8080,但是会和Zookeeper冲突,所以改成8989,也可以自定义,访问UI监控页面时请注意SPARK_MASTER_WEBUI_PORT=8989export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop102,hadoop103,hadoop104 -Dspark.deploy.zookeeper.dir=/spark"注:写成一行!!空格隔开!!!

\4) 分发配置文件

xsync conf/

\5) 启动集群

sbin/start-all.sh

\6) 启动hadoop103的单独Master节点,此时hadoop103节点Master状态处于备用状态

[bigdata@hadoop103 spark-standalone]$ sbin/start-master.sh

\7) 提交应用到高可用集群

bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://hadoop102:7077,hadoop103:7077 \./examples/jars/spark-examples_2.12-3.0.0.jar \10

\8) 停止hadoop102的Master资源监控进程

\9) 查看hadoop103的Master 资源监控Web UI,稍等一段时间后,hadoop103节点的Master状态提升为活动状态

到此,关于“Spark集群搭建的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Spark集群搭建的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Spark集群搭建的方法

这篇文章主要介绍“Spark集群搭建的方法”,在日常操作中,相信很多人在Spark集群搭建的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spark集群搭建的方法”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-27

kubernetes中搭建spark集群的方式

这篇文章主要讲解了“kubernetes中搭建spark集群的方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“kubernetes中搭建spark集群的方式”吧!适用场景:linux系统,
2023-06-19

Kubernetes集群的搭建方法

本篇内容主要讲解“Kubernetes集群的搭建方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Kubernetes集群的搭建方法”吧!0. 概要使用kubeadm搭建一个单节点kuberne
2023-06-19

搭建Redis集群的方法

这篇文章主要讲解了“搭建Redis集群的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“搭建Redis集群的方法”吧!Redis集群是一个由多个主从节点群组成的分布式服务集群,它具有复制、
2023-06-27

hadoop3.3集群搭建方法

本篇内容介绍了“hadoop3.3集群搭建方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!分布式服务器集群上存储海量数据并运行分布式分析应
2023-06-19

linux集群的搭建方法

这篇文章主要介绍“linux集群的搭建方法”,在日常操作中,相信很多人在linux集群的搭建方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux集群的搭建方法”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-16

怎么用Docker-Compose搭建Spark集群

这篇文章主要讲解了“怎么用Docker-Compose搭建Spark集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Docker-Compose搭建Spark集群”吧!docker-
2023-06-30

docker zookeeper集群搭建的方法

本篇内容主要讲解“docker zookeeper集群搭建的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker zookeeper集群搭建的方法”吧!准备工具一、安装docker 二
2023-06-19

tomcat集群搭建的方法有哪些

搭建Tomcat集群的方法有以下几种:1. 负载均衡器:使用负载均衡器(如Nginx、Apache)来接收客户端请求,并将请求分发给多个Tomcat服务器。负载均衡器可以根据服务器的负载情况、性能指标等进行智能分发,从而实现请求的均衡分配。
2023-09-06

在linux上搭建Solr集群的方法

什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,
2022-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录