一、准备服务器

1.准备三台服务器,配置如下

2.三块固态硬盘分别做raid0

3.最小化安装centos7.7系统,配置ip地址和DNS

 二、服务器初始化:包括安装常用命令工具,修改系统时区,校对系统时间,关闭selinux,关闭firewalld,修改主机名,修改系统文件描述符,优化内核参数,优化数据盘挂载参数

1、安装常用命令工具

yum install vim net-tools bash-completion wget unzip ntp bzip2 epel-release numactl  -y

2、修改系统时区,启动ntp服务

timedatectl set-timezone Asia/Shanghai

ntpdate 192.168.0.205

vim /etc/ntp.conf

server 192.168.0.205

systemctl start ntpd
systemctl enable ntpd

3、关闭selinux

vim /etc/selinux/config

SELINUX=disabled

4、关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

5、修改主机名

vim /etc/hostname

TiDB-01

6、修改系统文件描述符大小

vim /etc/security/limits.conf

最后添加:

* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft memlock unlimited
* hard memlock unlimited

7.优化内核参数

vim /etc/sysctl.conf

最后添加:

vm.max_map_count = 655360
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_max_syn_backlog = 8192
net.core.netdev_max_backlog = 10000
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

8.优化数据盘挂载参数,官方推荐 TiKV 部署目标机器的数据目录使用 EXT4 文件系统格式,所以我们需要格式化两块数据盘

使用fdisk -l查看数据盘

Disk /dev/sdb: 1919.7 GB

Disk /dev/sdc: 1919.7 GB

创建分区表

parted -s -a optimal /dev/sdb mklabel gpt — mkpart primary ext4 1 -1

parted -s -a optimal /dev/sdc mklabel gpt — mkpart primary ext4 1 -1

 格式化文件系统

mkfs.ext4 /dev/sdb1

mkfs.ext4 /dev/sdc1

 查看数据盘分区 UUID

lsblk -f

 编辑 /etc/fstab 文件,添加挂载参数

UUID=dda54ded-acff-47c0-beb9-ea47351e11c8 /data1 ext4 defaults,nodelalloc,noatime 0 2
UUID=013c4145-bb40-4a7e-b467-41c43985dbfd /data2 ext4 defaults,nodelalloc,noatime 0 2

 挂载数据盘

mkdir /data1 /data2 && mount -a

执行以下命令,如果文件系统为 ext4,并且挂载参数中包含 nodelalloc,则表示已生效

  三、使用官方推荐的TiUP部署TiDB集群

1.在中控机上安装TiUP组件,中控机可以是部署目标机器中的一台,我这里使用跳板机

在中控机上添加tidb用户,设置tidb密码

useradd tidb

 passwd tidb

切换到tidb用户

su – tidb

2.在中控机上安装TiUP组件

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

 3.设置 TiUP 环境变量

source .bash_profile

4.安装 TiUP cluster 组件

tiup cluster

 5.验证当前 TiUP cluster 版本信息

 四、配置初始化参数文件topology.yaml

拓扑信息

 vim topology.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:
node_exporter_port: 9100
blackbox_exporter_port: 9115
deploy_dir: “/tidb-deploy/monitored-9100”
data_dir: “/tidb-data-monitored-9100”
log_dir: “/tidb-deploy/monitored-9100/log”

server_configs:
tikv:
readpool.unified.max-thread-count: 16
readpool.storage.use-unified-pool: true
readpool.coprocessor.use-unified-pool: true
storage.block-cache.capacity: “16GB”
pd:
replication.location-labels: [“host”]
replication.enable-placement-rules: true

pd_servers:
– host: 192.168.0.226
deploy_dir: “/data1/tidb-deploy/pd-2379”
data_dir: “/data1/tidb-data/pd-2379”
log_dir: “/data1/tidb-deploy/pd-2379/log”
– host: 192.168.0.227
deploy_dir: “/data1/tidb-deploy/pd-2379”
data_dir: “/data1/tidb-data/pd-2379”
log_dir: “/data1/tidb-deploy/pd-2379/log”
– host: 192.168.0.228
deploy_dir: “/data1/tidb-deploy/pd-2379”
data_dir: “/data1/tidb-data/pd-2379”
log_dir: “/data1/tidb-deploy/pd-2379/log”

tidb_servers:
– host: 192.168.0.226
– host: 192.168.0.227
– host: 192.168.0.228

tikv_servers:
– host: 192.168.0.226
port: 20160
status_port: 20180
deploy_dir: “/data1/tidb-deploy/tikv-20160”
data_dir: “/data1/tidb-data/tikv-20160”
log_dir: “/data1/tidb-deploy/tikv-20160/log”
numa_node: “0”
config:
server.labels: { host: “tikv1” }
– host: 192.168.0.226
port: 20161
status_port: 20181
deploy_dir: “/data2/tidb-deploy/tikv-20161”
data_dir: “/data2/tidb-data/tikv-20161”
log_dir: “/data2/tidb-deploy/tikv-20161/log”
numa_node: “1”
config:
server.labels: { host: “tikv1” }
– host: 192.168.0.227
port: 20160
status_port: 20180
deploy_dir: “/data1/tidb-deploy/tikv-20160”
data_dir: “/data1/tidb-data/tikv-20160”
log_dir: “/data1/tidb-deploy/tikv-20160/log”
numa_node: “0”
config:
server.labels: { host: “tikv2” }
– host: 192.168.0.227
port: 20161
status_port: 20181
deploy_dir: “/data2/tidb-deploy/tikv-20161”
data_dir: “/data2/tidb-data/tikv-20161”
log_dir: “/data2/tidb-deploy/tikv-20161/log”
numa_node: “1”
config:
server.labels: { host: “tikv2” }
– host: 192.168.0.228
port: 20160
status_port: 20180
deploy_dir: “/data1/tidb-deploy/tikv-20160”
data_dir: “/data1/tidb-data/tikv-20160”
log_dir: “/data1/tidb-deploy/tikv-20160/log”
numa_node: “0”
config:
server.labels: { host: “tikv3” }
– host: 192.168.0.228
port: 20161
status_port: 20181
deploy_dir: “/data2/tidb-deploy/tikv-20161”
data_dir: “/data2/tidb-data/tikv-20161”
log_dir: “/data2/tidb-deploy/tikv-20161/log”
numa_node: “1”
config:
server.labels: { host: “tikv3” }
monitoring_servers:
– host: 192.168.0.226
grafana_servers:
– host: 192.168.0.226
alertmanager_servers:
– host: 192.168.0.226

五、部署TiDB

1.查看 TiUP 支持管理的 TiDB 版本

tiup list tidb –refresh

 2.执行部署命令

tiup cluster deploy tidb-endata v4.0.0-rc.1 ./topology.yaml –user root -i /home/tidb/.ssh/id_rsa

  3.检查 TiUP 管理的集群情况

tiup cluster list

 4.检查部署的 TiDB 集群情况

tiup cluster display tidb-endata

  5.启动集群

tiup cluster start tidb-endata

 6.通过 TiUP 检查集群状态

tiup cluster display tidb-endata

  六、通过 TiDB Dashboard 和 Grafana 检查集群状态

通过 {pd-leader-ip}:2379/dashboard 登录 TiDB Dashboard,登录用户和口令为 TiDB 数据库 root 用户和口令,如果你修改过数据库的 root 密码,则以修改后的密码为准,默认密码为 空。

 查看 Grafana 监控 Overview 页面检查 TiDB 集群状态

通过 {Grafana-ip}:3000 登录 Grafana 监控,默认用户名及密码为 admin/admin

登录数据库执行简单 DML、DDL 操作和查询 SQL 语句

mysql -uroot -h192.168.0.79 -P4000 -p

 执行如下命令关闭 tidb-endata集群:

tiup cluster stop tidb-endata

七、使用 TiUP 扩容缩容 TiDB 集群

1.扩容TiDB节点,添加 TiKV 和 PD 节点和添加 TiDB 节点的步骤类似。

如果要添加一个 TiDB 节点,IP 地址为 192.168.0.229,可以按照如下步骤进行操作。

1.1 编写扩容拓扑配置

在 scale-out.yaml 文件添加扩容拓扑配置:

vim scale-out.yaml

tidb_servers:
    – host: 192.168.0.229
      ssh_port: 22
      port: 4000
      status_port: 10080

 默认情况下,可以不填端口信息。但在单机多实例场景下,你需要分配不同的端口,如果有端口或目录冲突,会在部署或扩容时提醒。

你可以使用 tiup cluster edit-config <cluster-name> 查看当前集群的整体配置,其中 global 和 server_configs 的全局配置也会在 scale-out.yaml 中生效。

1.2 执行扩容命令

tiup cluster scale-out <cluster-name> scale-out.yaml

预期输出 Scaled cluster <cluster-name> out successfully 信息,表示扩容操作成功。

1.3 检查集群状态

tiup cluster display <cluster-name>

打开浏览器访问监控平台 http://192.168.0.226:3000,监控整个集群和新增节点的状态。

 2.执行缩容操作,下线一个TiKV节点

tiup cluster scale-in <cluster-name> –node 192.168.0.226:20160

其中 –node 参数为需要下线节点的 ID。
预期输出 Scaled cluster <cluster-name> in successfully 信息,表示缩容操作成功。

3.检查集群状态

下线需要一定时间,下线节点的状态变为 Tombstone 就说明下线成功。
执行如下命令检查节点是否下线成功:

tiup cluster display <cluster-name>

打开浏览器访问监控平台 http://192.168.0.226:3000,监控整个集群状态

八、TiDB常用操作命令

1.修改root密码

 SET PASSWORD FOR \’root\’@\’%\’ = \’xxxxxxx;

2.可以 kill DML 语句,首先使用 show processlist,找到对应 session 的 id,然后执行 kill tidb [session id]

3.可以 kill DDL 语句,首先使用 admin show ddl jobs,查找需要 kill 的 DDL job ID,然后执行 admin cancel ddl jobs \’job_id\’ [, \’job_id\’] …

4.创建索引

ALTER TABLE ods_mongo_baidu.SearchIndex ADD INDEX (statis_date);

 九、注意事项

使用TiUP部署后在目标服务器上会安装监控插件,有两个插件未加入开机自启,导致服务器重启后系统监控数据异常,需要加入开机自启

systemctl enable blackbox_exporter-9115.service
systemctl enable node_exporter-9100.service

版权声明:本文为mkxfs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mkxfs/p/12795177.html