spark-2.1.1 yarn(高可用)搭建


一、概述

  spark分布式搭建方式大致分為三種:standalone、yarn、mesos。三種分類的區別這里就不一一介紹了,不明白可自行了解。standalone是官方提供的一種集群方式,企業一般不使用。yarn集群方式在企業中應用是比較廣泛的,這里也是介紹yarn的集群安裝方式。mesos安裝適合於超大型集群。

 

集群節點分配:

hadoop01:Zookeeper、NameNode(active)、ResourceManager(active)

hadoop02:Zookeeper、NameNode(standby)

hadoop03:Zookeeper、           ResourceManager(standby)

hadoop04:      DataNode、    NodeManager、      JournalNode、  spark

hadoop05:      DataNode、    NodeManager、      JournalNode、  spark

hadoop06:      DataNode、    NodeManager、      JournalNode、  spark

 

二、安裝

  說明一下:

  ①選spark的時候要注意與hadoop版本對應。因為hadoop用的是2.7的,所以spark選的是spark-2.1.1-bin-hadoop2.7

  ②因為spark基於yarn來管理,spark只能安裝在NodeManager節點上。

  ③spark安裝放在/home/software目錄下。

  1、hadoop基於yarn(ha)的搭建,這里介紹步驟了。在我的上一個教程里有詳細介紹。

  2、安裝scala,並配置好環境變量。

  3、在NodeManager節點上解壓spark文件。

    tar -xvf spark-2.1.1-bin-hadoop2.7

  3、修改spark-2.1.1-bin-hadoop2.7/conf/spark-env.sh,在文件尾部加上以下內容,其中HADOOP_CONF_DIR是必填項

    export JAVA_HOME=/home/jack/jdk1.8.0_144
    export SCALA_HOME=/home/jack/scala-2.12.3
    export HADOOP_HOME=/home/software/hadoop-2.7.4
    export HADOOP_CONF_DIR=/home/software/hadoop-2.7.4/etc/hadoop
    export SPARK_MASTER_PORT=7077
    export SPARK_EXECUTOR_CORES=2
    export SPARK_EXECUTOR_MEMORY=1024m
    export SPARK_EXECUTOR_INSTANCES=1

  4、修改spark-2.1.1-bin-hadoop2.7/conf/slave文件,添加以下內容:

    hadoop04

    hadoop05

    hadoop06

  5、在hdfs上傳spark的jar包,並修改/home/software/spark-2.1.1-bin-hadoop2.7/conf/spark-defaults.conf(可不做) 

    ①hadoop fs -mkdir /spark_jars

    ②hadoop fs -put  /home/software/spark-2.1.1-bin-hadoop2.7/jars/* /spark_jars

    ③修改/home/software/spark-2.1.1-bin-hadoop2.7/conf/spark-defaults.conf,添加以下內容:

      spark.yarn.jars=hdfs://hadoop01:9000/spark_jars/*

  6、完成以上操作就完成了spark基於yarn的安裝。下面是驗證部分:

   在安裝有spark的節點上執行以下命令:  

    spark-submit --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --deploy-mode cluster \
    --driver-memory 1g \
    --executor-memory 1g \
    --executor-cores 1 \
    --num-executors 3 \
    /home/software/spark-2.1.1-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.1.1.jar \
    10

能看以上三張圖就說明安裝成功了!

 

備注:如果執行spark-shell --master yarn --deploy-mode client失敗,報rpc連接失敗,解決方法如下:

在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>

報錯的原因是:內存資源給的過小,yarn直接kill掉進程,則報rpc連接失敗、ClosedChannelException等錯誤。

    

   

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM