专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

热门搜索:openclaw🔥nginx🔥redis🔥mysqlopenjdkcursorweb2apimemgraphzabbixetcdubuntucorednsjdk
cassandra

library/cassandra

Docker 官方镜像

Apache Cassandra是一款开源的分布式存储系统。

1.6千 次收藏下载次数: 0状态:Docker 官方镜像维护者:Docker 官方镜像仓库类型:镜像最近更新:19 天前
轩辕镜像,不浪费每一次拉取。点击查看
版本下载
轩辕镜像,不浪费每一次拉取。点击查看

Cassandra Docker镜像技术文档

镜像概述与主要用途

Apache Cassandra 是一个开源分布式数据库管理系统,设计用于跨多台商用服务器处理大量数据,提供高可用性且无单点故障。该系统支持跨多个数据中心的集群部署,通过异步无主复制机制为所有客户端提供低延迟操作。作为分布式存储系统,Cassandra 适用于需要横向扩展、高吞吐量和容错能力的场景。

核心功能与特性

  • 分布式架构:跨多台服务器分布式存储数据,支持水平扩展,轻松应对数据量增长。
  • 高可用性与容错:无单点故障设计,节点故障不影响整体集群可用性,自动数据复制确保数据冗余。
  • 多数据中心支持:原生支持跨地域/数据中心部署,可配置数据中心和机架信息,优化数据分布与容错。
  • 异步无主复制:节点间通过 gossip 协议通信,异步复制数据,降低延迟并提升写入性能。
  • 灵活配置选项:支持自定义监听地址、广播地址、集群名称、令牌数量等关键参数,适配不同部署需求。
  • CQL 支持:通过 Cassandra Query Language (CQL) 进行数据操作,语法类 SQL,易于使用。

使用场景与适用范围

  • 大规模数据存储:适用于 TB/PB 级别的结构化或半结构化数据存储需求。
  • 高可用性需求:***、电商、物联网等对服务连续性要求极高的业务场景。
  • 跨地域部署:需要在多个数据中心/地域分布数据,实现低延迟访问和灾难恢复。
  • 写入密集型应用:社交媒体、日志收集、实时分析等写入吞吐量要求高的场景。
  • 横向扩展需求:业务增长快,需通过添加节点快速扩展存储和处理能力的系统。

支持的标签与 Dockerfile 链接

标签Dockerfile 链接
5.0.5, 5.0, 5, latest, 5.0.5-jammy, 5.0-jammy, 5-jammy, jammyhttps://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/5.0/Dockerfile
4.1.10, 4.1, 4, 4.1.10-jammy, 4.1-jammy, 4-jammyhttps://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/4.1/Dockerfile
4.0.18, 4.0, 4.0.18-jammy, 4.0-jammyhttps://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/4.0/Dockerfile
3.11.19, 3.11, 3, 3.11.19-jammy, 3.11-jammy, 3-jammyhttps://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/3.11/Dockerfile
3.0.32, 3.0, 3.0.32-jammy, 3.0-jammyhttps://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/3.0/Dockerfile

快速参考

  • 维护者:https://github.com/docker-library/cassandra
  • 获取帮助:Docker Community Slack、Server Fault、Unix & Linux 或 Stack Overflow
  • 提交 issue:https://github.com/docker-library/cassandra/issues?q=
  • 支持的架构:amd64、arm32v7、arm64v8、ppc64le、s390x(https://github.com/docker-library/official-images#architectures-other-than-amd64%EF%BC%89
  • 镜像 artifact 详情:https://github.com/docker-library/repo-info/blob/master/repos/cassandra%EF%BC%88%E5%8C%85%E5%90%AB%E5%85%83%E6%95%B0%E6%8D%AE%E3%80%81%E4%BC%A0%E8%BE%93%E5%A4%A7%E5%B0%8F%E7%AD%89%EF%BC%89
  • 镜像更新:https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcassandra 及 https://github.com/docker-library/official-images/blob/master/library/cassandra
  • 文档来源:https://github.com/docker-library/docs/tree/master/cassandra

使用方法与配置说明

启动单个 Cassandra 服务实例

启动 Cassandra 实例的基本命令如下:

bash
docker run --name some-cassandra --network some-network -d cassandra:tag
  • --name some-cassandra:指定容器名称(可自定义)。
  • --network some-network:将容器加入自定义网络(建议使用,便于集群通信)。
  • -d:后台运行容器。
  • cassandra:tag:指定镜像标签(如 latest、5.0 等,见“支持的标签”)。

创建 Cassandra 集群

通过环境变量可配置两种集群场景:同机多节点和跨机多节点。

同机集群

  1. 启动第一个节点(种子节点):

    bash
    docker run --name some-cassandra --network some-network -d cassandra:tag
    
  2. 启动后续节点,指定种子节点为第一个节点的容器名:

    bash
    docker run --name some-cassandra2 --network some-network -d -e CASSANDRA_SEEDS=some-cassandra cassandra:tag
    

跨机集群(如两台云服务器)

假设服务器 A IP 为 10.42.42.42,服务器 B IP 为 10.43.43.43。

  1. 服务器 A 启动种子节点,暴露 gossip 端口(7000)并指定广播地址:

    bash
    docker run --name some-cassandra -d -e CASSANDRA_BROADCAST_ADDRESS=10.42.42.42 -p 7000:7000 cassandra:tag
    
  2. 服务器 B 启动节点,指定种子节点为服务器 A 的 IP,并暴露端口:

    bash
    docker run --name some-cassandra -d -e CASSANDRA_BROADCAST_ADDRESS=10.43.43.43 -p 7000:7000 -e CASSANDRA_SEEDS=10.42.42.42 cassandra:tag
    

通过 cqlsh 连接 Cassandra

使用 cqlsh(Cassandra 查询语言 shell)连接运行中的 Cassandra 容器:

bash
docker run -it --network some-network --rm cassandra cqlsh some-cassandra
  • -it:交互模式,分配终端。
  • --network some-network:与目标 Cassandra 容器在同一网络。
  • --rm:命令执行后自动删除临时容器。
  • some-cassandra:目标 Cassandra 容器名称(或 IP)。

更多 CQL 语法参考 Cassandra 官方文档。

容器 shell 访问与日志查看

进入容器 shell

通过 docker exec 进入运行中的容器:

bash
docker exec -it some-cassandra bash

查看 Cassandra 日志

通过 Docker 容器日志命令查看 Cassandra 服务日志:

bash
docker logs some-cassandra

配置 Cassandra

自定义配置文件(推荐)

最灵活的方式是通过挂载自定义 cassandra.yaml 文件覆盖默认配置:

bash
docker run --name some-cassandra -v /path/on/host/cassandra.yaml:/etc/cassandra/cassandra.yaml -d cassandra:tag

如需使用非默认配置文件名,可通过启动参数指定:

bash
docker run --name some-cassandra -d cassandra:tag -Dcassandra.config=/path/to/custom-config.yaml

环境变量配置

镜像支持通过环境变量修改 cassandra.yaml 及 cassandra-rackdc.properties 中的关键配置,如下表:

环境变量描述默认值对应配置项
CASSANDRA_LISTEN_ADDRESS监听入站连接的 IP 地址。auto(容器启动时 IP)cassandra.yaml 的 listen_address
CASSANDRA_BROADCAST_ADDRESS向其他节点广播的 IP 地址(用于集群通信)。CASSANDRA_LISTEN_ADDRESS 的值cassandra.yaml 的 broadcast_address 和 broadcast_rpc_address
CASSANDRA_RPC_ADDRESSThrift RPC 服务器绑定地址。0.0.0.0(通配地址)cassandra.yaml 的 rpc_address
CASSANDRA_START_RPC是否启动 Thrift RPC 服务器。falsecassandra.yaml 的 start_rpc
CASSANDRA_SEEDS集群启动时 gossip 协议的种子节点 IP 列表(逗号分隔)。自动添加当前节点 IPcassandra.yaml 的 seed_provider 中的 seeds
CASSANDRA_CLUSTER_NAME集群名称(所有节点必须一致)。Test Clustercassandra.yaml 的 cluster_name
CASSANDRA_NUM_TOKENS节点的令牌数量(影响数据分片)。256cassandra.yaml 的 num_tokens
CASSANDRA_DC节点所属数据中心名称(需配合 GossipingPropertyFileSnitch)。-cassandra-rackdc.properties 的 dc
CASSANDRA_RACK节点所属机架名称(需配合 GossipingPropertyFileSnitch)。-cassandra-rackdc.properties 的 rack
CASSANDRA_ENDPOINT_SNITCH节点使用的 endpoint snitch 实现(控制数据分布策略)。SimpleSnitchcassandra.yaml 的 endpoint_snitch

部署示例

docker-compose 集群配置示例

以下是使用 docker-compose.yml 启动 3 节点集群的示例:

yaml
version: '3'
services:
  cassandra-seed:
    image: cassandra:latest
    container_name: cassandra-seed
    environment:
      - CASSANDRA_CLUSTER_NAME=MyCluster
      - CASSANDRA_NUM_TOKENS=256
      - CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch
      - CASSANDRA_DC=DC1
      - CASSANDRA_RACK=Rack1
    volumes:
      - cassandra-seed-data:/var/lib/cassandra
    ports:
      - "7000:7000"  # Gossip 端口
      - "9042:9042"  # CQL 端口

  cassandra-node1:
    image: cassandra:latest
    container_name: cassandra-node1
    environment:
      - CASSANDRA_CLUSTER_NAME=MyCluster
      - CASSANDRA_SEEDS=cassandra-seed
      - CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch
      - CASSANDRA_DC=DC1
      - CASSANDRA_RACK=Rack1
    volumes:
      - cassandra-node1-data:/var/lib/cassandra
    depends_on:
      - cassandra-seed

  cassandra-node2:
    image: cassandra:latest
    container_name: cassandra-node2
    environment:
      - CASSANDRA_CLUSTER_NAME=MyCluster
      - CASSANDRA_SEEDS=cassandra-seed
      - CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch
      - CASSANDRA_DC=DC1
      - CASSANDRA_RACK=Rack2
    volumes:
      - cassandra-node2-data:/var/lib/cassandra
    depends_on:
      - cassandra-seed

volumes:
  cassandra-seed-data:
  cassandra-node1-data:
  cassandra-node2-data:

启动集群:

bash
docker-compose up -d

注意事项

数据存储位置

Cassandra 默认将数据存储在容器内的 /var/lib/cassandra。为避免数据丢失,建议通过卷挂载将数据持久化到主机:

bash
docker run --name some-cassandra -v /host/datadir:/var/lib/cassandra -d cassandra:tag
  • /host/datadir:主机上的目录(需提前创建并设置权限)。
  • /var/lib/cassandra:容器内数据目录。

初始化完成前无法连接

容器启动时,若未初始化数据库,会自动创建默认数据库。此过程中 Cassandra 不接受连接,可能导致自动化工具(如 docker-compose)启动多容器时出现连接失败。建议通过脚本检测节点状态(如 nodetool status),确认初始化完成后再进行后续操作。

许可证信息

Cassandra 软件使用 Apache 许可证。
镜像可能包含其他软件(如 Bash、基础系统组件等),其许可证可能不同。更多信息可参考 https://github.com/docker-library/repo-info/tree/master/repos/cassandra%E3%80%82
使用本镜像需确保遵守所有包含软件的相关许可证。

更多相关 Docker 镜像与资源

以下是 cassandra 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • library/mongo Docker 镜像说明
  • mongodb/mongodb-community-server Docker 镜像说明(MongoDB 社区版,NoSQL 文档数据库,适合灵活数据模型)
  • amd64/mongo Docker 镜像说明(MongoDB 数据库,AMD64 架构版本)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

国内拉取方式

docker pull docker.xuanyuan.run/cassandra:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

官方拉取方式

docker pull cassandra:<标签>

更多 cassandra 镜像推荐

bitnami/cassandra logo

bitnami/cassandra

Bitnami Secure Images(VMware Tanzu)
Bitnami安全镜像,用于部署和运行Cassandra分布式NoSQL数据库,提供安全加固的运行环境。
52 次收藏5000万+ 次下载
7 个月前更新
bitnamicharts/cassandra logo

bitnamicharts/cassandra

bitnamicharts
Bitnami提供的Apache Cassandra Helm Chart,用于在Kubernetes集群上部署开源分布式数据库Apache Cassandra,支持高可用性、无单点故障,适用于处理跨多服务器的大量数据。
1 次收藏100万+ 次下载
7 个月前更新
rook/cassandra logo

rook/cassandra

rook
Apache Cassandra是一款开源、分布式的宽列存储NoSQL数据库管理系统,旨在高效处理大规模结构化数据,提供高可用性、线性可扩展性和分布式架构支持。
100万+ 次下载
4 年前更新
openeuler/cassandra logo

openeuler/cassandra

openeuler
基于openEuler的官方Cassandra Docker镜像,用于处理大规模数据的分布式数据库管理系统,支持集群和多数据中心部署,具备异步无主复制、低延迟操作特性,集成Dynamo分布式存储与Bigtable数据引擎模型。
397 次下载
7 个月前更新
amd64/cassandra logo

amd64/cassandra

amd64
Apache Cassandra 是一款开源分布式数据库管理系统,旨在跨多台普通服务器处理大量数据,提供高可用性且无单点故障,支持多数据中心集群和异步无主复制。
1 次收藏10万+ 次下载
19 天前更新
arm64v8/cassandra logo

arm64v8/cassandra

arm64v8
Apache Cassandra 是一个开源的分布式存储系统。
9 次收藏10万+ 次下载
19 天前更新

查看更多 cassandra 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
Docker 官方镜像
...
library/cassandra
博客公告Docker 镜像公告与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.