Spark On Yarn的配置

Spark on Yarn模式下的配置

 

spark-env.sh配置如下,standalone deploy mode部署模式下忽略

export JAVA_HOME=/usr/jdk64/jdk
export SPARK_HOME=/opt/spark


# Options read in YARN client/cluster mode
export SPARK_CONF_DIR=/opt/spark/conf
export HADOOP_CONF_DIR=/etc/hadoop/conf
export YARN_CONF_DIR=/etc/hadoop/conf
export SPARK_EXECUTOR_CORES=1
export SPARK_EXECUTOR_MEMORY=2G
export SPARK_DRIVER_MEMORY=1G

export SPARK_LOG_DIR=/data0/logs/spark2

spark-defaults.conf文件配置

  spark.master                      yarn
  spark.eventLog.enabled            true
  spark.eventLog.dir                hdfs:///spark2-history/
  spark.history.fs.logDirectory     hdfs:///spark2-history/
  spark.history.provider            org.apache.spark.deploy.history.FsHistoryProvider
  spark.serializer                  org.apache.spark.serializer.KryoSerializer
  spark.driver.memory               1g
  spark.eventLog.compress           true
  spark.driver.extraJavaOptions     -Dhdp.version=2.3.4.0-3485
  spark.yarn.am.extraJavaOptions    -Dhdp.version=2.3.4.0-3485
  spark.yarn.preserve.staging.files true                #job結束後,stage相關的文件保留
  spark.yarn.historyServer.address  s10-hadoop:18080    #RM UI連接到history server UI上

 

本次依賴的Hadoop的是hdp的版本,出現部分問題

1. 隨後提交Spark Pi測試yarn-cluster模式時,報錯Spark Job Failing "Could not find or load main class org.apache.spark.deploy.yarn.ApplicationMaster"

原因爲yarn在upload相關jar時,本地jar名稱出現${hdp.version}無法識別導致

添加如下配置

  # spark-conf.default中添加hdp.version參數
  spark.driver.extraJavaOptions     -Dhdp.version=2.3.4.0-3485
  spark.yarn.am.extraJavaOptions    -Dhdp.version=2.3.4.0-3485


  # SPARK_HOME/conf目錄下新建java-opts文件,添加
  -Dhdp.version=2.3.4.0-3485

最後再次測試Spark Pi在yarn-cluster模式運行通過

 

2. 支持spark-sql讀取hive數據

   在SPARK_CONF_DIR下 添加了軟鏈(不是copy)hive-site.xml   指向原生hive配置文件,有變化也會自動同步

 

3. 在讀取hive表進行spark-sql計算時,報Class com.hadoop.compression.lzo.LzoCodec not found 

  hadoop-lzo此處暫時默認安裝,不在具體描述

在spark-env.sh中制定hadoop-lzo目錄路徑

export SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:/usr/hdp/2.3.4.0-3485/hadoop/lib/*

SPAKR_DIST_CLASSPATH配置jar 對driver、executor均作用

 

參考:

https://stackoverflow.com/questions/23441142/class-com-hadoop-compression-lzo-lzocodec-not-found-for-spark-on-cdh-5

https://spark.apache.org/docs/2.2.0/hadoop-provided.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章