TIUP 使用单独的deploy 用户部署集群报错

这个是topology.yaml 文件

执行 $ tiup cluster deploy tidb-test v4.0.0 topology.yaml 运行用户是 tidb-deploy


拷贝文件的时候发现他用tidb 用户去拷贝文件,由于没有权限,执行

如果在topology.yaml 也写tidb-deploy 用户的话,是可以部署成功的,但是执行用户就是tidb-deploy 用户了。

目前我这边是想使用tidb-deploy用户去部署集群,用tidb 用户去运行。
tidb-deploy 用户是有sudo 权限,且可以免密登录。

  1. 当前是在 tidb-deploy 用户下 执行 部署命令?
  2. 那你尝试在 tidb 用户下 topology.yaml 中修改为 tidb-deploy 用户是否能够部署?
  1. 是的,shell用户是 tidb-deploy
  2. 我刚在中控机器上创建了tidb 用户,然后topology.yaml 指定了tidb-deploy,且指定了tidb-deploy的私钥去登录服务器

tiup cluster deploy tidb-test v4.0.0 topology.yaml --user=tidb-deploy -i tidb-deplay_rda/id_rsa

是可以部署成功的,但是运行用户还是tidb-deploy

$ cat tidb-5000.service
[Unit]
Description=tidb service
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
LimitNOFILE=1000000
#LimitCORE=infinity
LimitSTACK=10485760

User=tidb-deploy
ExecStart=/opt/tidb-4.0/tidb-5000/scripts/run_tidb.sh
Restart=always

RestartSec=15s

[Install]
WantedBy=multi-user.target
  1. 请问yaml文件中是 tidb 用户时,当时tidb 没有 sudo 权限吗? 那么可以尝试给 tidb 用户 sudo 权限来安装。 yaml 文件中使用 tidb 用户,多谢。

我是想安装和运行分离,所以tidb 是用来运行进程的,不能有sudo 权限

管理的用户会控制其他节点,如果没有 sudo 权限可能无法完成启停。

意思是没办法 部署用户和运行用户分离吗 ? 我的管理用户 (tidb-deploy) 是有sudo 权限的

目前 tiup 管理服务的停启是通过运行用户调用 systemctl 来对服务做停启的。所以如果没有 sudo 权限的话会没有权限调用。

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