参考资料

  1. Django 是一个高级 Python Web 框架,鼓励快速开发和干净、实用的设计。
  2. SonarQube 是一个开源的代码质量管理平台
  3. Alpine Linux 是一个轻量级的 Linux 发行版
  4. Squid是一款开源的代理服务器和Web缓存服务器
  5. Satosa 是一个高度可配置的 Python 实现的身份代理
  6. irssi 是一个基于终端的开源 IRC 客户端,支持多服务器连接、可定制界面和脚本扩展。
  7. OpenJDK(Open Java Development Kit)是 Java 平台的开源实现
  8. Python 是一种高级、解释型、通用的编程语言

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