docker compose 启动tidb 报错runtime/cgo: pthread_create failed: Operation not permitted,什么原因?修改了很多配置都不行

docker compose 启动tidb 报错runtime/cgo: pthread_create failed: Operation not permitted,什么原因?修改了很多配置都不行,pd、tikv、tidb都报这个错

感觉像是环境禁止创建新线程了呢?

1 个赞

看着像新线程创建失败

1 个赞

介质和版本都对吧

1 个赞

操作系统用的啥

1 个赞

docker-compose.yml看下

1 个赞

感觉信息不是很完整. 不知道是不是虚拟机问题

1 个赞

感觉是容器无法创建新线程,多因系统 / 容器线程限制或权限不足,检查下线程配额与容器权限配置。

1 个赞

检查当前进程的线程数 ps -eLf | grep java | wc -l

Ubuntu18.04

看着像是Docker 容器缺少创建线程的权限

1 个赞

现在Docker Compose配置调整添加security_opt禁用默认的 seccomp 安全限制

1 个赞

然后添加cap_add赋予线程创建所需的权限试试看

1 个赞

试试privileged: true,我记得tidb官方还没有docker compose吧

是的,官方没有docker compose 版本,用stack启动不行

用stack启动不支持这个命令

tidb 测试开发可以使用 tiup playground
物理部署使用 tiup cluster
虚拟机可以使用 k8s + tidb operator

docker compose 已经很久很久没有维护了。

因为我们操作系统是Ubuntu18.04,现在用最新版本不支持这个版本的操作系统,升级操作系统成本太高,所以想先试试用docker compose的方式部署看看

tiup 安装不会拒绝的吧?他只是 check 不过罢了。

docker compose 部署不推荐。别折腾了。

1 个赞

+1 建议还是用 tiup 部署,可以试一试 tiup 能不能部署起来,部署不起来再考虑升级操作系统的版本,要不然你生产环境下也不安全。建议安装官方的部署文档的部署要求来做。

1 个赞