ETCD在使用中遇到过的报错及处理
文章发布较早,内容可能过时,阅读注意甄别。
# 1,No help topic for ‘put’
在 put 一个信息的时候看到失败了,报错 No help topic for 'put'
,解决方法是设置如下环境变量:
$ export ETCDCTL_API=3
1
然后再执行如上命令,发现就可以成功了。
获取如上信息:
$ etcdctl --endpoints=http://192.168.0.122:2379,http://192.168.0.122:2377,http://192.168.0.122:2378 get eryajf
eryajf
test
1
2
3
2
3
# 2,go mod 中报错
在项目当中引入了 go mod 进行管理,然后 go get go.etcd.io/etcd/clientv3
项目,过程中报错如下:
# github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
vendor\github.com\coreos\etcd\clientv3\balancer\resolver\endpoint\endpoint.go:114:78: undefined: resolver.BuildOption
vendor\github.com\coreos\etcd\clientv3\balancer\resolver\endpoint\endpoint.go:182:31: undefined: resolver.ResolveNowOption
# github.com/coreos/etcd/clientv3/balancer/picker
vendor\github.com\coreos\etcd\clientv3\balancer\picker\err.go:37:44: undefined: balancer.PickOptions
vendor\github.com\coreos\etcd\clientv3\balancer\picker\roundrobin_balanced.go:55:54: undefined: balancer.PickOptions
1
2
3
4
5
6
2
3
4
5
6
原因:需要将grpc1.27.1 替换成grpc1.26.0版本
解决:此时可以点开go.mod
文件,将google.golang.org/grpc v1.27.1 *// indirect*
更改为 google.golang.org/grpc v1.26.0 *// indirect*
。
然后再 go get 即可。
参考:https://segmentfault.com/q/1010000021762281/
上次更新: 2024/11/19, 23:11:42