docker启动pd ["run server failed"] [error="Etcd cluster ID mismatch, tikv节点 ["failed to start node: Other(\"[components/pd_client/src/util.rs:954]:

一台服务器部署了3个pd 3个tikv 1个tidb, 另一台服务器要部署3个pd,3个tikv,
然后就出现这个问题:

tikv显示:

pd显示:

第二台服务器可以只部署3个tikv节点嘛,不部署pd节点

pd还依赖一个discovery的组件,不然pd组建不了集群。pd起不来,tikv就起不来
建议参考官方文档使用operator部署

为什么另一台服务器也要部署3个pd呢?
这到底是几个集群?
从tikv的报错,是tikv连上了错误的pd

从pd的报错看,pd也连上了错误的pd。

俩集群混了?

想在另一台服务器上也部署tikv,使他们成为一个数据库。这样行得通的话,应该部署几个pd啊

我是想在另一台服务器上也部署tikv,使他们成为一个数据库。请问,使用docker这种方式行得通吗

整个集群只需要部署3个pd。
你用docker的话,比较麻烦,相当于纯手工部署,需要你自己组织tikv的启动参数、pd的启动参数。
建议用tiup

如果是 k8s,可以用 tidb-operator
参考:
https://docs.pingcap.com/zh/tidb/stable/hardware-and-software-requirements

再麻烦您一下,整个集群只需要部署3个pd。 这意思就是我服务器2不需要再部署新的pd节点了吗,只需要部署tikv节点。还想麻烦问一下为什么新的服务器不需要部署pd节点呢。谢谢您

一般情况下,一套tikv,3个pd就足够了。3个pd也只有一个pd干活。
后来的版本又支持把 tso 拆出来了,就不能那么绝对的说3个就够了,但是对于业务量没那么大的集群,还是可以说,3个pd就够了,多了也没用。

第二台服务器可以只部署3个tikv节点嘛,不部署pd节点

当然可以。那3个pd没什么用。
你确定要这么手动的拼参数吗?是自己搭着玩还是业务用啊?
自己搭着玩的话怎么都可以,也无用的话,这样搞不靠谱啊。没有监控,没有挂了重新拉起来,啥也没有,纯靠人,很容易出错。