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分布式全过程(史上超全大合集!)

一、集群规划

  Master Worker
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

Spark完全分布式搭建(On Yarn)_第1张图片

  ②分发给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

Spark完全分布式搭建(On Yarn)_第2张图片

[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)

Spark完全分布式搭建(On Yarn)_第3张图片

  ③分发给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

Spark完全分布式搭建(On Yarn)_第4张图片

 

[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:

Spark完全分布式搭建(On Yarn)_第5张图片

  ②hadoop103:

Spark完全分布式搭建(On Yarn)_第6张图片

  ③hadoop104:

Spark完全分布式搭建(On Yarn)_第7张图片

 

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

五、Web查看集群启动情况

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

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

名称 网址 备注
HDFS hadoop101:50070

必须是主节点,有HDFS的

因为50070是HDFS的默认端口号

Yarn hadoop103:8088

必须是有Yarn的节点

因为8088是Yarn默认的端口号

Spark

hadoop101:8080

hadoop101:4040

必须是Master节点

因为8080是Spark默认的端口号

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

 

 

Spark完全分布式搭建(On Yarn)_第8张图片

六、测试例子

本例:
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

Spark完全分布式搭建(On Yarn)_第9张图片

七、集群配置介绍

我搭建了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地址
hadoop101 192.168.219.129
hadoop103 192.168.219.131
hadoop104 192.168.219.132

 

环境所需软件 版本号
JDK jdk1.8.0_241
Hadoop hadoop-2.7.3
Scala 2.11.8
Spark 2.3.4

 

你可能感兴趣的:(大数据,hadoop,spark,完全分布式,spark-env.sh,slaves)