• Spark在爱奇艺的应用实践


    Spark生态@爱奇艺
    爱奇艺
    秉承“悦享品质”的品牌理念,提供更多、更好的视频
    2010年4月上线
    2013年5月与PPS合并
    月度独立访问用户4+亿(3月份数据)
    – 2014年1月以来,日均覆盖、月度覆盖、月度时长以及人均月度 时长一直排名第一
    爱奇艺大数据生态
    爱奇艺Spark生态
    版本:从0.7.3开始,0.8.X, 0.9.X, 1.0, 1.1…不断跟踪升级
    部署环境:虚机 + 物理机
    部署方式:Standalone、Spark on YARN、Spark on Mesos
    Spark组件:通用Spark job, Spark MLlib,Spark Streaming
    语言:Scala & Java & Python
    业务实践
    日志分析
    各种日志(用户访问,CDN)的数据分析
    推荐
    推荐模型训练
    Spark MLlib Alternating Least Squares(ALS) Algorithm
    输入数据300+G,运行20分钟
    模型提供给Hadoop,Storm进行批处理和实时数据预测
    Spark on YARN
    用户行为分析
    用户画像、分类
    iQIYI Logistic Regression (LR) Algorithm
    输入数据100G左右,1400W+ Features
    迭代1000次左右
    单机运行(20G左右)2小时或更长,Spark集群10分钟左右
    Spark Standalone
    问题 & 经验
    1、 Spark on Mesos
    Mesos Master 内存泄漏
    – 症状:spark.akka.framesize = 128MB, Mesos Master内存飙涨,最终crash
    – 原因:Executor的执行结果会通过statusUpdate传递给Mesos Master,且没有及时清理
     
    办法:
    降低spark.akka.framesize
    可能会导致Driver卡住,或者OOM
    MESOS-1746
    SPARK-3334
    2、Spark on YARN
    – Memory Overhead陷阱
    症状:Executor的内存没达到上限前被kill
    – 原因:Spark Application使用了非JVM的内存,比如,矩阵计算 的库调用了native library,分配了JVM堆外内存
    办法:调高spark.yarn.executor.memoryOverhead
    默认384MB,建议1024MB,视情况而定
    – 调度问题
    – 症状:当有较多MapReduce job,scheduler调度压力增大的时候,Spark job会被kill掉
    原因:YARN AM Containers会被抢占
    办法:升级YARN集群,或增加如下Patch
    YARN-614
    YARN-2074
    YARN-1957
    3、Standalone Spark
    Secure HDFS 支持
    症状:不能访问开启了Kerberos的Hadoop集群数据
    原因:Executor启动后,总是创建一个新的UGI

    限制:不支持一个集群多个用户同时运行 

    4、Spark MLlib
    LR改进
    Spark 1.X前的LR采用梯度下降法,收敛很慢
    用牛顿法重新实现了LR,收敛速度提升10倍
    可视化的LR任务提交

     

     

  • 相关阅读:
    Rust 过程宏 proc-macro 是个啥
    Python(4)类型转换
    程序批量下载图片不完整解决方案for Python
    关于Gym变成Gymnasium
    【校招VIP】前端专业课考点之死锁的特点
    如何快速地编译并且运行Github中的Android项目
    内存泄漏检测C版小工具
    mybatis 数据库字段为空or为空串 忽略条件过滤, 不为空且不为空串时才需nameParam过滤条件
    【牛客网】Verilog快速入门-基础语法(1)
    基于STM32的串口通信详解
  • 原文地址:https://blog.csdn.net/Allenzyg/article/details/126745552