spark集群模式的部署

时间:2024-03-29 08:55:49

1.Spark 介绍


    【1】.spark处理大数据的统一分析计算引擎;
       a.速度:在迭代循环的计算模型下,spark比Hadoop快100倍;
       b.易用性:spark提供多种语言的API,如Java、Python、Scala、R、SQL等
       c.扩展性:在spark RDD基础上,提供一整套的分析计算模型:spark SQL、spark Stresaming、spark MLLib和图计算;
       d.运行: spark支持在hadoop、Hadoop, Apache Mesos, Kubernetes, standalone, or in the cloud.


  2.spark安装部署

ps:下载网址:http://spark.apache.org/downloads.html

(选择与您的Hadoop相对应的版本,我的是Hadoop2.7.3)

spark集群模式的部署

 

 


       0).版本选型:spark2.1.2。依赖scala2.11.8
       1).下载spark2.1.2.tar.gz
       2).解压安装:

          $>cd /home/hyxy/soft/
      $>cp /mnt/hgfs/2.安装环境/download/apache-spark/spark-2.1.2-bin-hadoop2.7.tgz .
          $>tar -zxvf spark-2.1.2-bin-hadoop2.7.tgz 
      $>ln -s spark-2.1.2-bin-hadoop2.7 spark
       3).配置环境变量
          修改【~/.bash_profile】,在文件尾部追加以下内容:
          #spark install
        export SPARK_HOME=/home/hyxy/soft/spark
        export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
      $>source ~/.bash_profile
       4).至此,单机版搭建完成!
          $>spark-shell
       访问WebUI:HTTP://master:4040

 HTTP://master:4040:

spark集群模式的部署

 

2.Spark集群模式部署


    0.说明:如果现有的集群框架中存在MR的相关应用,同时相关的MR无法转换为Spark应用的,集群选型为Spark On Yarn;
            如果现有的集群框架中只有Spark应用,那么建议采用spark Standalone模式;
    1.spark可以运行在不同的计算引擎上,所以集群模式安装分不同种情况:
        说明:spark的Standalone模式和Spark on Yarn占比比较多。


  a.spark的Standalone集群模式安装


     1.(位置:在spark/conf/下)复制三个文件,并修改:
         $>cp spark-env.sh.template spark-env.sh
             添加以下内容,注意:“=”附近无空格:
             export JAVA_HOME=/home/hyxy/soft/jdk
             export SPARK_MASTER_HOST=master
             export SPARK_MASTER_PORT=7077
             $>cp slaves.template slaves
             添加工作节点(Worker),如下:
            master
            slave1
            slave2
             $>cp spark-defaults.conf.template spark-defaults.conf
     2.远程scp复制spark安装目录至其它节点:slave1和slave2;
         $>scp -r ~/soft/spark-2.1.2-bin-hadoop2.7/ [email protected]:/home/hyxy/soft/
         $>ln -s spark-2.1.2-bin-hadoop2.7 spark    //在Slave1节点上
     3.分别修改slave1、slave2等的环境变量
     4.开启spark Standalone集群的守护进程
         $>start-master.sh      //开启spark的Master守护进程 
         $>start-slaves.sh      //开启spark的Worker守护进程
     5.测试
         访问WebUI界面:http://master:8080
             $>spark-shell --master spark://master:7077
         观察WebUI的网页说明;

 


b.Spark on Yarn集群模式安装(记得先stop-slaves.sh  和 stop-master.sh)


      1).修改spark/conf/spark-env.sh文件,添加以下内容:
          export HADOOP_CONF_DIR=/home/hyxy/soft/hadoop/etc/hadoop
      2).测试:
         开启hadoop:
           $>zkserver.sh start
           $>start-dfs.sh
           $>start-yarn.sh
         启动spark:
           $>spark-shell --master yarn-client
      3).注意:抛异常,资源调用超出上限,修改默认校验
           修改Hadoop/etc/hadoop/yarn-site.xml文件
             <property>
            <name>yarn.nodemanager.pmem-check-enabled</name>
            <value>false</value>
          </property>

          <property>
            <name>yarn.nodemanager.vmem-check-enabled</name>
            <value>false</value>
          </property>
               分发至集群其它节点

        4)重启yarn
              stop-yarn.sh
              start-yarn.sh

        5)运行启动命令:spark-shell --master yarn client

启动过程很慢,请耐心等待哈

最后结果:

spark集群模式的部署

 恭喜你已经搭建成功啦,哈哈哈