当前位置: 首页 > news >正文

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.lryc.cn/news/241065.html

相关文章:

  • Linux上通过SSL/TLS和start tls连接到LDAP服务器
  • 【华为OD题库-034】字符串化繁为简-java
  • 斯坦福大学引入FlashFFTConv来优化机器学习中长序列的FFT卷积
  • 信息系统项目管理师-干系人管理论文提纲
  • Windmill:最快的自托管开源工作流引擎
  • 线性代数 - 几何原理
  • 火电厂电气部分设计
  • 界面组件DevExpress Reporting v23.1 - Web报表设计器功能升级
  • 小程序Canvas 2D问题解决,如安卓drawImage不执行、动态高度设置、高度1365(或4096)限制等
  • 人工智能对网络安全的影响越来越大
  • JavaEE(SpringMVC)期末复习
  • 微服务保护 Sentinel
  • 【无标题】文本超过一行隐藏,鼠标经过显示提示框
  • 成为独立开发者有多难
  • C++ 正则表达式使用
  • VSCode任务tasks.json中的问题匹配器problemMatcher的问题匹配模式ProblemPattern详解
  • CSS 实现文本框签名
  • Spring 定时任务如何到达某一指定时间点后,触发任务机制
  • PDF Reader Pro 3.0.1.0(pdf阅读器)
  • 【rust:tauri-app踩坑记录】dangerousRemoteDomainIpcAccess 不适用于IP地址,临时解决方案
  • [Docker]八.Docker 容器跨主机通讯
  • 面试cast:reinterpret_cast/const_cast/static_cast/dynamic_cast
  • 致远M3 反序列化RCE漏洞复现(XVE-2023-24878)
  • Ubuntu安装CUDA驱动
  • 【MySQL】内连接和外连接
  • U盘启动制作工具Rufus
  • Ubuntu 22.04安装vscode
  • 计算机视觉的应用19-基于pytorch框架搭建卷积神经网络CNN的卫星地图分类问题实战应用
  • Java 获取本地ip网卡信息
  • 将kali系统放在U盘中插入电脑直接进入kali系统