tiup启动时报SSH错误

使用tiup启动tidb集群时报错:(安装的时候没有报错)
Error: failed to start prometheus: failed to start: slave007 prometheus-9090.service, please check the instance’s log(/home/tidb/.tiup/tidb-deploy/prometheus-9090/log) for more detail.: executor.ssh.execute_failed: Failed to execute command over SSH for ‘tidb@slave007:22’ {ssh_stderr: Failed to start prometheus-9090.service: Unit not found.
, ssh_stdout: , ssh_command: export LANG=C; PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin /usr/bin/sudo -H bash -c “systemctl daemon-reload && systemctl start prometheus-9090.service”}, cause: Process exited with status 5

**前提:**我已在中控机与tidb集群的机器都做了tidb用户的互相免密,root用户的互相免密。如下没有让我输入密码:
[tidb@slave006 bin]$ ssh tidb@slave007
Last login: Tue Sep 6 10:40:09 2022
[tidb@slave007 ~]$

请问各位大佬怎么解决呢?

root账户不用免密,tidb账户的sudo权限加吗

你tidb账户slave007 执行 sudo systemctl status prometheus-9090.service 看看行不行

是中控机(slave006)上加吗?还是slave007上加呢?
[tidb@slave007 root]$ sudo -ll
Matching Defaults entries for tidb on slave007:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep=“COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS”, env_keep+=“MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE”,
env_keep+=“LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES”, env_keep+=“LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE”, env_keep+=“LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY”,
secure_path=/sbin:/bin:/usr/sbin:/usr/bin

User tidb may run the following commands on slave007:

Sudoers entry:
RunAsUsers: ALL
Options: !authenticate
Commands:
ALL

Sudoers entry:
RunAsUsers: ALL
Options: !authenticate
Commands:
ALL

[tidb@slave007 .tiup]$ sudo systemctl status prometheus-9090.service
Unit prometheus-9090.service could not be found.

另外,我刚才正在安装dm,还是slave007报ssh的错:
Deploy TiDB instance

  • Copy dm-master -> slave003 … Done
  • Copy dm-worker -> slave004 … Done
  • Copy dm-worker -> slave005 … Done
  • Copy dm-worker -> slave006 … Done
  • Copy prometheus -> slave007 … Error
  • Copy grafana -> slave007 … Error
  • Copy alertmanager -> slave003 … Done

Error: stderr: : executor.ssh.execute_failed: Failed to execute command over SSH for ‘tidb@slave007:22’ {ssh_stderr: , ssh_stdout: , ssh_command: export LANG=C; PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin tar --no-same-owner -zxf /tidb-deploy-dm/prometheus-8249/bin/prometheus-v6.2.0-linux-amd64.tar.gz -C /tidb-deploy-dm/prometheus-8249/bin && rm /tidb-deploy-dm/prometheus-8249/bin/prometheus-v6.2.0-linux-amd64.tar.gz}, cause: Run Command Timeout

部署的时候就失败了,所以后面就不能成功启动。

部署的时候没有失败,之前都成功启动过。
这个部署失败是dm的,不是tidb

整个流程是这样的,我先是部署安装tidb,并且启动也没有问题。
后来我安装了dm,也成功了,启动也没有问题,但是dm在安装过程重,监控部分与tidb的监控是一个节点,port也是一样的,我就卸载了dm,再重新修改dm的监控的端口,再重新部署安装dm。
结果卸载了dm后,估计是因为监控部分与tidn重合了,所以tidb的监控组件也受到影响,所以tidb现在启动不起来(只有监控组件不能启动)

我卸载dm的命令用的是./tiup dm desdroy dm-test

奇怪,我刚刚重新再安装部署一次dm,神奇般的dm部署成功,启动也成功了。
但是tidb还是报错。

第一次部署 DM 监控组件的时候,破坏了 TiDB 的监控模块,所以 TiDB 的监控模块一直无法启动。需要找到 TiDB 监控模块无法启动的准确原因,进行修复才可以。或者参考这里 https://docs.pingcap.com/zh/tidb/stable/tiup-command-install 尝试只部署监控组件尝试修复

系统有没有做权限限制,如果有需要开放sudo相关的bash权限。

你使用tidb用户部署的吗 可能是权限问题

看他的操作记录,应该是tidb用户

[tidb@slave006 bin]$ ssh tidb@slave007
Last login: Tue Sep 6 10:40:09 2022
[tidb@slave007 ~]$