Aerospike:错误导致群集失败(重启一个节点时在2节点群集上)

时间:2016-03-21 07:45:38

标签: aerospike

我正在使用Aerospike 3.7.3和python客户端2.x

我有两个节点集群,每个节点消耗100G数据。由于某些问题,我已经停止了一个节点,并以cold-start-empty = true开始。

  1. 第一个问题是,完成迁移大约需要9个小时。通常花9个小时?

  2. 在迁移期间连接到群集时,会出现以下错误(30%的时间)。 (在群集中启动其中一个节点时)

        aerospike_config = {
          'hosts': [ ('212.16.290.10', 3000), ('212.16.290.11', 3000),],
          'policies': {
             'timeout': 10, # milliseconds
             'key': aerospike.POLICY_KEY_SEND
           }
        }
    
    
    client  = aerospike.client(aerospike_config).connect()
    
    exception.ClientError: (-1L, 'Failed to seed cluster', 'src/main/aerospike/as_cluster.c', 417)
  3. 请帮助。

1 个答案:

答案 0 :(得分:2)

当您执行冷启动时,您创建了一个节点,其中一个节点具有100%的数据,另一个节点具有0%的数据。您不允许它读取磁盘并恢复之前的50%,之后您检查数据是否不同步。此时,迁移的长度取决于诸如磁盘的读取速度以及将其中一半传送到相对节点的网络,这些都在处理传入的工作时。迁移长度不仅取决于您的硬件,还取决于您的配置。请参阅migrate-threadsmigrate-xmit-hwmmigrate-xmit-lwmmigrate-xmit-prioritymigrate-xmit-sleep和其他配置参数。

对于您的其他问题,您将连接超时限制从默认值1s设置为10毫秒。我对您的节点或工作负载了解不多,但这是一个非常低的连接超时。如果您在30%的时间内看到该错误设置得太低。基本上,无法为群集播种意味着客户端无法连接到您在10ms内提供的任何IP,因此它无法获取种子节点,该节点是从中获取有关其他节点的节点。集群,并抓取分区表。