网易大数据平台基于云上对象存储的应用实践
背景简介
网易大数据平台支持多种存储方案(HDFS、HBase、Kudu等)和计算方案(Hive、MapReduce、Spark、Kylin、Impala等),需要统一的数据编排系统来降低云上场景的接入成本。Alluxio作为面向云的数据分析和人工智能的开源数据编排系统,通过内存+SSD+HDD的多级缓存大幅提高数据访问速度。
需求痛点
云上场景存在以下问题:
- 存储适配成本高:不同云存储适配需要大量人力和时间,需引入存储中间层作为缓存。
- 跨机房多存储整合:需要整合多集群数据的能力,将多个namespace中的数据整合。
- 对象存储权限管理不便:对象存储缺乏传统目录结构,难以实现基于Ranger的统一授权。
应用案例
网易大数据平台将Alluxio作为云上存储与计算层之间的缓存层,所有读写均通过Alluxio进行。具体部署案例包括:
- 基于AWS S3:70+个Worker节点,总容量数十TB,使用内存+SSD云盘两层缓存。
- 基于华为云OBS:60+个Worker节点,总容量数十TB,使用内存+本地SSD两层缓存。
改进与优化
针对Alluxio进行了以下优化:
- 支持基于Ranger的权限管理:开发Alluxio Ranger插件,实现权限拉取和鉴权,全程自动化降低运维成本。
- 支持逻辑域名:调整Alluxio client配置方式,使Yarn支持Alluxio高可用配置,提高服务稳定性。
- 优化Alluxio对接华为云OBS:使用更高效的OBS API,提高delete和rename性能,部分计算任务耗时降低98%。
- 其他特性优化:
- ACL权限相关优化:解决默认ACL设置失败、目录owner问题等。
- Pin Block优化:跳过最小副本数设置,通过客户端配置实现。
- 参数调优:调整选主效率、缓存管理效率、master journal调优、worker与master通信等参数。
- 未来计划:重点提升稳定性、容量优化、高可用切换,未来计划增强Kerberos支持、与Impala深度结合、无worker模式支持。