当前位置:   article > 正文

Spark完全分布式搭建(On Yarn)_1.spark on yarn分布式模式部署。

1.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
  1. export JAVA_HOME=/usr/local/java/jdk1.8.0_241
  2. 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

  ②再修改文件内容

  1. # 配置各种软件的HOME,一般来说不配置也可以,但是可能会出现问题,还是配上
  2. export JAVA_HOME=/usr/local/java/jdk1.8.0_241
  3. export SCALA_HOME=/usr/local/scala/scala-2.11.8
  4. export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
  5. export SPARK_HOME=/usr/local/spark/spark-2.3.4-bin-hadoop2.7
  6. export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.7.3/etc/hadoop
  7. # 设置Master的IP
  8. export SPARK_MASTER_IP=192.168.219.129
  9. # 设置Master的主机名
  10. export SPARK_MASTER_HOST=hadoop101
  11. # 设置本节点的IP
  12. export SPARK_LOCAL_IP=192.168.219.129
  13. # 每一个Worker最多可以使用的内存
  14. export SPARK_WORKER_MEMORY=1g
  15. # 每一个Worker最多可以使用的cpu core的个数
  16. export SPARK_WORKER_CORES=1
  17. # 提交Application的端口,默认就是这个,万一要改呢,改这里
  18. export SPARK_MASTER_WEBUI_PORT=8080
  19. 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

  1. hadoop103:export SPARK_LOCAL_IP=192.168.219.131
  2. 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

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

  1. hadoop101
  2. hadoop103
  3. hadoop104

  ③分发给hadoop103和hadoop104

[root@hadoop101 conf]# xsync slaves 

四、启动集群

1.先起动Hadoop的HDFS和Yarn

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

2.启动Spark

  1. [root@hadoop101 ~]# cd /usr/local/spark/spark-2.3.4-bin-hadoop2.7/
  2. [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在工作时才会出现的

 

 

六、测试例子

  1. 本例:
  2. bin/spark-submit \
  3. --master spark://hadoop101:7077 \
  4. --class org.apache.spark.examples.SparkPi \
  5. examples/jars/spark-examples_2.11-2.3.4.jar 100
  6. 如果在yarn上提交某个包时:
  7. 注意文件要提前传到hdfs中
  8. bin/spark-submit \
  9. --master yarn \
  10. --class Rewrite_NavieBayes \
  11. /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

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/580797
推荐阅读
相关标签
  

闽ICP备14008679号