360公司基于HDFS的分布式下载平台实践

需积分: 0 1 下载量 14 浏览量 更新于2024-07-23 收藏 416KB PDF 举报
"唐会军分享了360公司如何基于HDFS构建一个高效的在线下载平台。这个平台在1000台服务器上运行,分布在近100个IDC,处理流量接近300Gb,显著降低了运维难度并提升了服务可靠性。" 在360的下载平台中,Hadoop分布式文件系统(HDFS)扮演了核心角色。平台的架构分为下载集群总体架构、下载集群内部结构以及下载服务器的具体配置。下载服务器采用Nginx作为前端代理,与Fuse和DataNode结合,硬盘配置为12块SATA硬盘,无Raid卡,配备3块网卡,其中2个用于外网,1个用于内网。 平台的优势在于: 1. **发布和调度简化**:通过将发布和调度单位从单个下载服务器转变为HDFS集群,大大减少了复杂度,因为集群数量远小于服务器数量。 2. **更好的扩展性**:增加Nginx+DN组合可以轻松扩展单个集群的下载能力,且扩展过程无需人工同步数据,对调度系统透明。 3. **增强的容错性**:具备全局和局部的容错机制。调度系统健康检查确保集群故障时流量自动切换,LVS保证单台服务器宕机不影响下载服务,HDFS的多副本机制防止硬盘损坏影响服务。 4. **优化的IO性能**:利用HDFS的数据块分布,充分利用多块硬盘的I/O能力,相比使用RAID卡,性能提升显著。 然而,平台也面临一些问题: 1. **NameNode单点故障**:当NameNode宕机时,整个集群不可用。解决方案是通过集群间的冗余和健康检查,以及尝试Facebook的Avatar方案。 2. **状态汇报影响性能**:随着文件数量增加,块汇报和容量汇报变得繁重。改进措施包括使用df代替du获取容量,以及在最新不稳定版本1.1.0中对块汇报进行优化。 总结来说,360的HDFS下载平台证明了HDFS在提供在线下载服务方面的可行性,并在实际运行中保持了一年多的稳定表现。通过利用HDFS的特性,360成功地实现了大规模、高可用和高性能的下载服务。