当前位置:网站首页>部署spark2.2集群(standalone模式)
部署spark2.2集群(standalone模式)
2022-08-08 10:15:00 【华为云】
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
- 一起来实战部署spark2.2集群(standalone模式)
版本信息
- 操作系统 CentOS 7.5.1804
- JDK:1.8.0_191
- scala:2.12.8
- 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.130slave1 192.168.150.131slave2 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下的内容如下所示:
[[email protected] ~]$ ll总用量 427836drwxr-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.gzdrwxrwxr-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_191export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATHexport SCALA_HOME=/home/spark/scala-2.12.8export PATH=${SCALA_HOME}/bin:$PATHexport SPARK_HOME=/home/spark/spark-2.3.2-bin-hadoop2.7export PATH=${SPARK_HOME}/bin:$PATH- 执行以下命令,使得.bash_profile的修改生效:
source .bash_profile- 分别执行java -version和scala -version命令,检查上述设置是否生效:
[[email protected] ~]$ java -versionjava 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)[[email protected] ~]$ scala -versionScala 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=node0export SPARK_MASTER_PORT=7077export SPARK_EXECUTOR_INSTANCES=1export SPARK_WORKER_INSTANCES=1export SPARK_WORKER_CORES=1export SPARK_WORKER_MEMORY=256Mexport SPARK_MASTER_WEBUI_PORT=8080export SPARK_CONF_DIR=/home/spark/spark-2.3.2-bin-hadoop2.7/confexport JAVA_HOME=/home/spark/jdk1.8.0_191export JRE_HOME=${JAVA_HOME}/jre- 进入目录/home/spark/spark-2.3.2-bin-hadoop2.7/conf,执行以下命令,将slaves.template更名为slaves:
mv slaves.template slaves- 打开文件slaves,将尾部的localhost删除,再增加以下内容:
slave1slave2- 以上就是所有设置,接下来要将spark文件夹同步到其他机器上
将spark文件夹同步到其他机器
- 在master机器执行以下命令,即可将整个spark文件夹同步到slave1:
scp -r ~/spark-2.3.2-bin-hadoop2.7 [email protected]:~- 期间会要求输入slave1的密码,输入密码后即可开始同步;
- 在master机器执行以下命令,即可将整个spark文件夹同步到slave2:
scp -r ~/spark-2.3.2-bin-hadoop2.7 [email protected]:~- 期间会要求输入slave2的密码,输入密码后即可开始同步;
启动spark
- 以spark账号登录master机器,执行以下命令即可启动spark集群:
/home/spark/spark-2.3.2-bin-hadoop2.7/sbin/start-all.sh- 启动过程中,会要求输入slave1、slave2的密码,输入即可;
- 为了避免每次启动和停止都要输入slave1和slave2的密码,建议将三台机器配置ssh免密码登录,请参考《Docker下,实现多台机器之间相互SSH免密码登录》;
- 启动成功后,可以通过浏览器查看启动情况,如下图,地址是:http://192.168.150.130:8080/

- 至此,spark集群部署成功,接下来的章节,我们会一起进行更多的spark实战;
欢迎关注华为云博客:程序员欣宸
边栏推荐
- Web优化躬行记(6)——优化闭环实践
- 移动端/嵌入式-CV模型-2018:MobelNets-v2
- 机器学习(十六)推荐系统
- Timed Task Framework Quartz-(1) Quartz Introduction and Demo Construction
- Mobile/Embedded-CV Model-2018: MobileFaceNets
- 四、业务数据解析
- Solutions and ideas for the problem that Loadrunner's recording event is 0
- Leetcode 700. 二叉搜索树中的搜索
- 图像分割 总结
- C# api 将base64编码 上传至fastdfs转成文件
猜你喜欢

nacos安装

「控制反转」和「依赖倒置」,傻傻分不清楚?

HMS Core分析服务智能运营6.5.1版本上线

VMWare Esxi 虚拟系统数据存储扩容(增加容量)的简明教程

COMSOL Multiphysics 6.0 software installation package and installation tutorial

idea安装步骤

使用.NET简单实现一个Redis的高性能克隆版(三)

面试突击72:输入URL之后会执行什么流程?

语音聊天app开发——对用户更具吸引力的设计

Solutions and ideas for the problem that Loadrunner's recording event is 0
随机推荐
典型的图数据库有哪些呀?
Leetcode 617. 合并二叉树
文档数据库中的文档可以有相同的数据结构嘛?
数据库不推荐使用外键的9个理由!
实例存储之shelve
文档数据库和列存储数据库有什么不同的嘛?
文档数据库是用来干什么的呢?
Web优化躬行记(6)——优化闭环实践
键值数据库是将什么作为标识符的呢?
shell脚本知识记录
PCL calculates the intersection of two straight lines in space
Machine learning model too slow?Look at Intel (R) extension to accelerate
NoSQL数据库有哪些优势吗?又有哪些劣势呢?
关于振弦采集模块及采集仪振弦频率值准确率的问题
oracle中联表相关思考
各种attention的代码实现
为什么说键值数据库有高可扩展性呢?
Service Mesh迁移原则
快速定位线上慢 SQL 问题,掌握这几个性能排查工具可助你一臂之力
软考证书含金量