当前位置: 首页 > 科技观察

构建大数据网络需要注意六点

时间:2023-03-20 23:04:55 科技观察

当我们想到大数据时,我们注意到“大”这个词,但在构建基础设施时,我们也应该关注“分布式”。事实上,大数据应用需要处理的是大规模的信息,为了弹性,数据会被复制到多个位置,信息的规模会越来越大。然而,大数据最重要的属性不是它的大小,而是它能够将一个大作业分割成许多小作业,并且可以将处理一个任务的资源分配到多个位置进行并行处理。当结合大规模和分布式架构时,我们可以看到大数据网络有一组特殊的要求。以下是需要考虑的六个方面:1.网络弹性和大数据应用当存在一组必须跨互联网协调的分布式资源时,可用性变得至关重要。如果网络出现故障,后果是不良计算资源和数据集的不连续流动。准确地说,大多数网络架构师和工程师最关心的是正常运行时间。但是,网络停机的根本原因各不相同。它们可能由多种来源引起,包括设备故障(硬件和软件)、维护和人为错误。失败是不可避免的。虽然网络的高可用性也很重要,但不可能设计出完美的可用性。网络架构师不应使用故障来逃避目标,而应设计能够适应故障的弹性网络。网络的弹性取决于路径多样性(在资源之间设置多条路径)和故障转移(快速检测问题并转移到其他路径的能力)。除了传统的平均故障间隔时间(MTBF)方法之外,大数据网络的真正设计标准必须包括这些特性。2、解决大数据应用中的网络拥塞问题。大数据应用不仅规模大,而且有一个特点,我称之为突发性。当作业开始时,数据开始流动。在交通繁忙的时期,拥堵是一个严重的问题。但是,拥塞可能会导致队列延迟时间和丢包率增加。此外,拥塞会触发重传,这会使本来就负载很重的网络不堪重负。因此,网络架构设计时应尽量减少拥塞点。作为可用性的设计标准,减少拥塞需要具有高路径多样性的网络,这允许网络将流量分散到大量不同的路径上。3.网络一致性比大数据延迟更重要事实上,大多数大数据应用对网络延迟并不敏感。如果计算时间是秒或分钟的数量级,那么网络上是否存在较大的延迟(数千毫秒的数量级)并不重要。但是,大数据应用一般都具有很高的同步性。这意味着作业是并行执行的,作业之间的巨大性能差异可能会导致应用程序失败。因此,网络不仅要足够高效,还要在空间和时间上具有一致的性能。4.现在为大数据的未来可扩展性做好准备大多数大数据集群实际上并没有那么大,这可能有点令人惊讶。很多人都知道雅虎在其大数据环境中运行了超过42,000个节点,但根据Hadoop向导,2013年大数据集群中的平均节点数仅为100个。也就是说,即使每台服务器都配置了双冗余,只需要四台接入交换机(假设Broadcom交换机分别具有72个10GbE接入端口)即可支持整个集群。可扩展性不在于集群现在有多大,而是如何平衡扩展以支持未来的部署规模。如果基础设施设计现在只适合小型部署,那么随着节点数量的增加,这种架构将如何演化?在未来的某个时候,它是否需要完全重新架构?这种架构是否需要一些近距离数据和数据位置信息?要记住的关键是,可扩展性与绝对规模无关,而更多地与实现足够规模的解决方案的路径有关。5.通过网络分割处理大数据网络分割是创建大数据环境的重要条件。在最简单的形式中,分段可能意味着将大数据流量与其他网络流量分开,以便应用程序生成的突发流量不会影响其他关键任务工作负载。除此之外,我们还需要处理运行多个作业的多个租户以满足性能、合规性和/或审计要求。这些任务在某些情况下需要网络负载的逻辑分离,在某些情况下需要物理分离。架构师需要同时在两方面进行规划,但最初的需求最好统一在一起。6、大数据网络的应用意识虽然大数据的概念与Hadoop部署密切相关,但它已经成为集群环境的代名词。根据不同应用的特点,这些集群环境的需求各不相同。有些可能需要大量带宽,而另一些可能对延迟敏感。总之,对于一个支持多应用和多租户的网络来说,它必须能够区分自己的工作负载并正确处理每个工作负载。大数据网络设计的关键是要明白需求不仅仅是提供足够的东西向带宽。归根结底,应用程序体验取决于许多因素,包括网络拥塞和碎片化。创建满足所有这些需求的网络需要具有前瞻性,不仅要考虑基础设施可以支持多大的规模,还要考虑不同类型的应用程序如何在一个共同的环境中共存。