集群扩容tiflash,numa绑核不成功,同样的配置tikv是可以的why?

一般来说,这种情况就是 配置没加载过去,需要 reload 下
如果 reload 没有效果,可以查看下 tiup 相关日志看看情况

reload没效果,重试甚至重新部署过一样。
这个tiup看日志,是怎么看的?
看过tiflash节点上的日志,过滤numa没有日志

嗯,我看到你上面的 启动脚本,的确没有 numa(tiflash 日志是肯定没有 numa 相关的,这个是 shell 命令,tiflash 是无感知的吧)
tiup 相关日志,也许会有相关信息吧(我也不确定,但是我想到的只有这里可能会有了吧)

您说的对,确实要从tiup部署端查,tiflash肯定是没有信息的。
我刚看了下tiup命令帮助,也没找到有用的参数啥的
如果tiup可以详细打印在扩容过程中的具体命令、参数这些信息,应该可以确认问题,但没找到怎么打印详细信息的参数。。。

我发现在tiup部署机上生成的脚本文件 里面就没有 numa命令呀, 这是杂回事,如果是我部署的时候配置有问题那show-config应该看不到吧,show-config能看到numa_node配置说明是配置生效了的,为啥部署机上生成的脚本 文件都是不对的呢?

恶心死我了~~~

在这个机器上扩容tikv做一样的绑定试试

用numactl -s tiflsah进程pid看下到底绑定了没

之前在这机器上绑定过pd和ticdc都是可以正常绑定的。
换tiflash就不行了。 这是BUG吗?

我这也是让你尝试一下,如果tikv可以在这台机器绑定,tiflash 不可以,不就是排除机器问题了吗,逐个排除问题而已

恩己排除了机器问题了, 再继续没有排查思路了~~

再看看tiup 工具,是否是最新,这些应该都是tiup生成的,如果是最新的,那就只能问问官方了

tiup display cluster 没有提示更新版本,这是不就是最新版本了
如果说和版本有关,那为啥tikv、pd、ticd这些组件都是没问题的

好吧,要不你提bug

在哪里提bug呀?github上吗 我这也不知道是不是BUG

没本地复现,但是看 tiup 逻辑里是会生成 numactl XXXX 的
TiUP: Support setting CPUAffinity by YaozhengWang · Pull Request #2007 · pingcap/tiup (github.com)

还是需要知道一下 tiup 版本,才能复现,或者提 BUG。

另外:–》 tiup display cluster 没有提示更新版本,这是不就是最新版本了
–》不一定,如果你是纯内网部署,感觉应该不会提示你升级,如果本地没有新 tiup 包的话。

我是有外网的环境,集群包括组件工具都是tiup在线安装的,
以下是我的版本信息:

一、单机部署 1 tiflash 节点测试

# add numa config

tiflash_servers:
- host: 10.2.xxx.xxx
  ssh_port: 22
  tcp_port: 9000
  http_port: 8123
  flash_service_port: 3930
  flash_proxy_port: 20170
  flash_proxy_status_port: 20292
  metrics_port: 8234
  deploy_dir: /home/tidbryl/tidb-deploy/tiflash-9000
  data_dir: /home/tidbryl/tidb-data/tiflash-9000
  log_dir: /home/tidbryl/tidb-deploy/tiflash-9000/log
  numa_node: "1"
  arch: amd64
  os: linux


# before reload action
[tidbryl@172-16-XXX-XXX scripts]$ cat run_tiflash.sh 
#!/bin/bash
set -e

# WARNING: This file was auto-generated. Do not edit!
#          All your edit might be overwritten!
cd "/home/tidbryl/tidb-deploy/tiflash-9000" || exit 1

export RUST_BACKTRACE=1

export TZ=${TZ:-/etc/localtime}
export LD_LIBRARY_PATH=/home/tidbryl/tidb-deploy/tiflash-9000/bin/tiflash:$LD_LIBRARY_PATH

echo -n 'sync ... '
stat=$(time sync)
echo ok
echo $stat
exec bin/tiflash/tiflash server \
    --config-file conf/tiflash.toml 2>> "/home/tidbryl/tidb-deploy/tiflash-9000/log/tiflash_stderr.log

# after reload action
[tidbryl@172-16-XXX-XXX scripts]$ cat run_tiflash.sh 
#!/bin/bash
set -e

# WARNING: This file was auto-generated. Do not edit!
#          All your edit might be overwritten!
cd "/home/tidbryl/tidb-deploy/tiflash-9000" || exit 1

export RUST_BACKTRACE=1

export TZ=${TZ:-/etc/localtime}
export LD_LIBRARY_PATH=/home/tidbryl/tidb-deploy/tiflash-9000/bin/tiflash:$LD_LIBRARY_PATH

echo -n 'sync ... '
stat=$(time sync)
echo ok
echo $stat
exec numactl --cpunodebind=1 --membind=1 bin/tiflash/tiflash server \
    --config-file conf/tiflash.toml 2>> "/home/tidbryl/tidb-deploy/tiflash-9000/log/tiflash_stderr.log"

[tidb@172-16-XXX-XXX ~]$ tiup --version
1.12.1 tiup
Go Version: go1.19.8
Git Ref: v1.12.1
GitHash: f4dae709fa3e904958f3433b617a6bc4bd9049a3

二、单机部署 2 tiflash 节点测试

[tidbryl@172-16-XXX-XXX scripts]$ pwd
/home/tidbryl/tidb-deploy/tiflash-9001/scripts

[tidbryl@172-16-XXX-XXX scripts]$ cat run_tiflash.sh 
......
exec bin/tiflash/tiflash server \
    --config-file conf/tiflash.toml 2>> "/home/tidbryl/tidb-deploy/tiflash-9001/log/tiflash_stderr.log"

[tidbryl@172-16-XXX-XXX scripts]$ cat run_tiflash.sh 
......
exec numactl --cpunodebind=1 --membind=1 bin/tiflash/tiflash server \
    --config-file conf/tiflash.toml 2>> "/home/tidbryl/tidb-deploy/tiflash-9001/log/tiflash_stderr.log"

[tidbryl@172-16-XXX-XXX scripts]$ pwd
/home/tidbryl/tidb-deploy/tiflash-9000/scripts

[tidbryl@172-16-XXX-XXX scripts]$ cat run_tiflash.sh 
......
exec numactl --cpunodebind=1 --membind=1 bin/tiflash/tiflash server \
    --config-file conf/tiflash.toml 2>> "/home/tidbryl/tidb-deploy/tiflash-9000/log/tiflash_stderr.log"

我用同样的 1.12.1 tiup 去复现,没复现出来,感觉只有这一个环境才有的现象(原因未知)。
要不尝试手动改 run_tiflash.sh 吧,用 numactl 去验证能不能生效,如果能先这样绕过吧。

这种情况也没法提 BUG,提上去之后无法复现,也无法修。

我尝试过手动修改脚本 run_tiflash.sh 添加 numactl命令,是可以正常运行的。
但是用tiup reload后,配置就又没有了~~
老师你能远程下我的环境 帮我调一下吗,我就怕不知道是不是有个小问题我没注意到引起了这问题~~~

你这个lscpu 已经说明了 bios里面把她当成单cpu了 进bios配置一下

没太懂,从哪看出来的当成了单CPU了?
这机器之前跑过tidb的其他组件,是可以绑核成功的呀