下载
中文
注册

大规模集群场景报建链失败错误

问题现象

大规模集群场景执行HCCL Test测试工具,报建链失败的错误,但是拆分成小规模集群分别测试正常。

原因分析

  • Master节点建链时处理的数据量较大,建链默认等待超时时间120s若无法满足需求,会建链失败。
  • Master节点允许处理的并发建链数受linux内核参数“somaxconn”与“tcp_max_syn_backlog”的限制,所以,针对大规模集群组网,若“somaxconn”与“tcp_max_syn_backlog”取值较小会导致部分客户端概率性提前异常退出,导致集群初始化失败。

解决步骤

  1. 调大建链超时等待时间。

    通过环境变量HCCL_CONNECT_TIMEOUT(单位为s)进行设置,建议根据集群组网的规模适当调大。例如:

    # 3K卡场景
    export HCCL_CONNECT_TIMEOUT=240
    
    # 5K卡场景
    export HCCL_CONNECT_TIMEOUT=600
  2. 根据集群数量调整“somaxconn”与“tcp_max_syn_backlog”参数的值。

    需要注意,所有机器的OS都需要配置,包括裸机、镜像环境,配置示例如下:

    sysctl -w net.core.somaxconn=65535 
    sysctl -w net.ipv4.tcp_max_syn_backlog=65535