ScyllaDB是一款高性能NoSQL数据库系统,完全兼容Apache Cassandra。如果您使用ScyllaDB Enterprise,则需遵守ScyllaDB专有软件许可协议和“评估许可”。
ScyllaDB
!logo
scylla服务器实例console$ docker run --name some-scylla -d scylladb/scylla-enterprise
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 -d scylladb/scylla-enterprise --seeds="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' some-scylla)"
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,供Scylla容器存储所有数据:
console$ sudo mkdir -p /var/lib/scylla/data /var/lib/scylla/commitlog
使用Docker的--volume命令行选项启动Scylla,将创建的主机目录挂载为容器中的数据卷,并禁用Scylla的开发者模式,以便在启动Scylla节点前运行I/O调优。
console$ docker run --name some-scylla --volume /var/lib/scylla:/var/lib/scylla -d scylladb/scylla-enterprise --developer-mode=0
Scylla默认使用所有CPU和内存。要为Docker容器配置资源限制,您可以使用“命令行选项”部分中记录的--smp、--memory和--cpuset命令行选项。
如果在同一台机器上运行多个Scylla实例,强烈建议启用--overprovisioned命令行选项,该选项为Scylla提供在超配环境中高效运行的特定优化。
Docker镜像使用supervisord管理Scylla进程。您可以使用以下命令在Docker容器中重启Scylla:
docker exec -it some-scylla supervisorctl restart scylla
Scylla镜像支持许多可传递给docker run命令的命令行选项。
--seeds SEEDS--seeds命令行选项配置Scylla的种子节点。如果未指定--seeds选项,Scylla将使用自身IP地址作为种子。
例如,配置Scylla使用两个种子节点192.168.0.100和192.168.0.200:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --seeds 192.168.0.100,192.168.0.200
--listen-address ADDR--listen-address命令行选项配置Scylla实例监听客户端连接的IP地址。
例如,配置Scylla使用监听地址10.0.0.5:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --listen-address 10.0.0.5
--broadcast-address ADDR--broadcast-address命令行选项配置Scylla实例告知集群中其他节点连接的IP地址。
例如,配置Scylla使用广播地址10.0.0.5:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --broadcast-address 10.0.0.5
--broadcast-rpc-address ADDR--broadcast-rpc-address命令行选项配置Scylla实例告知客户端连接的IP地址。
例如,配置Scylla使用广播RPC地址10.0.0.5:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --broadcast-rpc-address 10.0.0.5
--smp COUNT--smp命令行选项将Scylla限制为使用COUNT个CPU。但该选项不强制指定特定的CPU位置。如果需要Scylla在特定CPU上运行,请参见--cpuset命令行选项。
例如,将Scylla限制为2个CPU:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --smp 2
--memory AMOUNT--memory命令行选项限制Scylla最多使用AMOUNT的内存。AMOUNT值支持M(兆字节)和G(千兆字节)单位。
例如,将Scylla限制为4 GB内存:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --memory 4G
--overprovisioned ENABLE--overprovisioned命令行选项启用或禁用在超配环境中运行Scylla的优化。如果未指定--overprovisioned选项,Scylla默认禁用优化。
例如,启用超配环境运行优化:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --overprovisioned 1
--cpuset CPUSET--cpuset命令行选项将Scylla限制为仅在CPUSET指定的CPU上运行。CPUSET值可以是单个CPU(如--cpuset 1)、范围(如--cpuset 2-3)、列表(如--cpuset 1,2,5),或后两者的组合(如--cpuset 1-2,5)。
例如,将Scylla限制在物理CPU 0至2和4上运行:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --cpuset 0-2,4
--developer-mode ENABLE--developer-mode命令行选项启用Scylla的开发者模式,该模式放宽对XFS等的检查,并允许Scylla在不受支持的配置上运行(通常会导致性能不佳)。如果未指定--developer-mode选项,Scylla默认启用开发者模式。生产环境强烈建议禁用开发者模式,以确保Scylla能以最佳性能运行。
例如,禁用开发者模式:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --developer-mode 0
--experimental ENABLE--experimental命令行选项启用Scylla的实验模式。如果未指定--experimental选项,Scylla默认禁用实验模式。生产环境强烈建议禁用实验模式。
例如,启用实验模式:
console$ docker run --name some-scylla -d scylladb/scylla-enterprise --experimental 1
错误报告请使用Scylla在GitHub上的问题跟踪器。报告错误前请阅读如何报告Scylla问题页面。
如需一般帮助,请参阅Scylla的文档。如需提问和交流,请使用Scylla的邮件列表。
想要解决问题并贡献补丁?我们期待审核并合并您的代码。请参阅Scylla贡献页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429