Spark---集群搭建

Standalone集群搭建与Spark on Yarn配置

1、Standalone

Standalone集群是Spark自带的资源调度框架,支持分布式搭建,这里建议搭建Standalone节点数为3台,1台master节点,2台worker节点,这虚拟机中每台节点的内存至少给2G和2个core,这样才能保证后期Spark基于Standalone的正常运行。搭建Standalone集群的步骤如下:

1)、下载安装包,解压

登录Spark官网下载Spark,官网地址:Spark官网链接

点击“Download”找到“ Spark release archives”找到对应的Spark版本下载。这里选择Spark2.3.1版本下载。

将下载好的Spark安装包上传到Spark Master节点,解压:

2)、改名

3)、进入安装包的conf目录下,修改或者复制slaves.template文件,去掉template后缀,在新的slaves文件中添加从节点。保存。

在slaves中配置worker节点:

4)、复制$SPARK_HOME/conf/spark-env.sh.template 为spark-env.sh,修改spark-env.sh内容:

SPARK_MASTER_HOST:master的ip

SPARK_MASTER_PORT:提交任务的端口,默认是7077

SPARK_WORKER_CORES:每个worker从节点能够支配的core的个数

SPARK_WORKER_MEMORY:每个worker从节点能够支配的内存数

JAVA_HOME:java的home,这里需要jdk8

5)、同步到其他节点上

6)、启动集群

进入sbin目录下,执行当前目录下的./start-all.sh

7)、搭建客户端

将spark安装包原封不动的拷贝到一个新的节点上,然后,在新的节点上提交任务即可。

注意:

  • 8080是Spark WEBUI界面的端口,7077是Spark任务提交的端口。
  • 修改master的WEBUI端口:
    • 修改$SPARK_HOME/conf/spark-env.sh即可【建议使用】:

  • 修改start-master.sh即可。

  • 也可以在Master节点上导入临时环境变量,只是作用于之后的程序,重启就无效了。

删除临时环境变量:

2、yarn

Spark 也可以基于Yarn进行任务调度,这就是所谓的Spark on Yarn,Spark基于Yarn进行任务调度只需要在Spark客户端做如下配置即可:

同时这里需要在每台NodeManager节点中将每台NodeManager的虚拟内存关闭,在每台NodeManager节点的$HADOOP_HOME/etc/hadoop/yarn-site.xml中加入如下配置:

<!-- 关闭虚拟内存检查 -->
<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
</property>

二、Spark Pi任务测试

Spark PI案例:

Standalone提交命令:

./spark-submit --master spark://mynode1:7077 --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

Spark on YARN提交命令:

./spark-submit --master yarn --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/208988.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

控制论与科学方法论

《控制论与科学方法论》&#xff0c;真心推荐。 书籍原文电子版PDF&#xff1a;https://pan.quark.cn/s/aa40d59295df&#xff08;分类在学习目录下&#xff09; 备用链接&#xff1a;https://pan.xunlei.com/s/VNgj2vjW-Hf_543R2K8kbaifA1?pwd2sap# 控制论是一种让系统按照我…

JVM垃圾回收相关算法

目录 一、前言 二、标记阶段&#xff1a;引用计数算法 三、标记阶段&#xff1a;可达性分析算法 &#xff08;一&#xff09;基本思路 &#xff08;二&#xff09;GC Roots对象 四、对象的finalization机制 五、MAT与JProfiler的GC Roots溯源 六、清除阶段&#xff1a;…

【Unity细节】Default clip could not be found in attached animations list.(动画机报错)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 &#x1f636;‍&#x1f32b;️收录于专栏&#xff1a;unity细节和bug &#x1f636;‍&#x1f32b;️优质专栏 ⭐【…

【uni-app】uniapp中弹出输入框的示例

uni.showModal({title: 请输入企业名称,content: ,editable: true, //是否显示输入框placeholderText: 请输入企业名称, //输入框提示内容confirmText: 确认,cancelText: 取消,success: (res) > {if (res.confirm) {this.checkDesc.name res.content;// console.log(输入的…

广播组播、本地套接字通信、wireshark、以太网帧格式、三次握手四次挥手

广播&#xff08;使用 UDP 套接字&#xff09; 广播地址&#xff1a;主机号最大的地址。 广播&#xff1a;给所在局域网的所有主机发送数据报。&#xff08;之前的数据报发送方式是单播。&#xff09; 以下情况中使用广播&#xff1a; 局域网 搜索协议。 比如家中的智能产品&a…

VMware 系列:ESXI6.7升级7.0

ESXI6.7升级7.0 一、下载补丁二、上传文件三 启用Shell四、登录Shell后台五、删除不兼容驱动六、正常升级最近,将一台使用ESXI6.7的虚拟机升级到了7.0版本,下面记录一下自己的升级过程。 升级条件 首先确保硬件是否能升级到7.0版本,物理网卡驱动为e1000e不能升级,如果是ig…

scrapy框架流程

1、Scrapy从Spider子类中提取start_url,然后构造为request请求对象 2、将request请求对象传递给爬虫中间件 3、将request请求对象传递给Scrapy引擎&#xff08;核心代码&#xff09; 4、将request请求对象传递给调度器&#xff08;它负责对多个request安排&#xff0c;好比交…

NX二次开发UF_CAM_reinit_session 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_reinit_session Defined in: uf_cam.h int UF_CAM_reinit_session(const char * config_file ) overview 概述 This function initializes the current CAM session based …

PTA-成绩转换

本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则&#xff1a; 大于等于90分为A&#xff1b;小于90且大于等于80为B&#xff1b;小于80且大于等于70为C&#xff1b;小于70且大于等于60为D&#xff1b;小于60为E。 输入格式: 输入在一行中给出一个整数的百分制成…

Android跨进程传图片或者大数据(解决TransactionTooLargeException)

跨进程传图片方案 直接intent传bitmap使用文件读写intent传递自定义binder&#xff0c;binder中传递image使用网络传输 一、直接intent传bitmap 优势 使用简单 劣势 相关代码可能有侵入性&#xff0c;必须在四大组件中接收。 intent传递数据的总大小是1MB&#xff0c;其中…

【从入门到起飞】JavaSE—多线程(2)(lock锁,死锁,等待唤醒机制)

文章目录 &#x1f33a;lock锁⭐获得锁⭐释放锁✨注意&#x1f3f3;️‍&#x1f308;代码实现&#x1f388;细节 &#x1f33a;死锁⭐解决方法 &#x1f384;等待唤醒机制⭐代码实现&#x1f388;注意 &#x1f6f8;使用阻塞队列实现等待唤醒机制 &#x1f354;线程的六种状态…