参考资料

  1. 1Panel 是一个现代化的开源 Linux 服务器运维管理面板
  2. Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储系统
  3. JupyterHub 是一个多用户版本的 Jupyter Notebook
  4. docker安装mysql详细说明以及案例
  5. Aerospike 是一个高性能、分布式 NoSQL 数据库
  6. 青龙面板(QingLong)是一款开源的、基于Web的定时任务管理平台
  7. MongoDB 是一个开源的 NoSQL 数据库
  8. Source Mage是一个基于源代码的Linux发行版,采用类似BSD Ports的包管理系统

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. 二级索引查询慢

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

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