实验环境部署TiDB 6.1 NUMA绑核失败

【 TiDB 使用环境】实验环境
【 TiDB 版本】v6.1.0,操作系统为 openEuler 22.03 LTS
【遇到的问题】numactl 已安装。TiDB与PD组件混合部署。TiDB numa绑核失败,PD 绑核成功。
【复现路径】

  1. 拓扑配置文件如下:
global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/tidb-deploy"
  data_dir: "/tidb-data"
  arch: "amd64"
server_configs:
  tidb:
    new_collations_enabled_on_first_bootstrap: true
    numa_node: "0"
  pd:
    numa_node: "1"

monitored:
  node_exporter_port: 9100
  blackbox_exporter_port: 9115
pd_servers:
  - host: 192.168.3.221
  - host: 192.168.3.222
  - host: 192.168.3.223
tidb_servers:
  - host: 192.168.3.221
  - host: 192.168.3.222
  - host: 192.168.3.223
tikv_servers:
  - host: 192.168.3.224
  - host: 192.168.3.225
  - host: 192.168.3.226
monitoring_servers:
  - host: 192.168.3.220
grafana_servers:
  - host: 192.168.3.220
alertmanager_servers:
  - host: 192.168.3.220
  1. numa信息
[root@localhost ~]# numactl --hardware
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3
node 0 size: 2013 MB
node 0 free: 1722 MB
node 1 cpus: 4 5 6 7
node 1 size: 1403 MB
node 1 free: 1010 MB
node distances:
node   0   1 
  0:  10  20 
  1:  20  10 

【问题现象及影响】

像是 config下不能配置numa_node,你把这个参数放到每个tidb的配置里

写错位置了

先下班,到家再试试。pd的numa成功了,执行systemctl可以启动。

调整了 numa_node 位置之后,没问题了。但是,奇怪的是pd的绑核设置写到server_configs中可以正常部署。
配置如下:

global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/tidb-deploy"
  data_dir: "/tidb-data"
  arch: "amd64"
server_configs:
  tidb:
    new_collations_enabled_on_first_bootstrap: true
  pd:
    numa_node: "1"

monitored:
  node_exporter_port: 9100
  blackbox_exporter_port: 9115
pd_servers:
  - host: 192.168.3.221
  - host: 192.168.3.222
  - host: 192.168.3.223
tidb_servers:
  - host: 192.168.3.221
    numa_node: "0"
  - host: 192.168.3.222
    numa_node: "0"
  - host: 192.168.3.223
    numa_node: "0"
tikv_servers:
  - host: 192.168.3.224
  - host: 192.168.3.225
  - host: 192.168.3.226
monitoring_servers:
  - host: 192.168.3.220
grafana_servers:
  - host: 192.168.3.220
alertmanager_servers:
  - host: 192.168.3.220

你去pd的启动脚本里面看下有没有numactl 这个命令,看是不是真的绑定了

写错位置了:)

只是写到了 pd 的 配置文件中 ,没有作用 ( 甚至有反作用
因为 tiup 对 conifg 只会判断是否为 key: value 结构

server_configs:
  tidb:
    new_collations_enabled_on_first_bootstrap: true
  pd:
    numa_node: "1"

会将 numa_node=1 写到 pd 的toml配置文件中。虽不起作用,但是也不报错。经验证 server_configs 中的配置会写入组件的 {deploy-dir}/conf/toml 配置文件中。而 组件中的配置会写入 组件的 run.sh 脚本中。

楼上的大佬研究的很详细

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