centos/cassandra-311-centos7本仓库包含用于通用用途和OpenShift的Cassandra镜像Dockerfile。目前仅提供基于CentOS的镜像,可在Docker Hub获取,镜像名称为centos/cassandra-3-centos7。
该容器镜像提供容器化的Cassandra守护进程和客户端应用。Cassandra服务器守护进程接受客户端连接,并代表客户端提供对Cassandra数据库内容的访问。更多关于Cassandra项目的信息可访问官方网站:[***]
cassandra.yaml和jvm.options文件适用于需要高可扩展性、高可用性的分布式数据库场景,如大规模数据存储、实时数据分析等。可用于开发环境的快速部署和生产环境的稳定运行,满足从测试到大规模应用的不同需求。
以下示例基于centos/cassandra-3-centos7镜像。若只需设置必填环境变量并将数据库存储在主机/home/user/database目录,执行以下命令:
bash$ docker run -d -e CASSANDRA_ADMIN_PASSWORD=<password> -v /home/user/database:/var/opt/rh/sclo-cassandra3/lib/cassandra:Z centos/cassandra-3-centos7
初始化容器时,可通过-e VAR=VALUE参数设置以下环境变量:
| 变量名 | 描述 |
|---|---|
| CASSANDRA_ADMIN_PASSWORD | 管理员用户密码 |
| 变量名 | 描述 | 默认值 |
|---|---|---|
| CASSANDRA_CLUSTER_NAME | 集群名称 | 'Test Cluster' |
| CASSANDRA_DISK_OPTIMIZATION_STRATEGY | 磁盘读取优化策略 | ssd |
| CASSANDRA_ENDPOINT_SNITCH | 节点定位和请求路由的snitch类型 | SimpleSnitch |
| CASSANDRA_NUM_TOKENS | 分配给节点的随机令牌数量 | 256 |
| CASSANDRA_RPC_ADDRESS | 客户端连接的监听地址 | ' ' |
| CASSANDRA_KEY_CACHE_SIZE_IN_MB | 键缓存的最大内存大小(MB) | ' ' |
| CASSANDRA_CONCURRENT_READS | 允许操作在栈中排队以让操作系统和驱动器重新排序 | 32 |
| CASSANDRA_CONCURRENT_WRITES | 并发写入数,推荐值为CPU核心数×8 | 32 |
| CASSANDRA_MEMTABLE_ALLOCATION_TYPE | memtable内存分配和管理方法 | 'heap_buffers' |
| CASSANDRA_MEMTABLE_CLEANUP_THRESHOLD | 自动刷新memtable的比率 | 0.5 |
| CASSANDRA_MEMTABLE_FLUSH_WRITERS | memtable刷新写入线程数 | 1 |
| CASSANDRA_CONCURRENT_COMPACTORS | 允许同时运行的并发压缩进程数 | ' ' |
| CASSANDRA_COMPACTION_THROUGHPUT_MB_PER_SEC | 压缩吞吐量限制(MB/秒) | 16 |
| CASSANDRA_COUNTER_CACHE_SIZE_IN_MB | 计数器缓存的最大内存大小(MB) | ' ' |
| CASSANDRA_INTERNODE_COMPRESSION | 节点间通信是否压缩 | all |
| CASSANDRA_GC_WARN_THRESHOLD_IN_MS | GC暂停超过此时间(毫秒)将记录WARN日志 | 1000 |
| CASSANDRA_AUTO_BOOTSTRAP | 新(非种子)节点是否自动迁移数据 | true |
更多变量详情参见:[***]
可通过-v /host:/container参数挂载以下目录:
| 容器内挂载点 | 描述 |
|---|---|
| /var/opt/rh/sclo-cassandra3/lib/cassandra | Cassandra数据目录 |
注意:从主机挂载目录到容器时,需确保挂载目录具有适当权限,且目录的所有者和组与容器内运行的用户UID或名称匹配。
Cassandra默认使用以下TCP端口:
其中,集群通信和原生协议端口可在cassandra.yaml中配置,JMX端口可在cassandra-env.sh中通过JVM选项配置。
更多硬件要求详情:[***]
支持使用自定义配置文件:
自定义cassandra.yaml:挂载到/etc/opt/rh/sclo-cassandra3/cassandra/cassandra.yaml,例如:
bash-v /home/user/cassandra.yaml:/etc/opt/rh/sclo-cassandra3/cassandra/cassandra.yaml:Z
自定义jvm.options:挂载到/etc/opt/rh/sclo-cassandra3/cassandra/jvm.options,例如:
bash-v /home/user/jvm.options:/etc/opt/rh/sclo-cassandra3/cassandra/jvm.options:Z
容器内Cassandra守护进程日志输出到标准输出,可通过以下命令查看:
bashdocker logs <container>
参见:[***]
镜像的Dockerfile及其他源码:[***]
(CentOS的Dockerfile名为Dockerfile,RHEL的Dockerfile(开发中)名为Dockerfile.rhel7)


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务