Spark2.0與HDP2.4集成

導(dǎo)語

HDP2.4的Hadoop版本為2.7.1,Spark版本為Spark1.6。很多感興趣的朋友想要在HDP2.4的環(huán)境上嘗鮮Spark2.0,筆者自己也嘗試著在HDP2.4的環(huán)境下運(yùn)行了spark2.0 on YARN模式。將一些配置整理如下,感興趣的朋友可以作為參考。

1. 環(huán)境準(zhǔn)備

  • 安裝HDP2.4,不包含Spark組件。
  • 下載Spark2.0預(yù)覽版spark-2.0.0-preview-bin-hadoop2.7.tar

2. 配置

  • 解壓縮spark-2.0.0-preview-bin-hadoop2.7.tar 到目錄/usr/hdp/2.4.0.0-169下。

  • 進(jìn)入Spark配置目錄 /usr/hdp/2.4.0.0-169/spark-2.0.0-preview-bin-hadoop2.7/conf

  • 配置hive-site.xml 為如下:

        <configuration>
            <property>
                <name>hive.metastore.uris</name>
                <value>thrift://url:9083</value>
            </property>
        </configuration>
    

    其中,thrift://url:9083為hive metastore url.

  • 配置spark-env.sh為如下,相應(yīng)的配置根據(jù)安裝環(huán)境設(shè)置。

      export SPARK_CONF_DIR=/usr/hdp/2.4.0.0-169/spark-2.0.0-preview-bin-hadoop2.7/conf
      # Where log files are stored.(Default:${SPARK_HOME}/logs)
      #export SPARK_LOG_DIR=${SPARK_HOME:-/usr/hdp/current/spark-historyserver}/logs
    
      export SPARK_LOG_DIR=/var/log/spark
      # Where the pid file is stored. (Default: /tmp)  
      export SPARK_PID_DIR=/var/run/spark
      # The scheduling priority for daemons. (Default: 0)
      SPARK_NICENESS=0
      export HADOOP_HOME=/usr/hdp/current/hadoop-client
      export HADOOP_CONF_DIR=/usr/hdp/current/hadoop-client/conf
      # The java implementation to use.
      export JAVA_HOME=/usr/jdk64/jdk1.8.0_60/
      if [ -d "/etc/tez/conf/" ]; then
      export TEZ_CONF_DIR=/etc/tez/conf   
      else
          export TEZ_CONF_DIR=
      fi
    
  • 配置spark-defaults.conf為如下,相應(yīng)的配置根據(jù)環(huán)境設(shè)置,spark.yarn.historyServer.address 為spark history server地址.

      spark.eventLog.dir hdfs:///spark-history
      spark.eventLog.enabled true
      spark.history.fs.logDirectory hdfs:///spark-history
      spark.history.kerberos.keytab none
      spark.history.kerberos.principal none
      spark.history.provider org.apache.spark.deploy.history.FsHistoryProvider
      spark.history.ui.port 18080
      spark.yarn.containerLauncherMaxThreads 25
      spark.yarn.driver.memoryOverhead 384
      spark.yarn.executor.memoryOverhead 384
      spark.yarn.historyServer.address ochadoop02.jcloud.local:18080
      spark.yarn.max.executor.failures 3
      spark.yarn.preserve.staging.files false
      spark.yarn.queue default
      spark.yarn.scheduler.heartbeat.interval-ms 5000
      spark.yarn.submit.file.replication 3
    
  • 在hdfs上創(chuàng)建文件夾/spark-history,權(quán)限為執(zhí)行spark的用戶所有。

  • 打開Ambari,在YARN配置里,diable yarn.timeline-service.enabled。這樣的原因是在Spark2.0中Yarn依賴的jersey版本為1.9, Spark2.0依賴的Jersey版本為2.x。Spark沒有對(duì)Jersey版本進(jìn)行很好的適配。

  • 打開Ambari,在MapReduce配置里,修改/usr/hdp/ ${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar/usr/hdp/2.4.0.0-169/hadoop/lib/hadoop-lzo-0.6.0.2.4.0.0-169.jar

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容