You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Aerospike单节点集群部署失败:DISALLOW MIGRATIONS报错排查

问题分析与解决方案

问题核心

从日志可见,你的单节点Aerospike集群误识别为多节点集群(日志中SUCCESSION条目列出了6个节点ID),导致触发重平衡流程并禁止数据迁移,最终引发AEROSPIKE_ERR_CLUSTER(11)插入错误。

原因

Aerospike启动时会读取存储的集群元数据(SMD文件),如果之前该节点曾加入过多节点集群,残留的元数据会让它误以为仍处于多节点环境,进而启动重平衡逻辑。

解决步骤

1. 清理残留集群元数据

  • 停止Aerospike服务:
    service aerospike stop
    
  • 删除SMD(State Management Data)目录下的所有文件(默认路径,若自定义了存储路径请替换):
    rm -rf /var/lib/aerospike/smd/*
    
  • 若使用SSD存储引擎,同时清理对应命名空间的数据文件(新集群无数据可直接删除,有数据请先备份):
    # 示例:删除test命名空间的SSD数据文件
    rm -rf /grid/1/aerospike/test.dat
    

2. 确认单节点配置

编辑Aerospike配置文件(默认路径/etc/aerospike/aerospike.conf):

  • 检查service块,确保cluster-name为唯一值(避免与旧集群重名);
  • 配置heartbeat为单节点模式:
    network {
        service {
            address any
            port 3000
        }
        heartbeat {
            mode solo
            port 3002
            interval 150
            timeout 10
        }
    }
    

    注:mode solo会强制节点以单节点运行,不参与任何集群发现。

3. 重启服务并验证

  • 启动Aerospike服务:
    service aerospike start
    
  • 查看日志,确认SUCCESSION条目仅包含当前节点ID,且无DISALLOW MIGRATIONS的异常提示;
  • 用aql测试插入操作:
    INSERT INTO test.demo (PK, name) VALUES ('1', 'test_data');
    
    若返回OK, 1 record affected.则问题解决。

内容的提问来源于stack exchange,提问作者Deepti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 06:36:27