Spark完全分布式搭建(On Yarn)

目录

一、集群规划

二、配置Spark路径

三、修改配置文件

1.spark-env.sh

2.修改slaves文件

四、启动集群

1.先起动Hadoop的HDFS和Yarn

2.启动Spark

五、Web查看集群启动情况

六、测试例子

七、集群配置介绍


必读引言:

本文是基于Hadoop完全分布式搭建的Spark On Yarn分布式集群,之前我已经总结过Hadoop完全分布式搭建的详细过程,请参考我的文章:Linux下CentOS搭建Hadoop分布式全过程(史上超全大合集!)

一、集群规划

 MasterWorker
hadoop101
hadoop103 
hadoop104 

二、配置Spark路径

  ①首先添加Spark路径

[root@hadoop101 ~]# vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_241
export PATH=$PATH:$JAVA_HOME/bin

  ②分发给hadoop103和hadoop104

[root@hadoop101 ~]# xsync /etc/profile

三、修改配置文件

1.spark-env.sh

   ①进入以下路径,先修改文件名称

[root@hadoop101 ~]# cd /usr/local/spark/spark-2.3.4-bin-hadoop2.7/conf

[root@hadoop101 conf]# mv spark-env.sh.template spark-env.sh

  ②再修改文件内容

# 配置各种软件的HOME,一般来说不配置也可以,但是可能会出现问题,还是配上
export JAVA_HOME=/usr/local/java/jdk1.8.0_241
export SCALA_HOME=/usr/local/scala/scala-2.11.8
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
export SPARK_HOME=/usr/local/spark/spark-2.3.4-bin-hadoop2.7
export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.7.3/etc/hadoop
# 设置Master的IP
export SPARK_MASTER_IP=192.168.219.129
# 设置Master的主机名
export SPARK_MASTER_HOST=hadoop101
# 设置本节点的IP
export SPARK_LOCAL_IP=192.168.219.129
# 每一个Worker最多可以使用的内存
export SPARK_WORKER_MEMORY=1g
# 每一个Worker最多可以使用的cpu core的个数
export SPARK_WORKER_CORES=1
# 提交Application的端口,默认就是这个,万一要改呢,改这里
export SPARK_MASTER_WEBUI_PORT=8080
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/hadoop-2.7.3/etc/hadoop classpath)

  ③分发给hadoop103和hadoop104

[root@hadoop101 conf]# xsync spark-env.sh 

  ④相应的节点要修改他们的SPARK_LOCAL_IP

hadoop103:export SPARK_LOCAL_IP=192.168.219.131
hadoop104:export SPARK_LOCAL_IP=192.168.219.129

2.修改slaves文件

  ①进入以下路径,先修改文件名称

[root@hadoop101 ~]# cd /usr/local/spark/spark-2.3.4-bin-hadoop2.7/conf

 

[root@hadoop101 conf]# mv slaves.template slaves

  ②然后添加各个节点(不要有空格或者空行!!)

hadoop101
hadoop103
hadoop104

  ③分发给hadoop103和hadoop104

[root@hadoop101 conf]# xsync slaves 

四、启动集群

1.先起动Hadoop的HDFS和Yarn

参考我之前的文章:Hadoop完全分布式的集群启动与停止

2.启动Spark

[root@hadoop101 ~]# cd /usr/local/spark/spark-2.3.4-bin-hadoop2.7/

[root@hadoop101 spark-2.3.4-bin-hadoop2.7]# sbin/start-all.sh

  ①hadoop101:

  ②hadoop103:

  ③hadoop104:

 

主节点中出现了Worker和Master,从节点中出现了Worker,至此Spark完全分布式已经启动!!

五、Web查看集群启动情况

在网址中输入:http://192.168.219.129:8080/(master的IP地址:8080)

注意以下UI界面的访问地址:

名称网址备注
HDFShadoop101:50070

必须是主节点,有HDFS的

因为50070是HDFS的默认端口号

Yarnhadoop103:8088

必须是有Yarn的节点

因为8088是Yarn默认的端口号

Spark

hadoop101:8080

hadoop101:4040

必须是Master节点

因为8080是Spark默认的端口号

4040是spark在工作时才会出现的

 

 

六、测试例子

本例:
bin/spark-submit \
--master spark://hadoop101:7077 \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.3.4.jar 100



如果在yarn上提交某个包时:
注意文件要提前传到hdfs中
bin/spark-submit \
--master yarn \
--class Rewrite_NavieBayes \
/usr/local/spark/spark-test/TJU_NaiveBayes_Project-1.0-SNAPSHOT.jar

七、集群配置介绍

我搭建了3个虚拟机分别为hadoop101、hadoop103、hadoop104,ip地址分别为192.168.219.129,192.168.219.131,192.168.219.132,防火墙已关闭。

内置:

jdk版本:jdk1.8.0_241
hadoop版本:hadoop-2.7.3
scala版本:2.11.8
spark版本:2.3.4

主机名称IP地址
hadoop101192.168.219.129
hadoop103192.168.219.131
hadoop104192.168.219.132

 

环境所需软件版本号
JDKjdk1.8.0_241
Hadoophadoop-2.7.3
Scala2.11.8
Spark2.3.4

 

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值