kineticdata/cassandra-cqlsh本镜像为实用工具容器,专门设计用于执行Apache Cassandra数据库相关脚本。它集成了必要的客户端工具与运行环境,简化了与Cassandra集群的脚本交互流程,适用于数据库初始化、数据迁移、定时维护及开发测试等场景。
cqlsh),支持直接执行CQL脚本.cql)、Shell脚本(.sh)及Python脚本(需依赖Cassandra Python驱动)数据库初始化
执行schema创建脚本(如创建keyspace、table),完成Cassandra集群的初始配置。
数据迁移
运行数据导入/导出脚本,实现跨集群数据迁移或备份恢复。
定时维护任务
集成到定时任务系统(如Cron),定期执行数据清理、索引优化等维护脚本。
开发与测试
开发阶段快速验证脚本功能,或在测试环境自动化执行测试脚本。
通过docker run命令启动容器,挂载本地脚本目录并执行指定CQL脚本:
bashdocker run -it --rm \ -v /path/to/local/scripts:/scripts \ # 挂载本地脚本目录到容器内/scripts -e CASSANDRA_HOST=cassandra-cluster # 指定Cassandra集群地址 -e CASSANDRA_PORT=9042 # 指定Cassandra CQL端口(默认9042) -e CASSANDRA_USER=admin # (可选)Cassandra认证用户名 -e CASSANDRA_PASSWORD=secret # (可选)Cassandra认证密码 [镜像名称] \ cqlsh -f /scripts/init_schema.cql # 执行CQL脚本
若需执行包含多个CQL命令或逻辑控制的Shell脚本,可直接运行挂载的.sh文件:
bashdocker run -it --rm \ -v /path/to/local/scripts:/scripts \ -e CASSANDRA_HOST=cassandra-cluster \ [镜像名称] \ sh /scripts/migrate_data.sh # 执行Shell脚本
在docker-compose.yml中配置服务,用于应用启动前执行数据库初始化:
yamlversion: '3' services: cassandra-script: image: [镜像名称] volumes: - ./init-scripts:/scripts environment: - CASSANDRA_HOST=cassandra - CASSANDRA_PORT=9042 command: cqlsh -f /scripts/init.cql depends_on: - cassandra # 依赖Cassandra服务启动后执行 cassandra: image: cassandra:latest ports: - "9042:9042"
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
CASSANDRA_HOST | Cassandra集群主机地址 | localhost |
CASSANDRA_PORT | CQL协议端口 | 9042 |
CASSANDRA_USER | 认证用户名(如需认证) | 无 |
CASSANDRA_PASSWORD | 认证密码(如需认证) | 无 |
CQLSH_OPTS | cqlsh额外参数(如--ssl) | 无 |
建议挂载本地脚本目录至容器内/scripts路径,便于灵活管理脚本文件,避免每次修改脚本需重新构建镜像。
--network参数指定共享网络CQLSH_OPTS="--ssl"配置,并挂载SSL证书至容器内对应路径

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