我们有 600TB 的 EMC SAN 存储。目前,Oracle RAC 正在使用此存储。出于可扩展性的原因,我们正在用 Hadoop 存储(Yarn、Spark - Hive、Shark)替换 Oracle RAC - 尽管我们在性能上有所妥协。
对于 Hadoop,建议使用本地存储而不是 SAN 存储。但是我们的管理层不愿意浪费SAN存储。他们希望保护对 SAN 存储的投资。
我们怎样才能最好地将 SAN 用于 Hadoop?以太网升级会有帮助吗?最大限度地利用 SAN 存储(如 Hadoop 存储)的选项有哪些。
最佳答案
假设我们使用相同的术语——特别是 SAN 是通过光纤 channel 网络访问的 block 设备——那么“本地存储”和“san 存储”之间没有太大区别。
您从中获得的性能受到相同因素的限制 - Controller 数量、主轴数量、争用率等。您首先购买存储阵列/SAN 的原因是因为这样您就可以整合您的工作负载并以相同(或更低)的平均值获得更高的突发性能。
然而,还有一个额外的因素 - SAN 通常会包含一个结构,这是一个用于承载磁盘存储流量的网络。您为其使用的交换机通常具有高性能/低延迟 - 但它们也可能成为瓶颈和争论点。
Hadoop...通过使用 HDFS 有效地做同样的事情——使用它的多个本地磁盘来获得大的“突发”。这本质上会导致您的 SAN 争用,因此您不会再获得太多整合优势 - 您最终可能会变得更糟,因为争用意味着瓶颈和延迟。
如果您的存储阵列具有良好的峰值吞吐量、良好的重复数据删除机制和大型缓存,您可能会发现情况会更好。只要确保您有足够的端到端峰值吞吐量和 IOP 容量即可。 可能您会发现您的情况比实际情况更糟 - 但是您是否应该以更低的成本重用某些东西,而不是支付额外费用来正确地做这件事更像是一种 IT 政策的决定,而不是一个技术的。
关于Hadoop SAN 存储重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24177360/