阿里巴巴Hadoop运维实战:监控与性能调优

2星 需积分: 34 21 下载量 47 浏览量 更新于2024-07-25 2 收藏 278KB PPTX 举报
“阿里的hadoop运维经验分享” 阿里在Hadoop运维方面积累了丰富的经验,从集群搭建、监控到性能调优,以及如何避免系统崩溃,都有深入实践和见解。以下是对这些关键点的详细说明: 1. **Hadoop集群搭建**: - 赵云炯曾在阿里巴巴担任云梯管理员,负责搭建和维护Hadoop集群。 - 集群的稳定性至关重要,通常采用sas+raid10配置以保证磁盘的可靠性。 - 使用active-backupbonding和IPalias来增强网络的冗余和可用性。 - 通过NameQuota和SpaceQuota设置限制,防止用户过度占用存储空间。 - 实施严格的权限控制,确保数据安全。 - 开启Rackawareness,使数据分布更均衡,提高容错能力。 2. **监控**: - 监控Tasktracker和Datanode的数量,及时发现异常情况。 - 关注大作业的执行,特别是那些读写数据量大、运行时间长的作业,它们可能对系统造成压力。 - 实时检查HDFS的健康状态,例如10分钟进行一次fsck操作,确保文件系统的完整性。 - 重视垃圾收集(GC)行为,尤其是FullGC,它可能影响系统性能。 3. **性能调优**: - 在Namenode上控制内存,调整相关参数如`mapred.jobtracker.maxtasks.per.job`等,优化任务调度。 - 设置合理的checkpoint策略,如`fs.checkpoint.period`和`fs.checkpoint.size`,确保NameNode的稳定。 - 对SecondaryNamenode的硬盘进行优化,例如采用2T*12的磁盘,并使用ext4文件系统,启用noatime选项。 - 定期检查和更换故障磁盘,保持硬件的健康状态。 - 对于网络,如果条件允许,可以考虑使用模式4的bonding以提升带宽和冗余。 - 优化内存分配,如使`Xms`和`Xmx`相等,以避免频繁的内存调整。 - 推荐使用CMS垃圾收集器,因其低停顿时间。 - 缩短Editlog的锁持有时间和减少锁的频率,比如通过blockReport来降低锁粒度,使用读写锁来提升调度效率。 4. **Hadoop如何被搞垮**: - 所有更改FSNamesystem的RPC调用都需要等待Editlog同步到磁盘,这可能导致锁竞争和性能瓶颈。 - 长时间的GC暂停可能导致任务延迟,影响整体作业的执行效率。 - 不恰当的内存分配和资源调度可能导致资源争抢,影响系统性能。 阿里在Hadoop运维中强调了系统稳定性、监控效率和性能优化的重要性,通过一系列精细的操作,确保了大规模Hadoop集群的高效稳定运行。对于任何处理大数据的企业来说,这些经验都具有很高的参考价值。