|
|
|
|
公众号矩阵

从0到1部署一套TiDB本地集群

TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。

作者: jinjunzhu 来源: jinjunzhu|2021-01-08 08:19

 

本文转载自微信公众号「 jinjunzhu」,作者 jinjunzhu 。转载本文请联系 jinjunzhu公众号。

TiDB是一款开源的NewSQL数据库,我们看一下官方的描述:

TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。

这里面有几个关键点:

  • 分布式关系型数据库
  • 兼容MySQL5.7
  • 支持HTAP(在线事务处理和在线分析处理)
  • 对金融行业支持很好,支持高可用、强一致和大数据场景

基本概念

这里介绍一下TiDB中的几个重要概念:

  • PD:Placement Driver,是TiDB的一个总控节点,负责集群的整体调度外,全局ID生成,以及全局时间戳TSO(中心化授时)的生成。也就是说全局时钟在这个节点实现。
  • TiKV:TiDB 的存储层,是一个分布式事务型的键值数据库,满足ACID事务,使用Raft协议保证多副本一致性,还存储统计数据,
  • TiFlash:HTAP形态的关键组件,它是TiKV的列存扩展,在提供了良好的隔离性的同时,也兼顾了强一致性。
  • Monitor:TiDB监控组件

实验环境

由于我本地资源的限制,我们使用快速部署的方式。

TiDB快速部署的方式有2种:

第一种:使用 TiUP Playground 快速部署本地测试环境

适用场景:利用本地 Mac 或者单机 Linux 环境快速部署 TiDB 集群。可以体验 TiDB 集群的基本架构,以及 TiDB、TiKV、PD、监控等基础组件的运行。

第二种:使用TiUP cluster在单机上模拟生产环境部署步骤

希望用单台Linux服务器,体验TiDB最小的完整拓扑的集群,并模拟生产的部署步骤。

这里我采用第二种方式。

据官方描述,TiDB在CentOS 7.3做过大量的测试,建议在CentOS 7.3以上部署。

本地环境:VMware虚拟机,操作系统CentOS7.6

开始部署

我们按照官方的步骤来安装

1.关闭防火墙

  1. systemctl stop firewalld 
  2. service  iptables stop 

2.下载并安装 TiUP,命令和结果如下

  1. [root@master ~]# curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh 
  2.   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current 
  3.                                  Dload  Upload   Total   Spent    Left  Speed 
  4. 100 8697k  100 8697k    0     0  4316k      0  0:00:02  0:00:02 --:--:-- 4318k 
  5. WARN: adding root certificate via internet: https://tiup-mirrors.pingcap.com/root.json 
  6. You can revoke this by remove /root/.tiup/bin/7b8e153f2e2d0928.root.json 
  7. Set mirror to https://tiup-mirrors.pingcap.com success 
  8. Detected shell: bash 
  9. Shell profile:  /root/.bash_profile 
  10. /root/.bash_profile has been modified to add tiup to PATH 
  11. open a new terminal or source /root/.bash_profile to use it 
  12. Installed path: /root/.tiup/bin/tiup 
  13. =============================================== 
  14. Have a try:     tiup playground 
  15. =============================================== 

3.安装 TiUP 的 cluster 组件

首先声明全局的环境变量,不然找不到tiup命令:

  1. source .bash_profile 

执行安装cluster命令:

  1. tiup cluster 

输出如下:

  1. [root@master ~]# tiup cluster 
  2. The component `cluster` is not installed; downloading from repository. 
  3. download https://tiup-mirrors.pingcap.com/cluster-v1.3.1-linux-amd64.tar.gz 10.05 MiB / 10.05 MiB 100.00% 13.05 MiB p/s                                                
  4. Starting component `cluster`: /root/.tiup/components/cluster/v1.3.1/tiup-cluster 
  5. Deploy a TiDB cluster for production 
  6.  
  7. Usage: 
  8.   tiup cluster [command] 
  9.  
  10. Available Commands: 
  11.   check       Perform preflight checks for the cluster. 
  12.   deploy      Deploy a cluster for production 
  13.   start       Start a TiDB cluster 
  14.   stop        Stop a TiDB cluster 
  15.   restart     Restart a TiDB cluster 
  16.   scale-in    Scale in a TiDB cluster 
  17.   scale-out   Scale out a TiDB cluster 
  18.   destroy     Destroy a specified cluster 
  19.   clean       (EXPERIMENTAL) Cleanup a specified cluster 
  20.   upgrade     Upgrade a specified TiDB cluster 
  21.   exec        Run shell command on host in the tidb cluster 
  22.   display     Display information of a TiDB cluster 
  23.   prune       Destroy and remove instances that is in tombstone state 
  24.   list        List all clusters 
  25.   audit       Show audit log of cluster operation 
  26.   import      Import an exist TiDB cluster from TiDB-Ansible 
  27.   edit-config Edit TiDB cluster config. 
  28. Will use editor from environment variable `EDITOR`, default use vi 
  29.   reload      Reload a TiDB cluster's config and restart if needed 
  30.   patch       Replace the remote package with a specified package and restart the service 
  31.   rename      Rename the cluster 
  32.   enable      Enable a TiDB cluster automatically at boot 
  33.   disable     Disable starting a TiDB cluster automatically at boot 
  34.   help        Help about any command 
  35.  
  36. Flags: 
  37.   -h, --help                help for tiup 
  38.       --ssh string          (EXPERIMENTAL) The executor type: 'builtin', 'system', 'none'. 
  39.       --ssh-timeout uint    Timeout in seconds to connect host via SSH, ignored for operations that don't need an SSH connection. (default 5) 
  40.   -v, --version             version for tiup 
  41.       --wait-timeout uint   Timeout in seconds to wait for an operation to complete, ignored for operations that don't fit. (default 120) 
  42.   -y, --yes                 Skip all confirmations and assumes 'yes' 
  43.  
  44. Use "tiup cluster help [command]" for more information about a command. 

4.调大sshd服务的连接数限制

这里需要使用root权限,具体修改/etc/ssh/sshd_config文件下面的参数配置:

  1. MaxSessions 20 

改完后重启sshd:

  1. [root@master ~]# service sshd restart 
  2. Redirecting to /bin/systemctl restart sshd.service 

5.编辑集群配置模板文件

这个文件我们命名为topo.yaml,内容如下:

  1. # # Global variables are applied to all deployments and used as the default value of 
  2. # # the deployments if a specific deployment value is missing. 
  3. global
  4.  user"tidb" 
  5.  ssh_port: 22 
  6.  deploy_dir: "/tidb-deploy" 
  7.  data_dir: "/tidb-data" 
  8.  
  9. # # Monitored variables are applied to all the machines. 
  10. monitored: 
  11.  node_exporter_port: 9100 
  12.  blackbox_exporter_port: 9115 
  13.  
  14. server_configs: 
  15.  tidb: 
  16.    log.slow-threshold: 300 
  17.  tikv: 
  18.    readpool.storage.use-unified-pool: false 
  19.    readpool.coprocessor.use-unified-pool: true 
  20.  pd: 
  21.    replication.enable-placement-rules: true 
  22.    replication.location-labels: ["host"
  23.  tiflash: 
  24.    logger.level"info" 
  25.  
  26. pd_servers: 
  27.  - host: 192.168.59.146 
  28.  
  29. tidb_servers: 
  30.  - host: 192.168.59.146 
  31.  
  32. tikv_servers: 
  33.  - host: 192.168.59.146 
  34.    port: 20160 
  35.    status_port: 20180 
  36.    config: 
  37.      server.labels: { host: "logic-host-1" } 
  38.  
  39. # - host: 192.168.59.146 
  40. #   port: 20161 
  41. #   status_port: 20181 
  42. #   config: 
  43. #     server.labels: { host: "logic-host-2" } 
  44.  
  45. # - host: 192.168.59.146 
  46. #   port: 20162 
  47. #   status_port: 20182 
  48. #   config: 
  49. #     server.labels: { host: "logic-host-3" } 
  50.  
  51. tiflash_servers: 
  52.  - host: 192.168.59.146 

这里有2点需要注意:

  • 文件中的host是部署TiDB的服务器ip
  • ssh_port默认是22

官方文件的tikv_servers是3个节点,我这里设置成了只有1个节点,原因是本地配置多个节点时只有1个节点能启动成功

6.部署集群

部署集群的命令如下:

  1. tiup cluster deploy <cluster-name> <tidb-version> ./topo.yaml --user root -p 

上面的cluster-name是集群名称,tidb-version是指TiDB版本号,可以通过tiup list tidb这个命令来查看,这里使用v3.1.2,集群名称叫mytidb-cluster,命令如下:

  1. tiup cluster deploy mytidb-cluster v3.1.2 ./topo.yaml --user root -p 

下面是部署时输出的日志:

  1. [root@master ~]# tiup cluster deploy mytidb-cluster v3.1.2 ./topo.yaml --user root -p 
  2. Starting component `cluster`: /root/.tiup/components/cluster/v1.3.1/tiup-cluster deploy mytidb-cluster v3.1.2 ./topo.yaml --user root -p 
  3. Please confirm your topology: 
  4. Cluster type:    tidb 
  5. Cluster name:    mytidb-cluster 
  6. Cluster version: v3.1.2 
  7. Type        Host            Ports                            OS/Arch       Directories 
  8. ----        ----            -----                            -------       ----------- 
  9. pd          192.168.59.146  2379/2380                        linux/x86_64  /tidb-deploy/pd-2379,/tidb-data/pd-2379 
  10. tikv        192.168.59.146  20160/20180                      linux/x86_64  /tidb-deploy/tikv-20160,/tidb-data/tikv-20160 
  11. tidb        192.168.59.146  4000/10080                       linux/x86_64  /tidb-deploy/tidb-4000 
  12. tiflash     192.168.59.146  9000/8123/3930/20170/20292/8234  linux/x86_64  /tidb-deploy/tiflash-9000,/tidb-data/tiflash-9000 
  13. prometheus  192.168.59.146  9090                             linux/x86_64  /tidb-deploy/prometheus-9090,/tidb-data/prometheus-9090 
  14. grafana     192.168.59.146  3000                             linux/x86_64  /tidb-deploy/grafana-3000 
  15. Attention: 
  16.     1. If the topology is not what you expected, check your yaml file. 
  17.     2. Please confirm there is no port/directory conflicts in same host. 
  18. Do you want to continue? [y/N]:  y 
  19. Input SSH password:  
  20. + Generate SSH keys ... Done 
  21. + Download TiDB components 
  22.   - Download pd:v3.1.2 (linux/amd64) ... Done 
  23.   - Download tikv:v3.1.2 (linux/amd64) ... Done 
  24.   - Download tidb:v3.1.2 (linux/amd64) ... Done 
  25.   - Download tiflash:v3.1.2 (linux/amd64) ... Done 
  26.   - Download prometheus:v3.1.2 (linux/amd64) ... Done 
  27.   - Download grafana:v3.1.2 (linux/amd64) ... Done 
  28.   - Download node_exporter:v0.17.0 (linux/amd64) ... Done 
  29.   - Download blackbox_exporter:v0.12.0 (linux/amd64) ... Done 
  30. + Initialize target host environments 
  31.   - Prepare 192.168.59.146:22 ... Done 
  32. + Copy files 
  33.   - Copy pd -> 192.168.59.146 ... Done 
  34.   - Copy tikv -> 192.168.59.146 ... Done 
  35.   - Copy tidb -> 192.168.59.146 ... Done 
  36.   - Copy tiflash -> 192.168.59.146 ... Done 
  37.   - Copy prometheus -> 192.168.59.146 ... Done 
  38.   - Copy grafana -> 192.168.59.146 ... Done 
  39.   - Copy node_exporter -> 192.168.59.146 ... Done 
  40.   - Copy blackbox_exporter -> 192.168.59.146 ... Done 
  41. Check status 
  42. Enabling component pd 
  43.         Enabling instance pd 192.168.59.146:2379 
  44.         Enable pd 192.168.59.146:2379 success 
  45. Enabling component node_exporter 
  46. Enabling component blackbox_exporter 
  47. Enabling component tikv 
  48.         Enabling instance tikv 192.168.59.146:20160 
  49.         Enable tikv 192.168.59.146:20160 success 
  50. Enabling component tidb 
  51.         Enabling instance tidb 192.168.59.146:4000 
  52.         Enable tidb 192.168.59.146:4000 success 
  53. Enabling component tiflash 
  54.         Enabling instance tiflash 192.168.59.146:9000 
  55.         Enable tiflash 192.168.59.146:9000 success 
  56. Enabling component prometheus 
  57.         Enabling instance prometheus 192.168.59.146:9090 
  58.         Enable prometheus 192.168.59.146:9090 success 
  59. Enabling component grafana 
  60.         Enabling instance grafana 192.168.59.146:3000 
  61.         Enable grafana 192.168.59.146:3000 success 
  62. Cluster `mytidb-cluster` deployed successfully, you can start it with command: `tiup cluster start mytidb-cluster` 

7.启动集群

命令如下:

  1. tiup cluster start mytidb-cluster 

启动成功日志如下:

  1. [root@master ~]# tiup cluster start mytidb-cluster 
  2. Starting component `cluster`: /root/.tiup/components/cluster/v1.3.1/tiup-cluster start mytidb-cluster 
  3. Starting cluster mytidb-cluster... 
  4. + [ Serial ] - SSHKeySet: privateKey=/root/.tiup/storage/cluster/clusters/mytidb-cluster/ssh/id_rsa, publicKey=/root/.tiup/storage/cluster/clusters/mytidb-cluster/ssh/id_rsa.pub 
  5. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  6. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  7. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  8. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  9. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  10. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  11. + [ Serial ] - StartCluster 
  12. Starting component pd 
  13.         Starting instance pd 192.168.59.146:2379 
  14.         Start pd 192.168.59.146:2379 success 
  15. Starting component node_exporter 
  16.         Starting instance 192.168.59.146 
  17.         Start 192.168.59.146 success 
  18. Starting component blackbox_exporter 
  19.         Starting instance 192.168.59.146 
  20.         Start 192.168.59.146 success 
  21. Starting component tikv 
  22.         Starting instance tikv 192.168.59.146:20160 
  23.         Start tikv 192.168.59.146:20160 success 
  24. Starting component tidb 
  25.         Starting instance tidb 192.168.59.146:4000 
  26.         Start tidb 192.168.59.146:4000 success 
  27. Starting component tiflash 
  28.         Starting instance tiflash 192.168.59.146:9000 
  29.         Start tiflash 192.168.59.146:9000 success 
  30. Starting component prometheus 
  31.         Starting instance prometheus 192.168.59.146:9090 
  32.         Start prometheus 192.168.59.146:9090 success 
  33. Starting component grafana 
  34.         Starting instance grafana 192.168.59.146:3000 
  35.         Start grafana 192.168.59.146:3000 success 
  36. + [ Serial ] - UpdateTopology: cluster=mytidb-cluster 
  37. Started cluster `mytidb-cluster` successfully 

8.访问数据库

因为TiDB支持mysql客户端访问,我们使用sqlyog登录TiDB,用户名root,密码空,地址192.168.59.149,端口4000,如下图:

登录成功如下图,左侧我们可以看到TiDB自带的一些表:

9.访问TiDB的Grafana监控

访问地址如下:

  1. http://192.168.59.146:3000/login 

初始用户名/密码:admin/admin,登录进去后修改密码,成功后页面如下:

10.dashboard

TiDB v3.x版本没有dashboard,v4.0开始加入,访问地址如下:

  1. http://192.168.59.146:2379/dashboard 

11.查看集群列表

命令:tiup cluster list,结果如下:

  1. [root@master /]# tiup cluster list 
  2. Starting component `cluster`: /root/.tiup/components/cluster/v1.3.1/tiup-cluster list 
  3. Name            User  Version  Path                                                 PrivateKey 
  4. ----            ----  -------  ----                                                 ---------- 
  5. mytidb-cluster  tidb  v3.1.2   /root/.tiup/storage/cluster/clusters/mytidb-cluster  /root/.tiup/storage/cluster/clusters/mytidb-cluster/ssh/id_rsa 

12.查看集群拓扑结构

命令如下:

  1. tiup cluster list 

输入命令后,我本地集群的输出如下:

  1. [root@master /]# tiup cluster list 
  2. Starting component `cluster`: /root/.tiup/components/cluster/v1.3.1/tiup-cluster list 
  3. Name            User  Version  Path                                                 PrivateKey 
  4. ----            ----  -------  ----                                                 ---------- 
  5. mytidb-cluster  tidb  v3.1.2   /root/.tiup/storage/cluster/clusters/mytidb-cluster  /root/.tiup/storage/cluster/clusters/mytidb-cluster/ssh/id_rsa 
  6. You have new mail in /var/spool/mail/root 
  7. [root@master /]# tiup cluster display mytidb-cluster 
  8. Starting component `cluster`: /root/.tiup/components/cluster/v1.3.1/tiup-cluster display mytidb-cluster 
  9. Cluster type:       tidb 
  10. Cluster name:       mytidb-cluster 
  11. Cluster version:    v3.1.2 
  12. SSH type:           builtin 
  13. ID                    Role        Host            Ports                            OS/Arch       Status  Data Dir                    Deploy Dir 
  14. --                    ----        ----            -----                            -------       ------  --------                    ---------- 
  15. 192.168.59.146:3000   grafana     192.168.59.146  3000                             linux/x86_64  Up      -                           /tidb-deploy/grafana-3000 
  16. 192.168.59.146:2379   pd          192.168.59.146  2379/2380                        linux/x86_64  Up|L    /tidb-data/pd-2379          /tidb-deploy/pd-2379 
  17. 192.168.59.146:9090   prometheus  192.168.59.146  9090                             linux/x86_64  Up      /tidb-data/prometheus-9090  /tidb-deploy/prometheus-9090 
  18. 192.168.59.146:4000   tidb        192.168.59.146  4000/10080                       linux/x86_64  Up      -                           /tidb-deploy/tidb-4000 
  19. 192.168.59.146:9000   tiflash     192.168.59.146  9000/8123/3930/20170/20292/8234  linux/x86_64  Up      /tidb-data/tiflash-9000     /tidb-deploy/tiflash-9000 
  20. 192.168.59.146:20160  tikv        192.168.59.146  20160/20180                      linux/x86_64  Up      /tidb-data/tikv-20160       /tidb-deploy/tikv-20160 
  21. Total nodes: 6 

遇到的问题

安装TiDB v4.0.9版本,可以部署成功,但是启动报错,如果topo.yaml中配置了3个节点,启动报错,tikv只能启动成功一个,日志如下:

  1. [root@master ~]# tiup cluster start mytidb-cluster 
  2. Starting component `cluster`: /root/.tiup/components/cluster/v1.3.1/tiup-cluster start mytidb-cluster 
  3. Starting cluster mytidb-cluster... 
  4. + [ Serial ] - SSHKeySet: privateKey=/root/.tiup/storage/cluster/clusters/mytidb-cluster/ssh/id_rsa, publicKey=/root/.tiup/storage/cluster/clusters/mytidb-cluster/ssh/id_rsa.pub 
  5. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  6. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  7. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  8. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  9. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  10. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  11. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  12. + [Parallel] - UserSSH: user=tidb, host=192.168.59.146 
  13. + [ Serial ] - StartCluster 
  14. Starting component pd 
  15.         Starting instance pd 192.168.59.146:2379 
  16.         Start pd 192.168.59.146:2379 success 
  17. Starting component node_exporter 
  18.         Starting instance 192.168.59.146 
  19.         Start 192.168.59.146 success 
  20. Starting component blackbox_exporter 
  21.         Starting instance 192.168.59.146 
  22.         Start 192.168.59.146 success 
  23. Starting component tikv 
  24.         Starting instance tikv 192.168.59.146:20162 
  25.         Starting instance tikv 192.168.59.146:20160 
  26.         Starting instance tikv 192.168.59.146:20161 
  27.         Start tikv 192.168.59.146:20162 success 
  28.  
  29. Error: failed to start tikv: failed to start: tikv 192.168.59.146:20161, please check the instance's log(/tidb-deploy/tikv-20161/log) for more detail.: timed out waiting for port 20161 to be started after 2m0s 
  30.  
  31. Verbose debug logs has been written to /root/.tiup/logs/tiup-cluster-debug-2021-01-05-19-58-46.log. 
  32. Error: run `/root/.tiup/components/cluster/v1.3.1/tiup-cluster` (wd:/root/.tiup/data/SLGrLJI) failed: exit status 1 

查看日志文件/tidb-deploy/tikv-20161/log/tikv.log,提示下面2个目录下找不到文件:

  1. [2021/01/06 05:48:44.231 -05:00] [FATAL] [lib.rs:482] ["called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: \"No such file or directory\" }"] [backtrace="stack backtrace:\n   0: tikv_util::set_panic_hook::{{closure}}\n             at components/tikv_util/src/lib.rs:481\n   1: std::panicking::rust_panic_with_hook\n             at src/libstd/panicking.rs:475\n   2: rust_begin_unwind\n             at src/libstd/panicking.rs:375\n   3: core::panicking::panic_fmt\n             at src/libcore/panicking.rs:84\n   4: core::result::unwrap_failed\n             at src/libcore/result.rs:1188\n   5: core::result::Result<T,E>::unwrap\n             at /rustc/0de96d37fbcc54978458c18f5067cd9817669bc8/src/libcore/result.rs:956\n      cmd::server::TiKVServer::init_fs\n             at cmd/src/server.rs:310\n      cmd::server::run_tikv\n             at cmd/src/server.rs:95\n   6: tikv_server::main\n             at cmd/src/bin/tikv-server.rs:166\n   7: std::rt::lang_start::{{closure}}\n             at /rustc/0de96d37fbcc54978458c18f5067cd9817669bc8/src/libstd/rt.rs:67\n   8: main\n   9: __libc_start_main\n  10: <unknown>\n"] [location=src/libcore/result.rs:1188] [thread_name=main] 

如果配置一个节点,启动还是失败,启动日志我们截取后半段:

  1. Starting component pd 
  2.         Starting instance pd 192.168.59.146:2379 
  3.         Start pd 192.168.59.146:2379 success 
  4. Starting component node_exporter 
  5.         Starting instance 192.168.59.146 
  6.         Start 192.168.59.146 success 
  7. Starting component blackbox_exporter 
  8.         Starting instance 192.168.59.146 
  9.         Start 192.168.59.146 success 
  10. Starting component tikv 
  11.         Starting instance tikv 192.168.59.146:20160 
  12.         Start tikv 192.168.59.146:20160 success 
  13. Starting component tidb 
  14.         Starting instance tidb 192.168.59.146:4000 
  15.         Start tidb 192.168.59.146:4000 success 
  16. Starting component tiflash 
  17.         Starting instance tiflash 192.168.59.146:9000 
  18.  
  19. Error: failed to start tiflash: failed to start: tiflash 192.168.59.146:9000, please check the instance's log(/tidb-deploy/tiflash-9000/log) for more detail.: timed out waiting for port 9000 to be started after 2m0s 
  20.  
  21. Verbose debug logs has been written to /root/.tiup/logs/tiup-cluster-debug-2021-01-06-20-02-13.log. 

在/tidb-deploy/tiflash-9000/log中文件如下:

  1. [2021/01/06 20:06:26.207 -05:00] [INFO] [mod.rs:335] ["starting working thread"] [worker=region-collector-worker] 
  2. [2021/01/06 20:06:27.130 -05:00] [FATAL] [lib.rs:482] ["called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: \"No such file or directory\" }"] [backtrace="stack backtrace:\n   0: tikv_util::set_panic_hook::{{closure}}\n   1: std::panicking::rust_panic_with_hook\n             at src/libstd/panicking.rs:475\n   2: rust_begin_unwind\n             at src/libstd/panicking.rs:375\n   3: core::panicking::panic_fmt\n             at src/libcore/panicking.rs:84\n   4: core::result::unwrap_failed\n             at src/libcore/result.rs:1188\n   5: cmd::server::run_tikv\n   6: run_proxy\n   7: operator()\n             at /home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/tics/dbms/src/Server/Server.cpp:415\n   8: execute_native_thread_routine\n             at ../../../../../libstdc++-v3/src/c++11/thread.cc:83\n   9: start_thread\n  10: __clone\n"] [location=src/libcore/result.rs:1188] [thread_name=<unnamed>] 

试了v4.0.1版本,也是一样的问题,都是报找不到文件的错误。

总结

TiDB部署相对容易,但是如果部署失败,比如本文的V4.0.x版本,不太好解决,因为网上相关的经验很少,官网也找不到,只能翻源代码来解决了。

【编辑推荐】

  1. Oracle数据库补丁(PSU+SPU+CPU)管理实战视频课程
  2. Oracle12c数据库培训教程07:Oracle12.2 RAC集群管理之RAC IP地址修改
  3. Oracle数据库简介视频课程
  4. Linux设备类型与文件目录结构_MySQL数据库入门系列教程10
  5. 深渊之刃-Greenplum数据库之拉链表的实现
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

1人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

30人订阅学习

数据中心和VPDN网络建设案例

数据中心和VPDN网络建设案例

漫画+案例
共20章 | 捷哥CCIE

209人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微