参考资料

  1. ClefOS 是一款基于开源技术的轻量级 Linux 发行版
  2. Python 是一种高级、解释型、通用的编程语言
  3. Odoo 是一款开源的企业资源规划(ERP)和客户关系管理(CRM)软件
  4. Arch Linux 是一个轻量级、灵活的 Linux 发行版
  5. Groovy 是一种基于 JVM 的动态编程语言
  6. irssi 是一个基于终端的开源 IRC 客户端,支持多服务器连接、可定制界面和脚本扩展。
  7. Adminer(原名 phpMinAdmin)是一个轻量级、开源的数据库管理工具
  8. Oracle Linux 是由 Oracle 公司提供的企业级 Linux 发行版

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)。