参考资料

  1. Docker Compose的作用是什么?
  2. DeepSeek-R1 是一款高性能的开源大语言模型,由深度求索(DeepSeek)团队研发
  3. Cloudreve 启用 JWT(JSON Web Tokens)加密通信
  4. Amazon Linux 是亚马逊 AWS 官方维护的 Linux 发行版
  5. ERPNext 14 是一款开源的企业资源规划(ERP)系统
  6. Memcached 是一个高性能、分布式的内存缓存系统
  7. Docker在CI/CD中的作用是什么?
  8. AlmaLinux 是一个开源、企业级的 Linux 发行版

Apache Cassandra 是一个开源的分布式 NoSQL 数据库系统

Cassandra 详细简介

Apache Cassandra 是一个开源的分布式 NoSQL 数据库系统,设计用于处理大规模数据跨多个数据中心和云的高可用性需求。它采用无单点故障的架构,支持线性扩展,适用于需要高吞吐量和低延迟的应用场景。

特点

  1. 分布式架构:数据自动分区和复制,无单点故障。

  2. 高可用性:支持多数据中心复制,自动故障恢复。

  3. 线性扩展:通过添加节点轻松扩展。

  4. 灵活的数据模型:基于列族(Column Family)的宽列存储模型。

  5. 高性能:支持高吞吐量和低延迟的读写操作。

  6. 最终一致性:可配置的一致性级别(如 ONE、QUORUM、ALL)。

  7. CQL(Cassandra Query Language):类似 SQL 的查询语言。

最新更新内容及时间

  • 最新版本:4.1.3(截至 2023 年 10 月)

  • 主要更新

    • 性能优化和 Bug 修复。

    • 改进的存储引擎和压缩策略。

    • 增强的监控和管理功能。

镜像下载地址

官网地址

阅读文档地址

Docker 安装示例

# 拉取最新 Cassandra 镜像
docker pull cassandra:latest

# 运行 Cassandra 容器
docker run --name my-cassandra -d -p 9042:9042 cassandra:latest

# 进入 CQL Shell
docker exec -it my-cassandra cqlsh

YAML 设置教程(cassandra.yaml 关键配置)

  1. 集群名称

    cluster_name: 'MyCluster'
  2. 种子节点

    seeds: "ip1,ip2"
  3. 监听地址

    listen_address: <node_ip>
    rpc_address: <node_ip>
  4. 数据目录

    data_file_directories:
      - /var/lib/cassandra/data
    commitlog_directory: /var/lib/cassandra/commitlog
    saved_caches_directory: /var/lib/cassandra/saved_caches
  5. 调优参数

    concurrent_reads: 32
    concurrent_writes: 32

常用错误及问题

  1. 启动失败:端口冲突

    • 检查 9042(CQL)和 7000(集群通信)端口是否被占用。

  2. 节点无法加入集群

    • 确认 seeds 配置正确且网络互通。

    • 检查防火墙设置。

  3. 磁盘空间不足

    • 监控 data_file_directoriescommitlog_directory 的磁盘使用情况。

  4. CQL 连接超时

    • 确保 rpc_address 配置为可访问的 IP,非 localhost

  5. 一致性级别冲突

    • 根据需求调整一致性级别(如 QUORUMLOCAL_QUORUM)。

  6. Schema 冲突

    • 避免多节点同时修改 Schema,使用协调工具(如 nodetool repair)。

  7. JVM 内存不足

    • 调整 jvm.options 中的堆内存设置(如 -Xms4G -Xmx4G)。