Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Use Alluxio to Unify Storage Systems in Suning

499 views

Published on

Shanghai Meetup - Jan 2018

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Use Alluxio to Unify Storage Systems in Suning

  1. 1. ALLUXIO – 分布式存储系统的统一 入口
  2. 2. 概要 •  HDFS在苏宁的使用和存在的问题; •  多HDFS集群的解决方案; •  Alluxio Porxy分布式存储系统的统一入口的 实现; •  Alluxio在苏宁的未来; •  Q&A;
  3. 3. 苏宁的大数据平台 数据源 存储层 计算层 服务层
  4. 4. HDFS在苏宁的使用 集群1 •  528 datanodes * 40TB/ node •  DFS Used: –  1.3PB –  1.3亿的文件和目录 –  1.3亿的块 集群2 •  100 datanodes * 40TB/ node •  DFS Used: –  1PB –  5千万的文件和目录; –  5千万的块 其他:为Hbase搭建的HDFS集群
  5. 5. 单一的HDFS集群存在的问题 •  HDFS namenode在高并发的情况下的RPC延迟很高; –  Client cloud not complete file,从而导致任务失败; –  Datanode Last contact时间较长,在namenode重启的时候较为明显; 在高并发的情况下,HDFS 的水平扩展能力不足。
  6. 6. 多HDFS集群的解决方案 •  将HDFS的集群进行拆分;需要考虑的问题有: –  底层的多HDFS集群对用户透明; –  跨集群的数据访问; –  集群切分的维度; •  HDFS社区的解决方案: –  Federation + viewFs –  HDFS Router •  苏宁的解决方案: –  Alluxio Proxy: 利用Alluxio的UnifiedNameSpace功能,选取Alluxio作为多HDFS集群 或者其他存储集群的统一入口;
  7. 7. 社区的解决方案 •  Federation + viewFs: – 可以解决HDFS的横向扩展问题; – 该方案是在client端通过配置来实现路由功能的; 不利于大规模集群的运维和管理; •  Router: – HDFS 2.9.0 release;
  8. 8. Alluxio – Unifiy data at memory speed
  9. 9. 使用Alluxio遇到的问题 •  多HDFS集群的Metadata都会进入到Alluxio Master中, Alluxio Master会遇到内存的瓶颈; –  通过测试,相比于HDFS,Alluxio的Metadata消耗的内存 为HDFS的一倍; •  Alluxio Client和Master的连接是长连接 •  Alluxio不支持Append操作; •  Client的兼容性问题;
  10. 10. Alluxio Proxy的架构图
  11. 11. Alluxio Master的元数据量 •  解决办法:各自管理自己存储空间的数据 的元数据; Alluxio Master HDFS NameNode 只管理Cache在Alluxio Space中数据的元数据 管理HDFS Space中数据的元数据
  12. 12. Alluxio Master的长连接问题 •  解决办法: – Client主动去关闭connect; – 通过测试,client reconnect的时间消耗 < 1ms, 在苏宁的使用场景中,可以接受;
  13. 13. Client支持Append操作 •  由于采用分层管理,各自管理自己Space的 数据的元数据信息,所以在client可以支持 直接through到底层的分布式文件中进行 append操作;
  14. 14. Client端兼容性 •  在实际使用中,Alluxio Proxy在Client以 plugin的形式提供服务,整个过程中对用户 是无感知的; •  由于是部署在client,所以和相关组件的依 赖兼容,从而导致任务失败; •  解决办法:将Alluxio runtime相关的jar包全 部shaded;
  15. 15. Alluxio Proxy总结 •  利用Alluxio的Unified Namespace功能实现多HDFS集 群的统一入口; –  MountTable在Alluxio Master端保存,便于运维和管理; –  Alluxio的Master具有HA机制; •  在路由的功能之上,对热数据进行缓存,从而对计 算进行加速; •  将临时的,不需要落地的数据直接放在Alluxio的内 存中,从而减少namenode的元数据的频繁的增加和 删除;
  16. 16. Alluxio Proxy在苏宁的使用 Alluxio 集群的规模 •  2 masters + 3 workers •  Alluxio当前只用于多HDFS 集群的路由功能; •  按照用户对HDFS集群进行 切分; 集成的组件 •  Hadoop(HDFS + YARN) •  Hive •  Spark •  Flink •  Druid •  Sqoop •  Hbase •  Flume •  OLAP
  17. 17. Alluxio Proxy的规划 •  推进Alluxio Proxy成为分布式系统的存储统 一入口; •  利用Alluxio的缓存功能; •  积极参与社区的发展;
  18. 18. Q&A
  19. 19. Thanks

×