tiup playground 适用于本地开发、学习及功能验证场景,自动启动pd、tikv、tidb、tiflash(可选)及监控组件,绑定127.0.0.1,默认端口4000/2379/3000;避免失败需确保网络通畅并预先安装libnsl。

直接上结论:Linux上装TiDB,优先用 tiup playground 快速验证,别一上来就手搭组件;真要生产部署,必须用 tiup cluster + topology.yaml,否则后续扩容、升级、监控全得自己扛。
tiup playground 适合什么场景?怎么避免启动失败?
tiup playground 是本地开发/学习/功能验证的唯一合理起点,不是“玩具”,但也不是生产方案。
- 它会自动下载并启动 PD、TiKV、TiDB、TiFlash(可选)、Prometheus、Grafana 全套组件,全部绑定
127.0.0.1,默认端口固定(4000SQL、2379PD、3000Grafana) - 常见失败原因只有两个:
curl被墙导致安装脚本卡住,或libnsl缺失(尤其在较新 CentOS/RHEL 8+ 或 KOS 系统上) - 解决方法:
- 安装前先确认网络通:
curl -I @#@#@#@#@#@#@#@#@#@0 - 若报
error while loading shared libraries: libnsl.so.1,运行:dnf install libnsl(RHEL/CentOS/KOS)或apt install libnsl1(Ubuntu)
- 安装前先确认网络通:
为什么不能用二进制包手动启动 PD/TiKV/TiDB?
手动执行 pd-server、tikv-server、tidb-server 看似可控,实则埋雷:
- 组件间通信依赖精确的
--pd-endpoints、--store、--data-dir参数,错一个就起不来 - 日志分散、进程无守护、崩溃不自拉起,
nohup ./xxx &启动后连ps aux | grep tidb都难定位 - 缺少配置校验、版本兼容性检查、证书生成逻辑(哪怕只是自签),
tiup内部已封装这些判断 - 更关键的是:手动启动的集群无法被
tiup cluster管理,后续想加节点或升级,只能重来
除非你明确在调试某个组件源码,否则跳过这一步。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
生产环境必须配 topology.yaml,但哪些字段不能乱改?
topology.yaml 是 tiup cluster deploy 的输入,它不是模板,而是声明式契约:
-
global.user必须是能免密 SSH 登录所有目标机器的用户(不能是root,推荐新建tidb用户并配好 sudo 权限) -
pd_servers、tikv_servers、tidb_servers下每个host必须是真实可达的 IP,不能写localhost或内网 DNS 名(DNS 解析失败会导致部署中断) -
deploy_dir和data_dir必须是不同挂载点,且data_dir所在磁盘需为 SSD(TiKV 对随机 I/O 敏感,SAS 或 HDD 会导致严重性能抖动) -
server_configs下若调优,只动明确文档支持的项,比如tikv.storage.block-cache.capacity,别碰raftdb或rocksdb底层参数——TiUP 不校验,但 TiKV 启动时会直接拒绝非法值
部署后连不上 4000 端口?先查这三处
mysql -h127.0.0.1 -P4000 -u root 连不上,别急着重装:
- 检查
tiup cluster display <cluster-name></cluster-name>输出里tidb实例状态是否为Up,不是就看日志:tiup cluster audit <cluster-name></cluster-name> - 查防火墙:
sudo iptables -L -n | grep 4000(CentOS 7)或sudo ufw status(Ubuntu),生产环境务必放开4000(SQL)、2379(PD client)、20160(TiKV)端口 - 如果用了
--host参数绑定非127.0.0.1(如--host 192.168.1.100),客户端必须用该 IP 连,localhost会走 Unix socket 而非 TCP,TiDB 默认不监听 socket
真正麻烦的从来不是“装不上”,而是装完后发现 PD 时间不同步、TiKV Region 分布倾斜、或者监控指标全空——这些在 playground 里看不到,但会在 topology.yaml 阶段因配置疏漏埋下伏笔。










