
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ScyllaDB是一个高性能NoSQL数据库系统,完全兼容Apache Cassandra。ScyllaDB根据GNU Affero通用公共许可证第3版和Apache许可证发布,是免费开源软件。
ScyllaDB
!logo
scylla服务器实例console$ docker run --name some-scylla --hostname some-scylla -d scylladb/scylla-nightly
nodetool工具console$ docker exec -it some-scylla nodetool status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 172.17.0.2 125.51 KB 256 100.0% c9155121-786d-44f8-8667-a8b915b95665 rack1
cqlsh工具console$ docker exec -it some-scylla cqlsh Connected to Test Cluster at 172.17.0.2:9042. [cqlsh 5.0.1 | Cassandra 2.1.8 | CQL spec 3.2.1 | Native protocol v3] Use HELP for help. cqlsh>
console$ docker run --name some-scylla2 --hostname some-scylla2 -d scylladb/scylla-nightly --seeds="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' some-scylla)"
首先,创建docker-compose.yml文件,内容如下:
yamlversion: '3' services: some-scylla: image: scylladb/scylla-nightly container_name: some-scylla some-scylla2: image: scylladb/scylla-nightly container_name: some-scylla2 command: --seeds=some-scylla some-scylla3: image: scylladb/scylla-nightly container_name: some-scylla3 command: --seeds=some-scylla
然后,启动3节点集群:
consoledocker-compose up -d
scylla日志console$ docker logs some-scylla | tail INFO 2016-08-04 06:57:40,836 [shard 5] database - Setting compaction strategy of system_traces.events to SizeTieredCompactionStrategy INFO 2016-08-04 06:57:40,836 [shard 3] database - Setting compaction strategy of system_traces.events to SizeTieredCompactionStrategy INFO 2016-08-04 06:57:40,836 [shard 1] database - Setting compaction strategy of system_traces.events to SizeTieredCompactionStrategy INFO 2016-08-04 06:57:40,836 [shard 2] database - Setting compaction strategy of system_traces.events to SizeTieredCompactionStrategy INFO 2016-08-04 06:57:40,836 [shard 4] database - Setting compaction strategy of system_traces.events to SizeTieredCompactionStrategy INFO 2016-08-04 06:57:40,836 [shard 7] database - Setting compaction strategy of system_traces.events to SizeTieredCompactionStrategy INFO 2016-08-04 06:57:40,837 [shard 6] database - Setting compaction strategy of system_traces.events to SizeTieredCompactionStrategy INFO 2016-08-04 06:57:40,839 [shard 0] database - Schema version changed to fea14d93-9c5a-34f5-9d0e-2e49dcfa747e INFO 2016-08-04 06:57:40,839 [shard 0] storage_service - Starting listening for CQL clients on 172.17.0.2:9042... INFO 2016-08-04 06:57:40,840 [shard 0] storage_service - Thrift server listening on 172.17.0.2:9160 ...
可使用Docker卷提升Scylla性能。在主机上创建Scylla数据目录/var/lib/scylla,供容器存储所有数据:
console$ sudo mkdir -p /var/lib/scylla/data /var/lib/scylla/commitlog /var/lib/scylla/hints /var/lib/scylla/view_hints
使用Docker的--volume选项将主机目录挂载为容器数据卷,并禁用Scylla开发者模式以在启动前运行I/O调优:
console$ docker run --name some-scylla --volume /var/lib/scylla:/var/lib/scylla -d scylladb/scylla-nightly --developer-mode=0
Scylla Docker镜像默认以过度配置模式运行,不会应用CPU固定优化(非容器环境中默认启用)。为获得更好性能,建议使用--smp、--memory、--cpuset命令行选项配置容器资源限制,并按“命令行选项”部分说明禁用过度配置标志。
Docker镜像使用supervisord管理Scylla进程,可通过以下命令重启容器中的Scylla:
consoledocker exec -it some-scylla supervisorctl restart scylla
Scylla镜像支持多种通过docker run命令传递的命令行选项。
--seeds SEEDS--seeds选项配置Scylla的种子节点。未指定时,Scylla使用自身IP地址作为种子。例如,配置两个种子节点192.168.0.100和192.168.0.200:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --seeds 192.168.0.100,192.168.0.200
--listen-address ADDR配置Scylla实例监听其他节点连接的IP地址。例如,设置监听地址10.0.0.5:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --listen-address 10.0.0.5
自:1.4版本起
--broadcast-address ADDR配置Scylla实例告知集群中其他节点连接的IP地址。例如,设置广播地址10.0.0.5:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --broadcast-address 10.0.0.5
--broadcast-rpc-address ADDR配置Scylla实例告知客户端连接的IP地址。例如,设置RPC广播地址10.0.0.5:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --broadcast-rpc-address 10.0.0.5
--smp COUNT限制Scylla使用COUNT个CPU,不指定具体CPU placement。如需指定CPU,使用--cpuset选项。例如,限制使用2个CPU:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --smp 2
--memory AMOUNT限制Scylla使用的最大内存,支持M(兆字节)和G(千兆字节)单位。例如,限制使用4GB内存:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --memory 4G
--overprovisioned ENABLE启用/禁用过度配置环境下的优化。未指定时默认启用;若未指定且设置--cpuset,会自动禁用。例如,启用静态分区环境优化:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --overprovisioned 0
--cpuset CPUSET限制Scylla仅运行在CPUSET指定的CPU上,支持单个CPU(如--cpuset 1)、范围(如--cpuset 2-3)、列表(如--cpuset 1,2,5)或组合(如--cpuset 1-2,5)。例如,限制在物理CPU 0-2和4上运行:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --cpuset 0-2,4
--developer-mode ENABLE启用开发者模式,放宽XFS等检查,允许在不支持的配置上运行(通常性能欠佳)。未指定时默认启用。生产环境强烈建议禁用以确保最佳性能。例如,禁用开发者模式:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --developer-mode 0
--experimental ENABLE启用实验模式。未指定时默认禁用。生产环境强烈建议禁用。例如,启用实验模式:
console$ docker run --name some-scylla -d scylladb/scylla-nightly --experimental 1
自:2.0版本起
--disable-version-check禁用版本验证检查。
自:2.2版本起
--authenticator AUTHENTICATOR指定Scylla使用的认证器类。默认使用AllowAllAuthenticator(不检查凭据),可选PasswordAuthenticator(基于用户名/密码认证)。
自:2.3版本起
--authorizer AUTHORIZER指定Scylla使用的授权器类。默认使用AllowAllAuthorizer(允许所有用户执行任何操作),可选CassandraAuthorizer(权限存储在system_auth.permissions表中)。
自:2.3版本起
错误报告请使用Scylla在GitHub上的https://github.com/scylladb/scylla/issues%E3%80%82%E6%8F%90%E4%BA%A4%E5%89%8D%E8%AF%B7%E9%98%85%E8%AF%BB%E5%A6%82%E4%BD%95%E6%8A%A5%E5%91%8AScylla%E9%97%AE%E9%A2%98%E9%A1%B5%E9%9D%A2%E3%80%82
一般帮助请参阅Scylla的文档。问题和评论请使用Scylla的邮件列表。
如需贡献补丁,我们欢迎审阅和合并您的代码。请参阅Scylla贡献指南
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务