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任务提交

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AllenGd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值