前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spark 集群搭建

spark 集群搭建

作者头像
Freedom123
发布2024-03-29 09:09:37
750
发布2024-03-29 09:09:37
举报
文章被收录于专栏:DevOpsDevOps

一. 集群规划 node01为master节点,node02,node03为worker节点

代码语言:javascript
复制
    192.168.24.102 node01
    192.168.24.103 node02
    192.168.24.104 node03

二. 基础配置

三. 集群配置 以下操作以node01为操作节点 1. 下载解压(或者提前下载好,上传到node01节点) https://mirrors.aliyun.com/apache/spark/

代码语言:javascript
复制
tar -xvf spark-2.4.3-bin-hadoop2.7.tgz -C /opt/spark/
mv spark-2.4.3-bin-hadoop2.7 spark-2.4.3
mv sbin/start-all.sh sbin/start-spark-all.sh
mv sbin/stop-all.sh sbin/stop-spark-all.sh

2. 修改bash_profile,配置spark_home

代码语言:javascript
复制
vi ~/.bash_profile
    export SPARK_HOME=/opt/spark/spark-2.4.3
    export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
    
source ~/.bash_profile    #配置生效

3. 修改profile,配置scala_home scala 下载:http://www.scala-lang.org/download/ 解压到指定目录 /home/hadoop3/

代码语言:javascript
复制
vi  /etc/profile
    export SCALA_HOME=/home/hadoop3/scala-2.11.7
    export PATH=$PATH:$SCALA_HOME/bin

source /etc/profile    #配置生效

4. 修改 spark-env.sh

代码语言:javascript
复制
mv spark-env.sh.template spark-env.sh

vi /opt/spark/spark-2.4.3/conf/spark-env.sh

    # 配置JAVA_HOME,一般来说,不配置也可以,但是可能会出现问题,还是配上吧
    export JAVA_HOME=/usr/local/java/jdk1.8.0_73
    # 一般来说,spark任务有很大可能性需要去HDFS上读取文件,所以配置上
    # 如果说你的spark就读取本地文件,也不需要yarn管理,不用配
    export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.4/etc/hadoop
    
    # 设置Master的主机名
    export SPARK_MASTER_HOST=node01
    # 提交Application的端口,默认就是这个,万一要改呢,改这里
    export SPARK_MASTER_PORT=7077
    # 每一个Worker最多可以使用的cpu core的个数,我虚拟机就一个...
    # 真实服务器如果有32个,你可以设置为32个
    export SPARK_WORKER_CORES=1
    # 每一个Worker最多可以使用的内存,我的虚拟机就2g
    # 真实服务器如果有128G,你可以设置为100G
    export SPARK_WORKER_MEMORY=1g

5. 配置 slaves

代码语言:javascript
复制
vi slaves    
    node01
    node02
    node03

6. 同步node01配置到node02,node03节点

代码语言:javascript
复制
scp -r bash_profile hadoop02:`pwd` #同步bash_profile并生效   
scp -r profile hadoop02:`pwd` #同步profile并生效        
scp -r spark-2.2.0 hadoop02:`pwd`  #同步spark

7. 集群启动

代码语言:javascript
复制
sbin/start-spark-all.sh    # 在master节点上启动    
start-dfs.sh               #Option 如果设计hdfs,spark启动前启动hdfs

8. 浏览 http://node01:8080/ 9. 搭建Spark HA 1. 配置文件增加(ZK 配置):

代码语言:javascript
复制
vi spark-env.sh
   SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node02:2181,node03:2181,node04:2181 -Dspark.deploy.zookeeper.dir=/spark-1106"

2. 修改配置文件 以node02 作为备用主节点,则修改node02的

代码语言:javascript
复制
vi spark-env.sh
	SPARK_MASTER_IP = node02

集群启动:

代码语言:javascript
复制
sbin/start-spark-all.sh 	# node01   
sbin/start-master.sh		# node02    
start-dfs.sh				#Option 如果涉及hdfs ,则spark启动前启动

其他: 比如分别把这两个文件重命名为start-spark-all.sh和stop-spark-all.sh 原因: 如果集群中也配置HADOOP_HOME,那么在HADOOP_HOME/sbin目录下也有start-all.sh和stop-all.sh这两个文件,当你执行这两个文件,系统不知道是操作hadoop集群还是spark集群。修改后就不会冲突了,当然,不修改的话,你需要进入它们的sbin目录下执行这些文件,这肯定就不会发生冲突了。我们配置SPARK_HOME主要也是为了执行其他spark命令方便。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档