spark3.0.2搭建教程

spark3.0.2搭建教程

spark3.0.2安装教程

一、前期准备

需要提前按照好hadoop集群

资源下载:

补充:

二、spark搭建

主机名hadoop1hadoop2hadoop3
Master
worker
workerworker

分别有三台主机,主机名为hadoop1、hadoop2、hadoop3

(一)搭建

1、将spark上传到虚拟机上

在CRT中可以输入命令rzspark-3.0.2-bin-hadoop3.2.tgz上传到/opt/software

cd /opt/software
rz

/opt/software我用来存放安装包相关文件的

2、解压安装包

将文件解压到/opt/module/

 tar -zxvf spark-3.0.2-bin-hadoop3.2.gz -C /opt/module/

并将文件名字改为spark

mv  /opt/module/spark-3.0.2-bin-hadoop3.2 spark

(二)、standalone(独立部署)模型

standalone模式是spark的master-salve的模型,安装规划如下:

主机名hadoop1hadoop2hadoop3
Master
worker
workerworker
1、修改配置文件
  • 进入到解压文件路径下conf

    • 修改slaves.templateslaves
    • 修改spark-env.sh.templatespark-env.sh
    • 修改spark-defaults.conf.templatespark-defaults.conf
    mv slaves.template slaves
    mv spark-env.sh.template spark-env.sh
    mv spark-defaults.conf.template spark-defaults.conf
    

    上面都是模板文件,因此需要修改

  • slaves中,中添加worker节点

    hadoop1
    hadoop2
    hadoop3
    

    在这里插入图片描述

  • spark-env.sh中,添加JAVA_HOME的路径,Master节点

    export JAVA_HOME=/opt/module/jdk1.8.0_212
    SPARK_MASTER_HOST=hadoop1
    SPARK_MASTER_PORT=7077                        
    

    注意:JAVA_HOME是自己安装jdk的路径;7077端口相当于hadoop3版本内部通信的8020、9000、9820端口

  • 配置历史服务器来记录任务运行情况

    • spark-defaults.conf中添加或者修改

      spark.eventLog.enabled           true
      spark.eventLog.dir               hdfs://hadoop1:8020/directory
      spark.yarn.historyServer.address=hadoop1:18080
      spark.history.ui.port=18080
      

      spark.eventLog.dir是指存储日志数据的位置 ,将数据存到hadoop2上

      注意:需要在hdfs上创建一个directory文件夹来存储,可以使用下面命令

      hadoop fs -mkdir /directory

    • 还需要在spark-env.sh添加历史服务器相关的配置信息

      export SPARK_HISTORY_OPTS="
      -Dspark.history.ui.port=18080
      -Dspark.history.fs.logDirectory=hdfs://hadoop1:8020/directory
      -Dspark.history.retainedApplications=30"
      

(三)、yarn模型

yarn模型是利用yarn来进行资源调度

1、修改配置文件

和standalone模型的配置有相似的地方

  • 在slaves中添加worker的文件,和上面内容一样

  • spark-env.sh中,添加JAVA_HOME的路径和hadoop集群的配置文件路径

    export JAVA_HOME=/opt/module/jdk1.8.0_212
    YARN_CONF_DIR=/opt/hadoop-3.1.3/etc/hadoop                  
    

    注意:JAVA_HOME是自己安装jdk的路径,YARN_CONF_DIR是hadoop配置文件的路径

  • 配置历史服务器来记录任务运行情况,和standalone模型的配置一样

  • 需要去在hadoop的yarn-site.xml中添加

    <!--是否启动一个线程检查每一个任务正使用物理内存量,如果任务超出分配值,直接将其杀掉,默认是开启true -->
    <property>
        <description>Whether physical memory limits will be enforced for
        containers.</description>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
     </property>
    <!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
    <property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    </property>
    

    注意:修改后,将修改的文件分发到其他的hadoop中,并重启启动hadoop集群

因此可以得知,yarn模型基于standalone模型下,只需要在spark-env.sh 只需要添加YARN_CONF_DIR即可

(四)、将spark文件分发到hadoop2、hadoop3中

rsync -av /opt/module/spark 用户名@ip地址:/opt/module/

三、开启spark

进入的spark安装目录中,执行下面命令开spark集群hadoop集群

sbin/start-all.sh

需要自己另外开启hadoop集群

可以通过jps命令查看spark是否启动,分别会在hadoop1、hadoop2、hadoop3中显示以下进程

hadoop1hadoop2hadoop3
Master
worker
workerworker

(一)、测试

需要进入到spark的安装目录中,使用spark的官方案例:计算π的值

第一种:standalone模式
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop1:7077 \
./examples/jars/spark-examples_2.12-3.0.2.jar \
10

在这里插入图片描述

第二种:yarn模式
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn
./examples/jars/spark-examples_2.12-3.0.2.jar \
10

在这里插入图片描述

补充知识:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值