用 tiup 启动单机 tikv 后,TiKVDriver 无法打开对应集群

Bug 反馈
清晰准确地描述您发现的问题,提供任何可能复现问题的步骤有助于研发同学及时处理问题
【 Bug 的影响】
无法使用 tikv 单机版本,影响开发效率
【可能的问题复现步骤】
tiup playground --mode tikv-slim v5.3.0
使用以上命令部署 tikv 后,
d := &driver.TiKVDriver{} storage, err := d.Open(path)
使用如上命令,会返回错误
[pd] failed to get cluster id
查看集群状态得到以下结果

➜  rawkv git:(master) curl http://127.0.0.1:2379/pd/api/v1/cluster/status
{
  "raft_bootstrap_time": "2022-02-15T00:46:29.005325+08:00",
  "is_initialized": false,
  "replication_status": ""
}

但是官网的 rawkv example (goclient版本) 可以跑通,拿到数据
ref: https://github.com/tikv/client-go/tree/master/examples/rawkv

➜  rawkv git:(master) go run rawkv.go
[2022/02/15 11:16:21.905 +08:00] [INFO] [client.go:381] ["[pd] create pd client with endpoints"] [pd-address="[127.0.0.1:2379]"]
[2022/02/15 11:16:21.909 +08:00] [INFO] [base_client.go:349] ["[pd] switch leader"] [new-leader=http://127.0.0.1:2379] [old-leader=]
[2022/02/15 11:16:21.909 +08:00] [INFO] [base_client.go:104] ["[pd] init cluster id"] [cluster-id=7064607830443526157]
[2022/02/15 11:16:21.909 +08:00] [INFO] [client.go:677] ["[pd] tso dispatcher created"] [dc-location=global]
cluster ID: 7064607830443526157
Successfully put Company:PingCAP to tikv
found val: PingCAP for key: Company
key: Company deleted
found val:  for key: Company

【相关组件及具体版本】
tikv-slim v5.3.0

1 个赞

方便提供下 client-go 的版本以及一个最小复现的代码样例吗,我们看看能否复现该问题。另外报错 [pd] failed to get cluster id 时,pd 和 tikv 的日志中有什么异常吗,方便的话也提供下 tikv 和 pd 的日志吧。

1 个赞

问题解决了,原因是 d := &driver.TiKVDriver{} storage, err := d.Open(path) 这个 path 我写的是本地局域网ip,由于mac的一些奇奇怪怪的问题导致无法被连接通,改成 127.0.0.1:xx 就好了。
下次遇到这个报错可以先用 telnet 检测端口是否可以被访问

2 个赞

记下了,谢谢分享

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。