tidb支持非root用户部署集群吗?

官方文档中的示例是用root用户安装部署的,请问tidb支持非root用户安装部署集群吗?
可以帮忙发一下使用非root用户部署的文档流程吗?

每个节点以root用户创建tidb用户和密码

#useradd tidb

#passwd tidb

[

2.配置sudo免密

](#%E7%AC%AC%E5%9B%9B%E9%83%A8%E5%88%86%C2%A0%20TiDB%E5%8F%8A%E7%BB%84%E4%BB%B6%E5%AE%89%E8%A3%85/%E4%B8%89%E3%80%81%20%E9%85%8D%E7%BD%AE%E4%BA%92%E4%BF%A1/2.%E9%85%8D%E7%BD%AEsudo%E5%85%8D%E5%AF%86)

每个节点配置sudo免密

visudo

添加以下内容

tidb ALL=(ALL) NOPASSWD:ALL

[

3.配置中控机到其他节点互信

](#%E7%AC%AC%E5%9B%9B%E9%83%A8%E5%88%86%C2%A0%20TiDB%E5%8F%8A%E7%BB%84%E4%BB%B6%E5%AE%89%E8%A3%85/%E4%B8%89%E3%80%81%20%E9%85%8D%E7%BD%AE%E4%BA%92%E4%BF%A1/3.%E9%85%8D%E7%BD%AE%E4%B8%AD%E6%8E%A7%E6%9C%BA%E5%88%B0%E5%85%B6%E4%BB%96%E8%8A%82%E7%82%B9%E4%BA%92%E4%BF%A1)

中控机(21.72.124.43)以tidb用户登录,执行以下命令

ssh-keygen -t rsa

根据路径配置到各节点的互信

ssh-copy-id -i /home/tidb/.ssh/id_rsa.pub 21.72.124.39

ssh-copy-id -i /home/tidb/.ssh/id_rsa.pub 21.72.124.40

。。。。。。

[

4.测试互信

](#%E7%AC%AC%E5%9B%9B%E9%83%A8%E5%88%86%C2%A0%20TiDB%E5%8F%8A%E7%BB%84%E4%BB%B6%E5%AE%89%E8%A3%85/%E4%B8%89%E3%80%81%20%E9%85%8D%E7%BD%AE%E4%BA%92%E4%BF%A1/4.%E6%B5%8B%E8%AF%95%E4%BA%92%E4%BF%A1)

中控机tidb用户登录 直接ssh到节点

[tidb@localhost]# ssh 21.72.124.39

#sudo -su root

如果以上命令可登录39节点并可直接切换至root用户,表示sudo免密配置成功

我自己写的安装部署文档,可以参考下

1 个赞

当然支持了,核心就是 ansible 的 ssh 信任关系配通就行,配通之后换个用户用 tiup 部署集群即可

sudo免密了, 本质上还是root用户啊… 使用普通权限的普通用户可以安装部署吗?

普通用户赋权就可以,但是没有免密互信的话,集群部署不起来的

普通用户免密互信不需要sudo权限吧?

设置互信什么用户都可以

用非root账号,最后还是要提权的

提权很正常,只要限制好,又没啥大问题

可以用其他用户部署,yaml文件指定安装用户,用root去安装也会放在对应用户下。一般都是用tidb用户

当然支持,只是部署用户需要sudo权限。 visudo给加一下权限即可

非root部署,最怕的是各种权限导致的问题,有时候还比较难查

https://tidb.net/blog/694da37a?_gl=11p8by8x_gaMTYzMDMwMTMyMC4xNjgzNzAzODk5_ga_D02DELFW09*MTcwMTkyNDgxMy42NzEuMS4xNzAxOTI1MDQ0LjAuMC4w#%E7%9B%AE%E6%A0%87%E8%AF%BB%E8%80%85

只有部署(扩容)的时候需要高权限的用户,创建tidb相关服务systemctl status xxx等。
日常运维不需要,只需要部署的时候配置文件中指定的普通用户。

如果集群的机器可以用一次root用户,用root装最简单,装完会自动添加tidb用户运行集群,这时候root用户你就可以禁用了。
tiup最好别部署在root下

支持,配置sudo

可以,其实root用户安装后默认会添加一个tidb用户,如果使用其他用户可能会有各种权限问题

支持的,需要配置sudo权限。如果不配置sudo权限,在yaml文件中写好tidb用户,在deploy集群的时候使用root用户和密码,这样会自动为tidb用户创建sudo权限。

肯定支持,就是需要sudo权限 :grinning:

支持,配置sudo 权限即可