apache/cassandra-testing-ubuntu1910-java11该 Docker 镜像专为 Apache Cassandra 测试场景设计,提供了一个预配置的环境,用于执行各种测试任务,包括单元测试、集成测试和性能测试。镜像基于官方 Apache Cassandra 构建,集成了必要的测试工具和依赖项,旨在简化测试流程并确保环境一致性。
bashdocker pull apache/cassandra-testing:latest
bashdocker run -d --name cassandra-test \ -p 9042:9042 \ apache/cassandra-testing:latest
bashdocker exec -it cassandra-test /bin/bash # 在容器内执行测试命令 cassandra-stress write n=*** -node localhost
bashdocker run -d --name cassandra-test \ -e CASSANDRA_VERSION=4.0.0 \ -e CASSANDRA_CLUSTER_NAME=TestCluster \ -e CASSANDRA_NUM_TOKENS=256 \ -e MAX_HEAP_SIZE=2G \ -e HEAP_NEWSIZE=512M \ apache/cassandra-testing:latest
bashdocker run -d --name cassandra-test \ -v /path/to/cassandra.yaml:/etc/cassandra/cassandra.yaml \ -v /path/to/jvm.options:/etc/cassandra/jvm.options \ apache/cassandra-testing:latest
bashdocker run -d --name cassandra-test \ -p 7000:7000 \ -p 7001:7001 \ -p 7199:7199 \ -p 9042:9042 \ -p 9160:9160 \ -e CASSANDRA_CLUSTER_NAME=TestCluster \ -e CASSANDRA_DC=dc1 \ -e CASSANDRA_RACK=rack1 \ -v cassandra-data:/var/lib/cassandra \ -v cassandra-logs:/var/log/cassandra \ apache/cassandra-testing:latest
yamlversion: '3.8' services: cassandra-seed: image: apache/cassandra-testing:latest container_name: cassandra-seed environment: - CASSANDRA_CLUSTER_NAME=TestCluster - CASSANDRA_DC=dc1 - CASSANDRA_RACK=rack1 - CASSANDRA_SEEDS=cassandra-seed - CASSANDRA_NUM_TOKENS=256 - MAX_HEAP_SIZE=2G - HEAP_NEWSIZE=512M volumes: - seed-data:/var/lib/cassandra - seed-logs:/var/log/cassandra ports: - "9042:9042" healthcheck: test: ["CMD", "cqlsh", "-e", "describe keyspaces"] interval: 30s timeout: 10s retries: 5 cassandra-node1: image: apache/cassandra-testing:latest container_name: cassandra-node1 environment: - CASSANDRA_CLUSTER_NAME=TestCluster - CASSANDRA_DC=dc1 - CASSANDRA_RACK=rack1 - CASSANDRA_SEEDS=cassandra-seed - CASSANDRA_NUM_TOKENS=256 volumes: - node1-data:/var/lib/cassandra depends_on: cassandra-seed: condition: service_healthy cassandra-node2: image: apache/cassandra-testing:latest container_name: cassandra-node2 environment: - CASSANDRA_CLUSTER_NAME=TestCluster - CASSANDRA_DC=dc1 - CASSANDRA_RACK=rack1 - CASSANDRA_SEEDS=cassandra-seed - CASSANDRA_NUM_TOKENS=256 volumes: - node2-data:/var/lib/cassandra depends_on: cassandra-seed: condition: service_healthy volumes: seed-data: seed-logs: node1-data: node2-data:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
CASSANDRA_VERSION | 指定 Cassandra 版本 | latest |
CASSANDRA_CLUSTER_NAME | 集群名称 | TestCluster |
CASSANDRA_SEEDS | 种子节点 IP 地址或主机名 | localhost |
CASSANDRA_LISTEN_ADDRESS | 监听地址 | 容器 IP |
CASSANDRA_RPC_ADDRESS | RPC 地址 | 0.0.0.0 |
CASSANDRA_DC | 数据中心名称 | dc1 |
CASSANDRA_RACK | 机架名称 | rack1 |
CASSANDRA_NUM_TOKENS | 每个节点的令牌数量 | 256 |
MAX_HEAP_SIZE | JVM 最大堆大小 | 1G |
HEAP_NEWSIZE | JVM 新生代大小 | 256M |
CASSANDRA_AUTO_BOOTSTRAP | 是否自动引导 | true |
TEST_MODE | 测试模式 (unit, integration, performance) | integration |
| 端口 | 用途 |
|---|---|
| 7000 | 节点间通信 |
| 7001 | SSL 节点间通信 |
| 7199 | JMX 监控 |
| 9042 | CQL 客户端端口 |
| 9160 | Thrift 客户端端口 |
bash# 启动容器并运行写性能测试 docker run --rm -it apache/cassandra-testing:latest \ cassandra-stress write n=*** -rate threads=20 -node localhost
bash# 挂载本地测试代码并执行测试 docker run -it --rm \ -v $(pwd)/test-suite:/tests \ -e TEST_MODE=integration \ apache/cassandra-testing:latest \ /bin/bash -c "cd /tests && ./run-integration-tests.sh"
yamlcassandra-test: stage: test image: apache/cassandra-testing:latest services: - name: apache/cassandra-testing:latest alias: cassandra script: - wait-for-it cassandra:9042 -t 60 - cqlsh cassandra -e "CREATE KEYSPACE test WITH replication = {'class':'SimpleStrategy', 'replication_factor':1};" - cassandra-stress read n=1000 -node cassandra
docker volume prune 清理未使用的数据卷docker logs <container-id>,确认配置是否正确
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务