当前位置: 首页 > 网络应用技术

如何测试实验室中成千上万的数据湖泊

时间:2023-03-08 14:37:10 网络应用技术

  随着时代的发展,数据变得更加开放和共享,客户的业务也面临多元化的处理。原始集群需要扩大容量。此外,它被迫建造原始的小规模集群的构建越来越紧迫。在这种情况下,成千上万规模的群集远非满足客户的业务需求,因此迫切需要建立TENS成千上万的数据湖泊。

  以及成千上万的数据湖如何测试实验室测试,性能,可靠性和其他方面,这也已成为我们的研发团队需要考虑的问题。

  在正常情况下,我们的软件直接部署在实物设备上进行测试。30,000个节点的大簇需要30,000个实体设备。在实验室条件下,这显然无法满足。它需要是虚拟化技术。

  结合我们的大数据产品的特性,其节点类型被分为管理节点,控制节点和数据节点。在实际的部署和使用过程中,管理节点和控制节点通常在大型集群的规模下变成瓶颈。测试观察项目应该用作第一次。因此,如何有效地使用有限的实验室资源进行有效测试?我们比较了Docker容器和虚拟机。我们发现,Docker容器采用共享的OS方法,比虚拟机占用的资源少,并且隔离也可以满足我们的需求。因此,我们为实验环境使用以下方式。

  我们将Docker Swarm用于Docker容器管理。由于Kubernetes,Docker swarm较轻,非常方便地安装和卸载。此外,您可以通过级别的连接构建一个大型群集。

  让我们看一下其网络:

  在此测试计划下,64U256G物理机器可以通过60 1U4G数据节点进行,而200个机器可以测试数以万计的节点。

  在实施过程中,我们还踩了许多坑,例如:

  解决方案:直接跳过安装过程,在Docker Mirror中设置一个启动脚本,然后在拉动镜像时直接启动数据节点。在这样,在管理节点下避免了软件包,以及安装和部署小型资源环境中的软件包很慢。

  解决方案:在实际的测试扩展和收缩中,将物理节点用于测试,以避免在小型资源环境中的扩张和缓慢收缩的问题。

  解决方案:使用Docker Swarm进行网络设计将网络范围划分为每个物理节点,以便将永远不会重复在不同节点上启动的Docker数据节点。

  为了促进网络和测试,我们使用了Mac-Vlan的网络方法。通过这种方式,存在广播风暴的问题。我们使用ARP静态缓存来避免此问题。

  解决方案:计划针对不同目录的Docker数据节点。在镜像启动过程中,将带有Docker名称作为变量的目录在磁盘上划分,以有效解决目录冲突问题。

  以上是我们在环境构建过程中遇到的一些问题。让我们看一下“产品软件”级别的改进项目,下一期。

  本文分享了华为云社区的诚意,作者:老年人和海洋。