tidb部署时的ssh

【 TiDB 使用环境】生产环境
【 TiDB 版本】7.5.0
各位大佬,有个问题一直困扰我,在部署tidb单机版本的时候,我一般会新建一个tidb用户配置ssh通信(ssh-keygen -t rsa ;ssh-copy-id -i ~/.ssh/id_rsa.pub 127.0.0.1),一直不太懂这个ssh通信起什么作用。。大佬们教我一下啊 :joy:

tiup的脚本默认就是通过ssh执行对应的脚本,即使你就一台机器他也是一样的,不存在单台机器就直接执行脚本。。。

1 个赞

不是很懂 :sweat_smile:,官方上有具体说明吗。。

ssh通信是节点之间免密通信,就是有些通信需要ssh协议发一些文件之类的,这时就不要用输入密码拉

tiup执行一些操作系统命令,每次到不同的机器执行。如果是没有ssh免密登录就是老让你输入密码,一次部署要输入几次到几十次密码,是不是很烦人,所以配置了ssh免密登录就很友好了,不需要你输入密码,多流畅

1 个赞

装过其他集群例如hadoop之类,或者用过ansible之类的工具就知道,一般多台机器都是通过ssh来访问的啊,不然你每台机器上的数据怎么传输过去,一条命令怎么在多台机器同时执行。。。

多谢,之前很少搭建集群,所以有很多不懂

单机也需要配置互信的

tiup不知道你是不是单机,都是按集群部署走的流程,需要ssh执行命令,还有scp复制文件

tiup命令执行的机器叫中控机器,然后你部署TiDB组件的机器是其他的机器,所以需要ssh过去,但是你的环境中控机器与部署TiDB组件的机器正好是一台,所以就出现你说的情况了

其实应该说是互信,相互信任,不然每次远程到其他机器就要输密码,很麻烦。

两台机器之间通信不需要密码,直接建立网络连接。

免密通信,往其他节点传输文件或执行命令