TiDB 单机伪分布式安装

  • Post author:
  • Post category:其他


一 准备工作

1 参考文档:第二种 《使用 TiUP cluster 在单机上模拟生产环境部署步骤》

https://docs.pingcap.com/zh/tidb/stable/quick-start-with-tidb

2 单机配置:4核心8G内存

3 服务器系统版本要求:CentOS 7.3及以上

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)

4 环境初始化

[root@localhost ~]# vi tidb-init.sh
#!/bin/bash

# 关闭防火墙
echo "=========stop firewalld============="
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

# 关闭NetworkManager
echo "=========stop NetworkManager ============="
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager

# 关闭selinux
echo "=========disable selinux============="
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
getenforce

# 关闭swap
echo "=========close swap============="
sed -ri 's/.*swap.*/#&/' /etc/fstab
swapoff -a
free -m

# 时间同步
echo "=========sync time============="
yum install chrony -y
cat >> /etc/chrony.conf << EOF
server ntp.aliyun.com iburst
EOF
systemctl start chronyd
systemctl enable chronyd
chronyc sources

#配置yum
echo "=========config yum============="
yum install wget net-tools telnet tree nmap sysstat lrzsz dos2unix -y
wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo  http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache

[root@localhost ~]# sh tidb-init.sh

5 配置网络(后面四项注意修改成

自己对应的ip、子网掩码、网关、DNS

# 后面四项注意修改成自己对应的ip、子网掩码、网关、DNS
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="96350fad-1ffc-4410-a068-5d13244affb7"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.12.26
NETMASK=255.255.255.0
GATEWAY=192.168.12.2
DNS1=192.168.12.2

[root@localhost ~]# /etc/init.d/network restart

6 修改主机名

[root@localhost ~]# hostnamectl set-hostname tidb1
[root@tidb1~]# echo "192.168.12.26   tidb1" >> /etc/hosts

二 开始安装

1 集群拓扑

最小规模的 TiDB 集群拓扑:

实例 个数 IP 配置
TiKV 2 192.168.12.26 192.168.12.26 避免端口和目录冲突,我按照官网安装三个TiKV的,但是始终有一个起不来,就暂时安装的两个
TiDB 1 192.168.12.26
PD 1 192.168.12.26
TiFlash 1 192.168.12.26
Monitor 1 192.168.12.26

2 开始安装

1 下载并安装 TiUP

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

source /root/.bash_profile

2 安装 TiUP 的 cluster 组件

tiup cluster

3 如果机器已经安装 TiUP cluster,需要更新软件版本:

tiup update --self && tiup update cluster

4 由于模拟多机部署,需要通过

root

用户调大 sshd 服务的连接数限制

vim /etc/ssh/sshd_config

# 找到48行处的MaxSessions,设置为30

MaxSessions 30

5 重启 sshd 服务

service sshd restart

6 创建配置文件

mkdir -p /opt/env/tidb

cd /opt/env/tidb

vim topo.yaml #内容如下

# # 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:
   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"]
 tiflash:
   logger.level: "info"

pd_servers:
 - host: 192.168.12.26

tidb_servers:
 - host: 192.168.12.26

tikv_servers:
 - host: 192.168.12.26
   port: 20160
   status_port: 20180
   config:
     server.labels: { host: "host1" }

 - host: 192.168.12.26
   port: 20161
   status_port: 20181
   config:
     server.labels: { host: "host2" }

# - host: 192.168.12.26
#   port: 20163
#   status_port: 20183
#   config:
#     server.labels: { host: "host3" }

tiflash_servers:
 - host: 192.168.12.26

monitoring_servers:
 - host: 192.168.12.26

grafana_servers:
 - host: 192.168.12.26

7 查询TiDB的所有版本信息

tiup list tidb

8 执行集群部署命令(这儿安装的v4.0.0的)

命令:
    tiup cluster deploy <cluster-name> <tidb-version> ./topo.yaml --user root -p
参数解释:
    <cluster-name> 表示设置集群名称
    <tidb-version> 表示设置集群版本,可以通过 tiup list tidb 命令来查看当前支持部署的 TiDB 版本

开始部署:
tiup cluster deploy tidb-dev v4.0.0 ./topo.yaml --user root -p

部署成功最后一段日志:
Cluster `tidb-dev` deployed successfully, you can start it with command: `tiup cluster start tidb-dev`

9 启动集群

tiup cluster start tidb-dev

# 所有角色都启动成功,则ok
启动成功最后一段日志:
Started cluster `tidb-dev` successfully

10 访问集群

  • 如果服务器没有,安装 MySQL 客户端。如果已安装 MySQL 客户端则可跳过这一步骤。
yum -y install mysql
  • 访问 TiDB 数据库,

    密码为空

mysql -h 192.168.12.26 -P 4000 -u root
  • 执行以下命令确认当前已经部署的集群列表:
tiup cluster list
  • 执行以下命令查看集群的拓扑结构和状态:
tiup cluster display tidb-dev

11 ui访问,navacat访问

  • navacat

ps:最好修改下root的密码,为空不太好;修改完后,重新登陆navicat

use mysql;

SET PASSWORD FOR 'root'@'%'='root@123.com';

  • TiDB 的 Dashboard
  1. 登陆地址:http://192.168.12.26:2379/dashboard/#/overview  账号root/密码无

  • TiDB 的 Grafana 监控
  1. 登陆地址:http://192.168.12.26:3000  账号密码:admin/admin

  • TiDB 的 Prometheus
  1. 登陆地址:http://192.168.12.26:9090/graph

11 tiup相关运维命令


https://docs.pingcap.com/zh/tidb/stable/maintain-tidb-using-tiup



版权声明:本文为weixin_42529806原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。