1.背景介绍 {#1.%E8%83%8C%E6%99%AF%E4%BB%8B%E7%BB%8D}
目前知识库中缺少关于国产数据库 TiDB 的使用说明,为此做一些补充。
2.TiDB 快速安装部署 {#2.tidb-%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2}
注:若 TiDB 与 DataEase 安装同台服务器上会有端口冲突,需要修改 TiDB 的配置文件。
[root@localhost ~]# curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
若服务器网络不通,可以去官网下载离线安装包;
官网地址:++https://cn.pingcap.com/product-community/++
安装好后会打印出你的 profile 文件路径,执行 source { profile 文件路径};
[root@localhost ~]# source .bash_profile
安装 TiUP 更新下载的版本;
[root@localhost ~]# tiup cluster
[root@localhost ~]# tiup update --self && tiup update cluster
由于部署组件连接数过多,需要修改 sshd 配置文件,将 MaxSessions 的值调整为 20 ,调整完重启 sshd 服务;
[root@localhost ~]# vi /etc/ssh/sshd_config
[root@localhost ~]# service sshd restart
创建启动文件 tidb.yaml ,其中的 192.168.239.132 需要改为自己的服务器 IP;
# # Global variables are applied to all deployments and used as the default value of
# # the deployments if a specific deployment value is missing.
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/tidb-deploy"
data_dir: "/tidb-data"
# Monitored variables are applied to all the machines.
======================================================
monitored:
node_exporter_port: 9100
blackbox_exporter_port: 9115
server_configs:
tidb:
instance.tidb_slow_log_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"\]
tiflash:
logger.level: "info"
pd_servers:
* host: 192.168.239.132
tidb_servers:
* host: 192.168.239.132
tikv_servers:
*
host: 192.168.239.132
port: 20160
status_port: 20180
config:
server.labels: { host: "logic-host-1" }
*
host: 192.168.239.132
port: 20161
status_port: 20181
config:
server.labels: { host: "logic-host-2" }
*
host: 192.168.239.132
port: 20162
status_port: 20182
config:
server.labels: { host: "logic-host-3" }
tiflash_servers:
* host: 192.168.239.132
monitoring_servers:
* host: 192.168.239.132
grafana_servers:
`
`
* `host: 192.168.239.132`
执行命令创建 TiDB 的实例和监控组件;
命令示例:tiup cluster deploy <cluster-name> <version> ./tidb.yaml --user root -p
`[root@localhost ~]# tiup cluster deploy tidb-dqy v8.1.0 ./tidb.yaml --user root -p`
按照引导,输入 "y" 及 root 密码,来完成部署:
创建完成后 start 命令启动 TiDB 数据库及组件,display 命令查看组件情况;
[root@localhost ~]# tiup cluster start tidb-dqy
[root@localhost ~]# tiup cluster display tidb-dqy
- 配置 DataEase 数据源 {#3.-%E9%85%8D%E7%BD%AE-dataease-%E6%95%B0%E6%8D%AE%E6%BA%90}
创建数据源时,选择 TiDB。
输入 TiDB 服务的 IP 地址及其他相关信息,校验成功后保存即可。
- 常见失败问题汇总 {#4.-%E5%B8%B8%E8%A7%81%E5%A4%B1%E8%B4%A5%E9%97%AE%E9%A2%98%E6%B1%87%E6%80%BB}
(1)连接 Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server 报错;
解决方案:
1.检查 TiDB 服务器防火墙是否已关闭;
执行命令关闭防火墙;
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
(2)APISIX 端口冲突 导致 DataEase 连接数据源失败 Error: failed to start tiflash: failed to start: 192.168.239.132 tiflash-9000. service, please check the instance's log(/tidb-deploy/tiflash-Spoo/log) for more detail .: timed out waiting for tiflash 192.168.239.132:9000 to be ready after 120s: Get "http://192.168.239.132:20292/tiflash/store-status": dial top 192.168.239.132:20292: connect: connection refused;
检查 Dataease 配置文件是否与 TiDB 的端口冲突,若冲突需要重装 TiDB 修改 tidb.yaml 配置文件中的 tiflash 端口号;
卸载命令:
tiup cluster stop tidb-dqy ##其中的tidb-dqy 为集群名称
tiup cluster clean tidb-dqy --all ##其中的tidb-dqy 为集群名称
tiup cluster destroy tidb-dqy ##其中的tidb-dqy 为集群名称