centos/cassandra-3-centos7本仓库包含用于通用用途和OpenShift的Cassandra镜像的Dockerfile。目前仅提供基于CentOS的镜像,该CentOS镜像可在Docker Hub上获取,镜像名为centos/cassandra-3-centos7。
该容器镜像提供了Cassandra守护进程和客户端应用的容器化打包。Cassandra服务器守护进程接受客户端连接,并代表客户端提供对Cassandra数据库内容的访问。有关Cassandra项目的更多信息,请访问项目网站([***]
假设您使用centos/cassandra-3-centos7镜像。如果只需设置必填环境变量并将数据库存储在主机文件系统的/home/user/database目录中,执行以下命令:
$ 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参数传递给Docker run命令进行设置。
| 变量名 | 描述 |
|---|---|
| CASSANDRA_ADMIN_PASSWORD | 管理员用户的密码 |
以下环境变量会影响Cassandra配置文件,均为可选参数。
| 变量名 | 描述 | 默认值 |
|---|---|---|
| CASSANDRA_CLUSTER_NAME | 集群名称 | 'Test Cluster' |
| CASSANDRA_DISK_OPTIMIZATION_STRATEGY | 磁盘读取优化策略 | ssd |
| CASSANDRA_ENDPOINT_SNITCH | Cassandra使用snitch定位节点和路由请求 | SimpleSnitch |
| CASSANDRA_NUM_TOKENS | 定义随机分配给此节点的令牌数量 | 256 |
| CASSANDRA_RPC_ADDRESS | 客户端连接的监听地址 | ' ' |
| CASSANDRA_KEY_CACHE_SIZE_IN_MB | 键缓存的最大内存大小(MB) | ' ' |
| CASSANDRA_CONCURRENT_READS | 允许操作在栈中排队足够低,以便操作系统和驱动器可以重新排序它们 | 32 |
| CASSANDRA_CONCURRENT_WRITES | Cassandra中的写入很少受I/O限制,因此理想的并发写入数取决于节点上的CPU核心数。推荐值为8×CPU核心数 | 32 |
| CASSANDRA_MEMTABLE_ALLOCATION_TYPE | Cassandra分配和管理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标志向Docker传递以下挂载点。
| 卷挂载点 | 描述 |
|---|---|
| /var/opt/rh/sclo-cassandra3/lib/cassandra | Cassandra数据目录 |
注意:将主机目录挂载到容器中时,确保挂载的目录具有适当的权限,且目录的所有者和组与容器内运行的用户UID或名称匹配。
默认情况下,Cassandra使用7000端口进行集群通信(启用SSL时为7001),9042端口用于原生协议客户端,7199端口用于JMX。节点间通信和原生协议端口可在Cassandra配置文件(cassandra.yaml)中配置。JMX端口可在cassandra-env.sh中通过JVM选项配置。所有端口均为TCP端口。
参见[***]
有关硬件要求的更多信息,请参见[***]
允许为Cassandra服务器使用自定义配置文件。
要在容器中使用自定义配置文件,需将其挂载到/etc/opt/rh/sclo-cassandra3/cassandra/cassandra.yaml。例如,要使用存储在/home/user目录中的配置文件,可在docker run命令中使用以下选项:-v /home/user/cassandra.yaml:/etc/opt/rh/sclo-cassandra3/cassandra/cassandra.yaml:Z。
要配置多个JVM选项,需将jvm.options文件挂载到容器中。例如,要使用存储在/home/user目录中的配置文件,可在docker run命令中使用以下选项:-v /home/user/jvm.options:/etc/opt/rh/sclo-cassandra3/cassandra/jvm.options:Z。
容器中的Cassandra守护进程日志输出到标准输出,因此日志可在容器日志中查看。可通过以下命令检查日志:
docker logs <container>
此容器镜像的Dockerfile和其他源代码可在[***]


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