美文网首页
Spark on Yarn 实践

Spark on Yarn 实践

作者: 金刚_30bf | 来源:发表于2018-05-27 14:24 被阅读0次

    配置

    1. spark-env.sh
    HADOOP_CONF_DIR=/etc/hadoop/conf
    # - YARN_CONF_DIR, to point Spark towards YARN configuration files when you use YARN
    YARN_CONF_DIR=/etc/hadoop/conf
    JAVA_HOME=/usr/java/jdk1.8.0_172
    export LD_LIBRARY_PATH=:/usr/lib/hadoop/lib/native
    
    1. salves 配置
    2. spark-default.conf
    spark.executor.cores=3
    spark.default.parallelism=40
    spark.executor.memory=1536m
    spark.executor.memoryOverhead=512m
    spark.driver.cores=1
    spark.driver.memory=1g
    spark.executor.instances=3
    spark.serializer=org.apache.spark.serializer.KryoSerializer
    
    1. yarn-site.xml
    <!-- comment mapreduce shuffle , change to spark_shuffle
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    
      <property>
        <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
      </property> -->
    <!--  for spark on yarn : spark_shuffle -->
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>spark_shuffle</value>
      </property>
    
      <property>
        <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
        <value>org.apache.spark.network.yarn.YarnShuffleService</value>
      </property>
    
    
    1. yarn-env.sh
    export YARN_HEAPSIZE=1000
    

    总结

    • spark on yarn 模式下, spark只是个driver , 资源的分配、执行都是由yarn做的。 也即 spark的 master 、worker 没有参与。

    • 不需要像standalone模式拷贝core-site.xml 和 hdfs-site.xml 。

    • 启动参数 --master yarn , --deploy-mode 有两种,cluster 和client 。 cluster模式下dirver 在am上,客户端可以退出。 client模式下,driver在客户端,am只用来跟yarn申请资源。

    • spark在yarn上运行的各种jar包需要指定, 通过参数 spark.yarn.archive or spark.yarn.jars 指定, 若未指定,会将jars目录全部打包上传 。 若两参数都设置了, archive 会覆盖 jars 参数。 为了避免每次运行都要上传,可将jar包放到hdfs上,并配置好参数 , 如:

    spark.yarn.archive=hdfs://hmcluster/somepath
    
    • 使用spark shuffle service 。 将yarn/spark-2.3.0-yarn-shuffle.jar 放到hadooplib下 , 配置yarn-site.xml 和 YARN_HEAPSIZE

    • 运行命令

    bin/pyspark --master yarn --num-executors 6 --executor-cores 1 --executor-memory 1g
    

    相关文章

      网友评论

          本文标题:Spark on Yarn 实践

          本文链接:https://www.haomeiwen.com/subject/dnebjftx.html