本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

!tikv_logo
TiKV 是一个开源、分布式、事务性的键值数据库。与其他传统 NoSQL 系统不同,TiKV 不仅提供经典的键值 API,还提供符合 ACID 标准的事务 API。TiKV 采用 Rust 语言开发,并由 Raft 协议提供支持,最初由 PingCAP 创建,用于补充 TiDB——一个兼容 MySQL 协议的分布式 HTAP 数据库。
TiKV("Ti" 代表钛)的设计灵感来源于 Google 的一些优秀分布式系统,如 BigTable、Spanner 和 Percolator,以及近年来学术界的一些最新成果,如 Raft 共识算法。
TiKV 是 Cloud Native Computing Foundation (CNCF) 的毕业项目。
!cncf_logo
TiKV 通过 Rust 实现的 Raft 共识算法以及存储在 RocksDB 中的共识状态,保证了数据一致性。引入的 Placement Driver (PD) 实现了自动分片,支持数据自动迁移。事务模型借鉴了 Google 的 Percolator 并进行了一些性能改进。TiKV 还提供快照隔离 (SI)、带锁的快照隔离(SQL: SELECT ... FOR UPDATE)以及分布式事务中的外部一致性读写。
TiKV 适用于需要高可用性、强一致性和水平扩展能力的分布式存储场景,主要包括:
!The TiKV software stack
当节点启动时,Node、Store 和 Region 的元数据被记录到 PD 中。每个 Region 和 Store 的状态定期报告给 PD。
使用 TiDB 尝试 TiKV 最快的方法是使用 TiUP,这是 TiDB 的组件管理器。
详细步骤请参见 官方文档。
TiKV 能够与 PD 一起单独运行,这是最小化部署要求。
$ export TIKV_VERSION=v7.5.0 $ export GOOS=darwin # 仅支持 {darwin, linux} $ export GOARCH=amd64 # 仅支持 {amd64, arm64} $ curl -O [***] $ curl -O [***] $ tar -xzf tikv-$TIKV_VERSION-$GOOS-$GOARCH.tar.gz $ tar -xzf pd-$TIKV_VERSION-$GOOS-$GOARCH.tar.gz
$ ./pd-server --name=pd --data-dir=/tmp/pd/data --client-urls="[***]" --peer-urls="[***]" --initial-cluster="pd=[***]" --log-file=/tmp/pd/log/pd.log
$ ./tikv-server --pd-endpoints="127.0.0.1:2379" --addr="127.0.0.1:20160" --data-dir=/tmp/tikv/data --log-file=/tmp/tikv/log/tikv.log
$ pip3 install -i [***] tikv-client
from tikv_client import RawClient client = RawClient.connect("127.0.0.1:2379") client.put(b'foo', b'bar') print(client.get(b'foo')) # b'bar' client.put(b'foo', b'baz') print(client.get(b'foo')) # b'baz'
# 启动 PD 容器 docker run -d --name pd -p 2379:2379 -p 2380:2380 pingcap/pd:latest \ --name=pd \ --data-dir=/data \ --client-urls="[***]" \ --peer-urls="[***]" \ --initial-cluster="pd=[***]" # 启动 TiKV 容器 docker run -d --name tikv -p 20160:20160 --link pd:pd pingcap/tikv:latest \ --pd-endpoints="pd:2379" \ --addr="0.0.0.0:20160" \ --data-dir=/data
创建 docker-compose.yml 文件:
version: '3' services: pd: image: pingcap/pd:latest ports: - "2379:2379" - "2380:2380" volumes: - ./pd/data:/data - ./pd/log:/log command: - --name=pd - --data-dir=/data - --client-urls=[***] - --peer-urls=[***] - --initial-cluster=pd=[***] - --log-file=/log/pd.log tikv: image: pingcap/tikv:latest ports: - "20160:20160" volumes: - ./tikv/data:/data - ./tikv/log:/log command: - --pd-endpoints=pd:2379 - --addr=0.0.0.0:20160 - --data-dir=/data - --log-file=/log/tikv.log depends_on: - pd
启动服务:
docker-compose up -d
| 参数 | 描述 | 默认值 |
|---|---|---|
| --name | PD 实例名称 | pd |
| --data-dir | 数据存储目录 | /data |
| --client-urls | 客户端服务地址 | [***] |
| --peer-urls | 节点间通信地址 | [***] |
| --initial-cluster | 初始集群配置 | pd=[***] |
| --log-file | 日志文件路径 | - |
| 参数 | 描述 | 默认值 |
|---|---|---|
| --pd-endpoints | PD 服务地址列表 | [***] |
| --addr | TiKV 服务地址 | 0.0.0.0:20160 |
| --data-dir | 数据存储目录 | /data |
| --log-file | 日志文件路径 | - |
| --capacity | 存储容量限制 (GB) | 0 (无限制) |
| --config | 配置文件路径 | - |
如欲尝试 Go 客户端,请参见 Go Client 文档。
第三方安全审计由 Cure53 执行。完整报告参见 Security-Audit.pdf。
如要报告安全漏洞,请发送电子邮件至 TiKV-security 组。
有关 TiKV 项目遵循的流程和政策,请参见 安全文档。
加入 TiKV 社区 Slack - 注册并加入您感兴趣的 TiKV 主题频道。
TiKV 使用 Apache 2.0 许可证。详情参见 LICENSE 文件。
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429