tiup 部署,报错没有权限创建文件夹

运行 部署命令 报错如下 :

Failed to initialize TiDB environment on remote host ‘10.10.101.100’, cause: module.user.user_add_failed: Fail
ed to create new system user ‘tidb’ on remote host, cause: executor.ssh.execute_failed:

部署环境, Centos 7.6 -7.8 (其中 2个节点 为 7.6 ,另外一个 7.8 部署TIDB/TIKV/PD 同时也部署 TaskFinish ),防火墙已经打开,SELINUX 关闭 , TIDB 所需端口打开 ,root 用户 SSH 互信 打通

三个节点 : 10.10.101.100 / 101 / 220

执行 ssh -v tidb@xxx

ROOT 用户互信 应该没问题;

看了ASKTUG 上其他人的提问,遇到类似的;

这个 TIDB 集群必须关闭 防火墙吗 ? 另外 ,除了主控上新建 tidb 用户 ,其他节点需要手工创建吗 ?

  1. 请上传下 debug 日志。
  2. 请将 deploy 语句发出来看下。是否有 sudo 权限

debug 日志
tiup-cluster-debug-2020-05-11-16-10-37.log (33.2 KB)

tiup cluster deploy tidb-test v4.0.0-rc ./topology.yaml --user root

image

说明一下 节点一共三个 ,我只是在控制节点创建了 tidb 用户,然后 root 做了互信,其他节点没有 TIDB 用户

你好,

建议关闭防火墙,如果需要开启,请对 tidb 使用端口进行配置规则

这边在整理下:

  1. user: tidb 不需要手动创建,在执行 deploy 使用会通过 --user 进行创建
  2. 对 --user 的要求:a。sudo 权限 b。各节点免密互信
  3. deploy 时 通过 -p 指定密码,默认自动找 id_rsa 文件

你好 ,各个节点端口 我都开放了,tidb 所有节点都不用手工创建吗?我看官方文档说 控制节点上用 tidb 用户运行部署命令,sudo 权限 很早就配置了

你好,

可以看下官网的说明哈

你可以这样理解:

  1. 我使用普通用户 tidb (普通用户哦~)
  2. 下载安装 tiup,deploy --user root(这个步骤会将这个普通用户 tidb 升级成 sudo 与 其他服务器免密。)
  3. 未来使用 tidb 进行运维

    https://pingcap.com/docs-cn/stable/how-to/deploy/orchestrated/tiup/

你好,你可能没明白我的疑问,TIUP 组件 我已经安装好了,没有问题的,现在是在中控机上用TIUP 安装 TIDB 集群遇到的报错,日志上面都已经上传了,我看了报错 貌似 不知道是不是 SSH 互信的问题,但如果是互信,root 用户互信是没问题的,这个我也贴图了,另外 tidb 用户SUDO 权限 我也修改好了,也是有贴图的,我现在就是想解决 命令部署TIDB 集群里面的报错问题!!:sweat_smile:

请问,你是按照这个文档安装的吗? 没有需要配置创建tidb用户,你是不是看成ansible部署了? 清理下重新安装吧.

https://pingcap.com/docs-cn/stable/how-to/deploy/orchestrated/tiup/

你好 ,嗯,我这有个.疑问 ,SSH 互相只能手工去搞吗 ?我手工安装 ansible部署 来做root 互信 ,然后去部署TIDB 集群 ,这样不可以 ?这个和单个用户手工互相没区别把 ?

麻烦仔细看下文档, 你如果使用 tiup 安装,不要看 ansible 的文档了, 点看看一下文档,不需要手工每个都配置。

你好,ansible 的文档 我没看呀!! :sweat_smile: :sweat_smile: :sweat_smile: :sweat_smile: :sweat_smile: :sweat_smile:

本身你们环境里面 ansible 集成的,包括后续升级的啥的都不能单独出来使用,所以我自己 YUM 安装了一下,和你们 集成的 ansible 没有任何关系。。。。

所以 单纯的使用 ansible 批量的做了互信而已,你们官方文档上是手工一个个搞 ,使用 ansible 单纯为了方便!!

还有个疑问,这个SSH 互信是在 集群部署完之前还是之后 ? 如果是 之后的话 ,那么我刚刚上面的截图上说的 使用 TIDB 用户 与 目标机器 TIDB 用户互信 是没问题的; 如果是 之前,那么这个互信,,,TIDB 应该在目标端 没有TIDB 用户(看官方文档没理解错的话,控制台这边有个TIDB 用户,其他节点通过集群部署命令 自动创建)!!如果是 之后的话 ,我差不多就明白意思了

您好,在部署的时候,如果密码都是一样的,没有必要手工添加,您可以检查下是否手工添加密钥错误,导致无法通信成功。 如果不一样可以手工提取添加

嗯,那我明白了。。。另外,可以建议一下不 :你们官方文档 把这个标注一下,肯定会有人会提前准备好互信啥的。。。。。

这个感觉按照文档来操作就好了,跟着步骤走,我们考虑下是否需要调整或者加粗,多谢建议。

1 个赞