美文网首页
spark配置总结

spark配置总结

作者: 机器不能学习 | 来源:发表于2018-11-09 22:24 被阅读0次

    1.配置预写日志spark.streaming.receiver.writeAheadLog.enable
    自 Spark 1.2 以来, 我们引入了写入日志来实现强大的容错保证.如果启用, 则从 receiver 接收的所有数据都将写入配置 checkpoint 目录中的写入日志.这可以防止 driver 恢复时的数据丢失, 从而确保零数据丢失(在 [容错语义]可以通过设置为 true来启用此功能.

    2.接受速率spark.streaming.receiver.maxRate
    设置最大接收速率 - 如果集群资源不够大, streaming 应用程序能够像接收到的那样快速处理数据, 则可以通过设置 记录/秒 的最大速率限制来对 receiver 进行速率限制.

    3.自动整调速率spark.streaming.backpressure.enabled
    我们引入了一个称为背压的功能, 无需设置此速率限制, 因为Spark Streaming会自动计算速率限制, 并在处理条件发生变化时动态调整速率限制.

    4.存储水平org.apache.spark.storage.StorageLevel
    设置可见之前的缓存文章

    5.中间数据spark.local.dir用于写(RDD Cache、Shuffle)
    可以配置:
    1 多个路径到多个磁盘增加整体IO带宽
    2 如果存储设备的读写速度不同,可以在较快的存储设备上配置更多的目录增加被使用的比例
    3 SPARK_LOCAL_DIRS(Standalone, Mesos) LOCAL_DIRS(YARN)参数会覆盖这个配置

    6.内存配置spark.storage.memoryFraction,spark.storage.memory
    决定了每个Executor可用内存大小,而spark.storage.memoryFraction决定了这部分内存中有多少可以用于Memory Store管理RDD Cache的数据

    7.container最大内存yarn.scheduler.maximum-allocation-mb
    这个参数表示每个container能够申请到的最大内存,一般是集群统一配置。一个container可以有多个executor
    更多配置https://blog.csdn.net/qq_25302531/article/details/80623791

    8.预留内存spark.yarn.executor.memoryOverhead
    executor执行的时候,用的内存可能会超过executor-memoy,所以会为executor额外预留一部分内存。spark.yarn.executor.memoryOverhead代表了这部分内存。

    9.进程最大内存executor-memory
    参数说明:该参数用于设置每个Executor进程的内存。Executor内存的大小,很多时候直接决定了Spark作业的性能。num-executors乘以executor-memory=最大内存i限制

    10.流接受时间spark.streaming.blockInterval
    设置Spark Streaming里Stream Receicer生成block的时间间隔,默认为200ms。这个时间间隔应该被StreamingBatch的时间间隔整除
    spark.streaming.blockQueueSize决定了streamBlock最多能存储的容量,默认为10

    11.数据本地性

    相关文章

      网友评论

          本文标题:spark配置总结

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