参考资料

  1. Amazon Linux 是亚马逊 AWS 官方维护的 Linux 发行版
  2. Alpine Linux 是一个轻量级的 Linux 发行版
  3. XXL-JOB 是一个分布式任务调度平台
  4. Draw 是一款开源的绘图工具
  5. docker镜像源配置详细说明以及案例
  6. docker安装redis详细说明以及案例
  7. PyPy 是一个 Python 解释器的替代实现,使用 RPython(受限 Python)编写
  8. OnlyOffice 是一款开源办公套件

Aerospike 简介

Aerospike 是一个高性能、分布式 NoSQL 数据库,专为实时事务和大规模数据存储优化,适用于低延迟、高吞吐量的场景。

特点

  1. 高性能:支持亚毫秒级读写延迟。

  2. 可扩展性:分布式架构,支持线性扩展。

  3. 强一致性:支持 ACID 事务(单记录级别)。

  4. 混合存储:支持内存(RAM)和 SSD 存储。

  5. 自动分片与复制:数据自动分片(Partitioning)和复制(Replication)。

  6. 多语言支持:提供 Java、Python、Go、C# 等客户端 SDK。

最新更新内容及时间

  • Aerospike Server 7.0(2023年发布)

    • 支持 JSON 文档存储与查询。

    • 增强的二级索引(Secondary Index)功能。

    • 改进的跨数据中心复制(XDR)。

    • 更细粒度的权限控制(Role-Based Access Control)。

镜像下载地址

官网地址

文档地址

Docker 安装示例

docker run -d --name aerospike -p 3000:3000 -p 3001:3001 -p 3002:3002 -p 3003:3003 aerospike/aerospike-server
  • 3000: 客户端访问端口

  • 3001: Fabric 端口(集群通信)

  • 3002: 心跳端口(节点健康检测)

  • 3003: Info 端口(监控与管理)

.yaml 配置文件示例

aerospike.conf 示例)

service {
    user root
    group root
    paxos-single-replica-limit 1
}

network {
    service {
        address any
        port 3000
    }

    heartbeat {
        mode multicast
        address 239.1.99.222
        port 9918
    }

    fabric {
        port 3001
    }

    info {
        port 3003
    }
}

namespace test {
    replication-factor 2
    memory-size 4G
    storage-engine device {
        file /opt/aerospike/data/test.dat
        filesize 16G
    }
}

常见错误及解决方案

  1. 节点无法加入集群

    • 检查 heartbeat 配置(多播或单播模式)。

    • 确保防火墙开放 3000-3003 和心跳端口(默认 9918)。

  2. 存储设备初始化失败

    • 确保数据目录权限正确(chown -R aerospike:aerospike /opt/aerospike/data)。

  3. 客户端连接超时

    • 检查服务端口(3000)是否监听:netstat -tulnp | grep 3000

    • 确保客户端配置正确的集群节点 IP。

  4. 内存不足(OOM)

    • 调整 namespacememory-size 参数。

  5. 二级索引查询慢

    • 优化索引策略,避免全表扫描。

如需更详细配置,请参考官方文档。