数据库必知必会:TiDB(11)TiDB集群安装

news2024/12/26 22:59:52

数据库必知必会:TiDB(11)TiDB集群安装

  • TiDB集群安装
    • 单机环境上安装集群
      • 下载并安装TiUP工具
      • 安装TiUP cluster组件
      • 创建拓扑文件
      • 配置SSH免密登录
      • 检查安装要求
      • 创建安装目录
      • 部署集群
      • 启动集群
    • 验证集群启动
      • 使用命令验证
      • 通过Dashboard查看
      • 通过Grafana查看
      • 通过Prometheus查看
  • 写在后面

TiDB集群安装

TiDB集群的安装,需要先安装一台中控机,然后通过中控机进行集群的安装及管理。

单机环境上安装集群

单机环境集群式将所有节点都安装在同一台服务器上。

在集群中,PD实例需要有3个,TiKV实例需要有3个,其余的实例可以只保留1个。

安装过程中,需要先安装中控机,然后通过中控机安装、管理集群。

下载并安装TiUP工具

通过命令下载并安装TiUP工具。

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

安装过程为:

wux_labs@wux-labs-vm:~$ curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 7088k  100 7088k    0     0  1483k      0  0:00:04  0:00:04 --:--:-- 1561k
WARN: adding root certificate via internet: https://tiup-mirrors.pingcap.com/root.json
You can revoke this by remove /home/wux_labs/.tiup/bin/7b8e153f2e2d0928.root.json
Successfully set mirror to https://tiup-mirrors.pingcap.com
Detected shell: bash
Shell profile:  /home/wux_labs/.bashrc
/home/wux_labs/.bashrc has been modified to add tiup to PATH
open a new terminal or source /home/wux_labs/.bashrc to use it
Installed path: /home/wux_labs/.tiup/bin/tiup
===============================================
Have a try:     tiup playground
===============================================
wux_labs@wux-labs-vm:~$

image-20230215225428932

安装完成后,命令行中提示需要执行source /home/wux_labs/.bashrc让环境变量生效,实际上这是因为在执行installs.sh的时候往这个文件中追加了:

export PATH=/home/wux_labs/.tiup/bin:$PATH

按提示执行命令让环境变量生效即可,此时,tiup命令被添加到环境变量PATH中。

安装TiUP cluster组件

执行以下命令安装cluster组件:

tiup cluster

安装过程为:

wux_labs@wux-labs-vm:~$ tiup cluster
tiup is checking updates for component cluster ...timeout(2s)!
The component `cluster` version  is not installed; downloading from repository.
download https://tiup-mirrors.pingcap.com/cluster-v1.11.3-linux-amd64.tar.gz 8.44 MiB / 8.44 MiB 100.00% 7.00 MiB/s                                   
Starting component `cluster`: /home/wux_labs/.tiup/components/cluster/v1.11.3/tiup-cluster
Deploy a TiDB cluster for production

Usage:
  tiup cluster [command]

Available Commands:
  check       Perform preflight checks for the cluster.
  deploy      Deploy a cluster for production
  start       Start a TiDB cluster
  stop        Stop a TiDB cluster
  restart     Restart a TiDB cluster
  scale-in    Scale in a TiDB cluster
  scale-out   Scale out a TiDB cluster
  destroy     Destroy a specified cluster
  clean       (EXPERIMENTAL) Cleanup a specified cluster
  upgrade     Upgrade a specified TiDB cluster
  display     Display information of a TiDB cluster
  prune       Destroy and remove instances that is in tombstone state
  list        List all clusters
  audit       Show audit log of cluster operation
  import      Import an exist TiDB cluster from TiDB-Ansible
  edit-config Edit TiDB cluster config
  show-config Show TiDB cluster config
  reload      Reload a TiDB cluster's config and restart if needed
  patch       Replace the remote package with a specified package and restart the service
  rename      Rename the cluster
  enable      Enable a TiDB cluster automatically at boot
  disable     Disable automatic enabling of TiDB clusters at boot
  replay      Replay previous operation and skip successed steps
  template    Print topology template
  tls         Enable/Disable TLS between TiDB components
  meta        backup/restore meta information
  help        Help about any command
  completion  Generate the autocompletion script for the specified shell

Flags:
  -c, --concurrency int     max number of parallel tasks allowed (default 5)
      --format string       (EXPERIMENTAL) The format of output, available values are [default, json] (default "default")
  -h, --help                help for tiup
      --ssh string          (EXPERIMENTAL) The executor type: 'builtin', 'system', 'none'.
      --ssh-timeout uint    Timeout in seconds to connect host via SSH, ignored for operations that don't need an SSH connection. (default 5)
  -v, --version             version for tiup
      --wait-timeout uint   Timeout in seconds to wait for an operation to complete, ignored for operations that don't fit. (default 120)
  -y, --yes                 Skip all confirmations and assumes 'yes'

Use "tiup cluster help [command]" for more information about a command.
wux_labs@wux-labs-vm:~$

这样TiUP cluster组件就安装完成。

创建拓扑文件

为了防止配置错误、提高配置效率,可以通过命令生成拓扑文件模板,然后基于模板修改拓扑配置。命令如下:

tiup cluster template > topology.yaml

image-20230215230633664

由于是在一台服务器上部署多个实例,所以PD、TiKV的多个实例之间需要用不同的端口来进行区分,最终修改后的拓扑文件为:

global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/tidb-deploy"
  data_dir: "/tidb-data"
  arch: "amd64"

monitored:
  node_exporter_port: 9100
  blackbox_exporter_port: 9115

server_configs:
 tidb:
   log.slow-threshold: 300
 tikv:
   readpool.storage.use-unified-pool: false
   readpool.coprocessor.use-unified-pool: true
 pd:
   replication.enable-placement-rules: true
   replication.location-labels: ["host"]

pd_servers:
  - host: wux-labs-vm
    client_port: 23791
    peer_port: 23801
    deploy_dir: "/tidb-deploy/pd-23791"
    data_dir: "/tidb-data/pd-23791"
    log_dir: "/tidb-deploy/pd-23791/log"
    config:
      server.labels: { host: "logic-host-1" }
  - host: wux-labs-vm
    client_port: 23792
    peer_port: 23802
    deploy_dir: "/tidb-deploy/pd-23792"
    data_dir: "/tidb-data/pd-23792"
    log_dir: "/tidb-deploy/pd-23792/log"
  - host: wux-labs-vm
    client_port: 23793
    peer_port: 23803
    deploy_dir: "/tidb-deploy/pd-23793"
    data_dir: "/tidb-data/pd-23793"
    log_dir: "/tidb-deploy/pd-23793/log"

tidb_servers:
  - host: wux-labs-vm

tikv_servers:
  - host: wux-labs-vm
    port: 20161
    status_port: 20181
    deploy_dir: "/tidb-deploy/tikv-20161"
    data_dir: "/tidb-data/tikv-20161"
    log_dir: "/tidb-deploy/tikv-20161/log"
    config:
      server.labels: { host: "logic-host-1" }
  - host: wux-labs-vm
    port: 20162
    status_port: 20182
    deploy_dir: "/tidb-deploy/tikv-20162"
    data_dir: "/tidb-data/tikv-20162"
    log_dir: "/tidb-deploy/tikv-20162/log"
    config:
      server.labels: { host: "logic-host-2" }
  - host: wux-labs-vm
    port: 20163
    status_port: 20183
    deploy_dir: "/tidb-deploy/tikv-20163"
    data_dir: "/tidb-data/tikv-20163"
    log_dir: "/tidb-deploy/tikv-20163/log"
    config:
      server.labels: { host: "logic-host-3" }
    
tiflash_servers:
  - host: wux-labs-vm
  
monitoring_servers:
  - host: wux-labs-vm
  
grafana_servers:
  - host: wux-labs-vm
  
alertmanager_servers:
  - host: wux-labs-vm

配置SSH免密登录

由于是通过中控机安装、管理集群,虽然是单机环境的集群,也需要配置一下SSH免密登录。

wux_labs@wux-labs-vm:~$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/wux_labs/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/wux_labs/.ssh/id_rsa
Your public key has been saved in /home/wux_labs/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:sKT4o0ISwCqLtL0cVm4yFTFQS19FJbp3FsTyXfA/Gmg wux_labs@wux-labs-vm
The key's randomart image is:
+---[RSA 3072]----+
|.  .o=.  .o+oo.. |
|..  ..+ . ..o. ..|
|o    .+. .  o.. o|
|+. . = o  . .....|
|+o+ = . S. E + ..|
|+o B o    o o o .|
|o o O        .   |
|.  + .           |
| ..              |
+----[SHA256]-----+
wux_labs@wux-labs-vm:~$ 

image-20230215232452112

检查安装要求

在安装集群之前,为了确保集群安装成功,需要先检查一下服务器是否满足安装集群的要求。执行以下命令进行检查:

tiup cluster check ./topology.yaml

检查过程为:

wux_labs@wux-labs-vm:~$ tiup cluster check ./topology.yaml
tiup is checking updates for component cluster ...
Starting component `cluster`: /home/wux_labs/.tiup/components/cluster/v1.11.3/tiup-cluster check ./topology.yaml

+ Detect CPU Arch Name
  - Detecting node wux-labs-vm Arch info ... Done

+ Detect CPU OS Name
  - Detecting node wux-labs-vm OS info ... Done
+ Download necessary tools
  - Downloading check tools for linux/amd64 ... Done
+ Collect basic system information
+ Collect basic system information
  - Getting system info of wux-labs-vm:22 ... Done
+ Check time zone
  - Checking node wux-labs-vm ... Done
+ Check system requirements
+ Check system requirements
+ Check system requirements
+ Check system requirements
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
  - Checking node wux-labs-vm ... Done
+ Cleanup check files
  - Cleanup check files on wux-labs-vm:22 ... Done
Node         Check         Result  Message
----         -----         ------  -------
wux-labs-vm  sysctl        Fail    net.ipv4.tcp_syncookies = 1, should be 0
wux-labs-vm  sysctl        Fail    vm.swappiness = 60, should be 0
wux-labs-vm  sysctl        Fail    net.core.somaxconn = 4096, should be greater than 32768
wux-labs-vm  thp           Fail    THP is enabled, please disable it for best performance
wux-labs-vm  command       Fail    numactl not usable, bash: numactl: command not found
wux-labs-vm  os-version    Warn    OS is Ubuntu 20.04.5 LTS 20.04.5 (ubuntu support is not fully tested, be careful)
wux-labs-vm  cpu-cores     Pass    number of CPU cores / threads: 2
wux-labs-vm  memory        Pass    memory size is 8192MB
wux-labs-vm  selinux       Pass    SELinux is disabled
wux-labs-vm  service       Pass    service firewalld not found, ignore
wux-labs-vm  cpu-governor  Warn    Unable to determine current CPU frequency governor policy
wux-labs-vm  network       Pass    network speed of enP58751s1 is 50000MB
wux-labs-vm  network       Pass    network speed of eth0 is 50000MB
wux-labs-vm  limits        Fail    soft limit of 'nofile' for user 'tidb' is not set or too low
wux-labs-vm  limits        Fail    hard limit of 'nofile' for user 'tidb' is not set or too low
wux-labs-vm  limits        Fail    soft limit of 'stack' for user 'tidb' is not set or too low
wux_labs@wux-labs-vm:~$ 

image-20230215232908708

可以看到,检查结果中有失败的项目Fail的。

这里可以手工修复不满足的项,也可以通过以下命令在检查的时候自动修复不满足的。

tiup cluster check ./topology.yaml --apply

命令执行以后,会重复刚才的检查动作,并且在检查完后会多出一步修复的动作,修复不满足的项。

image-20230215233517569

修复完成后再次执行检查,确保配置项都是满足要求的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oBTP8oCO-1676959836469)(https://gitee.com/wux-labs/Blogs/raw/master/images/image-20230215233846044.png)]

这里还差一个numactl软件需要手动安装,在Ubuntu 20.04系统中,执行命令安装软件:

sudo apt-get install numactl

image-20230215234331368

软件安装完成后,再次检查一下,最终检查结果为全部通过。

image-20230215234514221

创建安装目录

由于我们指定了集群部署的目录是

  deploy_dir: "/tidb-deploy"
  data_dir: "/tidb-data"

但是我们当前使用的用户并非root用户,所以需要先手动创建一下安装目录。

sudo mkdir /tidb-deploy /tidb-data
sudo chmod 777 /tidb-data /tidb-deploy

image-20230215235849181

部署集群

所有检查项都通过以后,通过deploy部署命令部署TiDB集群,其中cluster1是部署的集群的名字。

tiup cluster deploy cluster1 v6.1.0 ./topology.yaml

在等待确认的地方输入y,确认继续安装。

image-20230216001011887

整个安装过程为:

wux_labs@wux-labs-vm:~$ tiup cluster deploy cluster1 v6.1.0 ./topology.yaml
tiup is checking updates for component cluster ...
Starting component `cluster`: /home/wux_labs/.tiup/components/cluster/v1.11.3/tiup-cluster deploy cluster1 v6.1.0 ./topology.yaml

+ Detect CPU Arch Name
  - Detecting node wux-labs-vm Arch info ... Done

+ Detect CPU OS Name
  - Detecting node wux-labs-vm OS info ... Done
Please confirm your topology:
Cluster type:    tidb
Cluster name:    cluster1
Cluster version: v6.1.0
Role          Host         Ports                            OS/Arch       Directories
----          ----         -----                            -------       -----------
pd            wux-labs-vm  23791/23801                      linux/x86_64  /tidb-deploy/pd-23791,/tidb-data/pd-23791
pd            wux-labs-vm  23792/23802                      linux/x86_64  /tidb-deploy/pd-23792,/tidb-data/pd-23792
pd            wux-labs-vm  23793/23803                      linux/x86_64  /tidb-deploy/pd-23793,/tidb-data/pd-23793
tikv          wux-labs-vm  20161/20181                      linux/x86_64  /tidb-deploy/tikv-20161,/tidb-data/tikv-20161
tikv          wux-labs-vm  20162/20182                      linux/x86_64  /tidb-deploy/tikv-20162,/tidb-data/tikv-20162
tikv          wux-labs-vm  20163/20183                      linux/x86_64  /tidb-deploy/tikv-20163,/tidb-data/tikv-20163
tidb          wux-labs-vm  4000/10080                       linux/x86_64  /tidb-deploy/tidb-4000
tiflash       wux-labs-vm  9000/8123/3930/20170/20292/8234  linux/x86_64  /tidb-deploy/tiflash-9000,/tidb-data/tiflash-9000
prometheus    wux-labs-vm  9090/12020                       linux/x86_64  /tidb-deploy/prometheus-9090,/tidb-data/prometheus-9090
grafana       wux-labs-vm  3000                             linux/x86_64  /tidb-deploy/grafana-3000
alertmanager  wux-labs-vm  9093/9094                        linux/x86_64  /tidb-deploy/alertmanager-9093,/tidb-data/alertmanager-9093
Attention:
    1. If the topology is not what you expected, check your yaml file.
    2. Please confirm there is no port/directory conflicts in same host.
Do you want to continue? [y/N]: (default=N) y
+ Generate SSH keys ... Done
+ Download TiDB components
  - Download pd:v6.1.0 (linux/amd64) ... Done
  - Download tikv:v6.1.0 (linux/amd64) ... Done
  - Download tidb:v6.1.0 (linux/amd64) ... Done
  - Download tiflash:v6.1.0 (linux/amd64) ... Done
  - Download prometheus:v6.1.0 (linux/amd64) ... Done
  - Download grafana:v6.1.0 (linux/amd64) ... Done
  - Download alertmanager: (linux/amd64) ... Done
  - Download node_exporter: (linux/amd64) ... Done
  - Download blackbox_exporter: (linux/amd64) ... Done
+ Initialize target host environments
  - Prepare wux-labs-vm:22 ... Done
+ Deploy TiDB instance
  - Copy pd -> wux-labs-vm ... Done
  - Copy pd -> wux-labs-vm ... Done
  - Copy pd -> wux-labs-vm ... Done
  - Copy tikv -> wux-labs-vm ... Done
  - Copy tikv -> wux-labs-vm ... Done
  - Copy tikv -> wux-labs-vm ... Done
  - Copy tidb -> wux-labs-vm ... Done
  - Copy tiflash -> wux-labs-vm ... Done
  - Copy prometheus -> wux-labs-vm ... Done
  - Copy grafana -> wux-labs-vm ... Done
  - Copy alertmanager -> wux-labs-vm ... Done
  - Deploy node_exporter -> wux-labs-vm ... Done
  - Deploy blackbox_exporter -> wux-labs-vm ... Done
+ Copy certificate to remote host
+ Init instance configs
  - Generate config pd -> wux-labs-vm:23791 ... Done
  - Generate config pd -> wux-labs-vm:23792 ... Done
  - Generate config pd -> wux-labs-vm:23793 ... Done
  - Generate config tikv -> wux-labs-vm:20161 ... Done
  - Generate config tikv -> wux-labs-vm:20162 ... Done
  - Generate config tikv -> wux-labs-vm:20163 ... Done
  - Generate config tidb -> wux-labs-vm:4000 ... Done
  - Generate config tiflash -> wux-labs-vm:9000 ... Done
  - Generate config prometheus -> wux-labs-vm:9090 ... Done
  - Generate config grafana -> wux-labs-vm:3000 ... Done
  - Generate config alertmanager -> wux-labs-vm:9093 ... Done
+ Init monitor configs
  - Generate config node_exporter -> wux-labs-vm ... Done
  - Generate config blackbox_exporter -> wux-labs-vm ... Done
Enabling component pd
        Enabling instance wux-labs-vm:23793
        Enabling instance wux-labs-vm:23792
        Enabling instance wux-labs-vm:23791
        Enable instance wux-labs-vm:23791 success
        Enable instance wux-labs-vm:23792 success
        Enable instance wux-labs-vm:23793 success
Enabling component tikv
        Enabling instance wux-labs-vm:20163
        Enabling instance wux-labs-vm:20161
        Enabling instance wux-labs-vm:20162
        Enable instance wux-labs-vm:20163 success
        Enable instance wux-labs-vm:20162 success
        Enable instance wux-labs-vm:20161 success
Enabling component tidb
        Enabling instance wux-labs-vm:4000
        Enable instance wux-labs-vm:4000 success
Enabling component tiflash
        Enabling instance wux-labs-vm:9000
        Enable instance wux-labs-vm:9000 success
Enabling component prometheus
        Enabling instance wux-labs-vm:9090
        Enable instance wux-labs-vm:9090 success
Enabling component grafana
        Enabling instance wux-labs-vm:3000
        Enable instance wux-labs-vm:3000 success
Enabling component alertmanager
        Enabling instance wux-labs-vm:9093
        Enable instance wux-labs-vm:9093 success
Enabling component node_exporter
        Enabling instance wux-labs-vm
        Enable wux-labs-vm success
Enabling component blackbox_exporter
        Enabling instance wux-labs-vm
        Enable wux-labs-vm success
Cluster `cluster1` deployed successfully, you can start it with command: `tiup cluster start cluster1 --init`
wux_labs@wux-labs-vm:~$

至此,集群就算是安装完成了,接下来就可以启动集群了。

启动集群

部署完成后,可以通过命令查看已安装的集群的信息。

  • 列出集群列表
tiup cluster list

image-20230216001635891

  • 查看集群状态
tiup cluster display cluster1

image-20230216001820070

可以看到,当前集群中有11个实例节点,但是都没有启动。

按照提示可以启动集群,其中--init表示安全启动,启动后会给数据库的root用户生成一个密码。

tiup cluster start cluster1 --init

启动过程为:

wux_labs@wux-labs-vm:~$ tiup cluster start cluster1 --init
tiup is checking updates for component cluster ...
Starting component `cluster`: /home/wux_labs/.tiup/components/cluster/v1.11.3/tiup-cluster start cluster1 --init
Starting cluster cluster1...
+ [ Serial ] - SSHKeySet: privateKey=/home/wux_labs/.tiup/storage/cluster/clusters/cluster1/ssh/id_rsa, publicKey=/home/wux_labs/.tiup/storage/cluster/clusters/cluster1/ssh/id_rsa.pub
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [Parallel] - UserSSH: user=tidb, host=wux-labs-vm
+ [ Serial ] - StartCluster
Starting component pd
        Starting instance wux-labs-vm:23793
        Starting instance wux-labs-vm:23791
        Starting instance wux-labs-vm:23792
        Start instance wux-labs-vm:23792 success
        Start instance wux-labs-vm:23791 success
        Start instance wux-labs-vm:23793 success
Starting component tikv
        Starting instance wux-labs-vm:20163
        Starting instance wux-labs-vm:20161
        Starting instance wux-labs-vm:20162
        Start instance wux-labs-vm:20162 success
        Start instance wux-labs-vm:20163 success
        Start instance wux-labs-vm:20161 success
Starting component tidb
        Starting instance wux-labs-vm:4000
        Start instance wux-labs-vm:4000 success
Starting component tiflash
        Starting instance wux-labs-vm:9000
        Start instance wux-labs-vm:9000 success
Starting component prometheus
        Starting instance wux-labs-vm:9090
        Start instance wux-labs-vm:9090 success
Starting component grafana
        Starting instance wux-labs-vm:3000
        Start instance wux-labs-vm:3000 success
Starting component alertmanager
        Starting instance wux-labs-vm:9093
        Start instance wux-labs-vm:9093 success
Starting component node_exporter
        Starting instance wux-labs-vm
        Start wux-labs-vm success
Starting component blackbox_exporter
        Starting instance wux-labs-vm
        Start wux-labs-vm success
+ [ Serial ] - UpdateTopology: cluster=cluster1
Started cluster `cluster1` successfully
The root password of TiDB database has been changed.
The new password is: '@2XKr^+9&nNZ3U07q6'.
Copy and record it to somewhere safe, it is only displayed once, and will not be stored.
The generated password can NOT be get and shown again.
wux_labs@wux-labs-vm:~$ 

image-20230216002134083

从这个日志中可以看出,TiDB的启动顺序为:

image-20230216003638244

验证集群启动

使用命令验证

启动完成后,再次查看一下集群的状态。

image-20230216002449302

此时,TiDB的实例都启动了。

通过Dashboard查看

根据上面的结果,TiDB的Dashboard的地址为:http://wux-labs-vm:23792/dashboard,直接在浏览器中打开即可。

image-20230216003205490

输入用户名和密码登录后可打开Dashboard界面。

image-20230216003258599

这里面可以实现TiDB数据库集群的监控。

通过Grafana查看

根据上面的结果,TiDB的Grafana的地址为:http://wux-labs-vm:3000,直接在浏览器中打开即可。

image-20230216003554652

输入用户名和密码可以进入到监控界面。

image-20230216003939495

通过Prometheus查看

除了上面几种,还可以直接查看Prometheus的监控数据,地址是http://wux-labs-vm:9090/,直接浏览器打开即可。

image-20230216004155313

写在后面

TiDB是分布式K-V数据库,对集群节点要求比较多,如果每个实例都分别在一台服务器上,则至少需要十几台服务器。单机环境仅作为模拟分布式集群用,不能用于生产环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/360607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年1月冰箱品牌销量排行:销量环比增长26%,销售额36亿+

鲸参谋电商大数据2023年1月京东平台“冰箱”销售数据出炉! 根据鲸参谋平台电商数据显示,2023年1月份,在京东平台上,冰箱的销量将近130万件,环比增长26%,同比下滑8%;销售额达36亿,环比…

嵌入式开发:C++在深度嵌入式系统中的应用

深度嵌入式系统通常在C语言中实现。为什么会这样?这样的系统是否也能从C中获益?嵌入式开发人员在将广泛、高效的深度嵌入式代码库从C转换为C方面的实践经验的贡献。嵌入式和深度嵌入式系统通常用C而不是C实现。软件开发人员必须放弃C作为强类型系统、模板元编程(TMP)和面向对…

dubbo整合nacos进行远程调用

doubbo是什么? Apache Dubbo 最初在 2008 年由 Alibaba 捐献开源,很快成为了国内开源服务框架选型的事实标准框架 ,得到了各行各业的广泛应用。在 2017 年,Dubbo 正式捐献到 Apache 软件基金会并成为 Apache 顶级项目&#xff0c…

DJI 无人机 Onboard SDK ROS 功能包demo运行

DJI 无人机 Onboard SDK ROS 功能包demo运行demo功能准备测试环境运行 dji sdk 节点运行 demo 节点自动飞行任务航点自动飞行兴趣点环绕自动飞行飞行控制本地坐标位置控制搭建好 Onboard SDK ROS 的开发环境后,功能包自身具备一些写好的demo功能案例 dji sdk 的节点…

华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】

使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12201821.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 猴子爬山 | 华为OD机…

特征工程-定义+意义+安装scikit-learn+数据的特征抽取(字典、文本)

目录 数据中对特征的处理 特征工程定义 特征工程意义 安装scikit-learn 数据的特征抽取 字典特征抽取 DictVectorizer语法 文本特征抽取 CountVectorizer语法 TfidfVectorizer语法 数据中对特征的处理 pandas:一个数据读取非常方便以及基础的处理格式的工具 sklear…

Spring Boot + Vue3 前后端分离 实战 wiki 知识库系统<一>---Spring Boot项目搭建

前言: 接下来又得被迫开启新的一门课程的学习了,上半年末尾淘汰又即将拉开序幕【已经记不清经历过多少次考试了】,需要去学习其它领域的技术作为考试内容,我选了spring boot相关技术,所以。。总之作为男人&#xff0c…

Linux之网络流量监控工具ntopng YUM安装

一、ntopng简介 Ntop是一种监控网络流量工具,用ntop显示网络的使用情况比其他一些网络管理软件更加直观、详细。Ntop甚至可以列出每个节点计算机的网络带宽利用率。他是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具;尤其当ntop与n…

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建 文章目录【Spring Cloud Alibaba】003-Nacos 概述与单机搭建一、Nacos 概述0、新技术学习思路推荐1、什么是 Nacos2、架构图架构图架构图信息二、Nacos 单机搭建1、下载与启动下载地址编辑 startup.cmd 文件下面对两种模式的…

“王炸”产品+集资2000万美元,D-Wave在赌什么?

(图片来源:网络)D-Wave是量子计算系统、软件和服务的领导者,也是全球量子计算机商业供应商。近日,它发布了一系列的最新产品和业务,展示出其在推动量子计算商业化方面的强劲势头。随着全球越来越多的企业将…

C++入门:内联函数、auto关键字、基于范围for循环及指针空值nullptr

目录 一. 内联函数 1.1 内联函数的概念 1.2 内联函数的特性 1.3 内联函数和宏的优缺点对比 二. auto关键字(C11) 2.1 auto的功能 2.2 auto在使用时的注意事项 三. 基于范围的for循环(C11) 四. 指针空值nullptr&#xff08…

开发日记-lombok

开发日记-lombok环境问题解决方案:1 Data注解失效 无法正常生成 get和set方法2 RequiredArgsConstructor(onConstructor _(Lazy)) 符号_无法识别环境 idea2020.1lombok1.18.24jdk1.8 问题 Data注解失效 无法正常生成 get和set方法RequiredArgsConstructor(onCons…

机器学习:学习k-近邻(KNN)模型建立、使用和评价

机器学习:学习k-近邻(KNN)模型建立、使用和评价 文章目录机器学习:学习k-近邻(KNN)模型建立、使用和评价一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.数据读取2.数据理解3.数据准备4.算…

Talk预告 | 悉尼科技大学澳大利亚人工智能研究所讲师方震:广义分布外检测的学习理论

本期为TechBeat人工智能社区第476期线上Talk! 北京时间2月22日(周三)20:00,悉尼科技大学澳大利亚人工智能研究所讲师——方震的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “广义分布外检测的学习理论”,届时将…

信息加密技术

介绍信息加密 信息加密是实现数据保密性的手段。 信息加密(Encryption)是将明文信息转换为密文信息,使之在缺少特殊信息时不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。 现…

Vue — 详解mixins混入使用

前言 当我们的项目越来越大,我们会发现组件之间可能存在很多相似的功能,你在一遍又一遍的复制粘贴相同的代码段(data,method,watch、mounted等),如果我们在每个组件中去重复定义这些属性和方法会…

看了这份Java高级笔试宝典覆盖近3年Java笔试中98%高频知识点,反打面试官

首先声明: 本书覆盖了近3年程序员面试笔试中超过98%Java高频知识点,当你细细品读完本书后,面试都是小问题。 一书在手/工作不愁 记住重点,考试要考 前言 程序员求职始终是当前社会的一个热点,而市面上有很多关于程…

ROS | 键盘控制

文章目录 概述一、定义介绍二、功能作用三、使用方法四、实例演示概述 在研发机器人/自动驾驶时,可能没有遥控器,又或者是仿真环境等情况,常常需要通过键盘控制小车。 一、定义介绍 本节详细讲述了如何通过键盘来控制ROS小车,附有全套源码。 二、功能作用 本程序通过向RO…

Netty (三):进阶

文章目录1. 粘包与半包1.1 粘包现象1.2 半包现象1.3 现象分析1.4 解决方案方法1,短链接方法2,固定长度方法3,固定分隔符方法4,预设长度2. 协议设计与解析2.1 为什么需要协议?2.2 redis 协议举例2.3 http 协议举例2.4 自…

超级完整 的 Maven 讲解 以及私服搭建

第一章 Maven 简介 1.1、Maven 概述 Maven 是一款基于 Java 平台的项目管理和整合工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发…