TiDB-部署(tiup方式)

本文详细介绍如何在特定网络环境中部署TiDB集群,包括账户权限设置、TIUP工具安装、TIFLUSH插件问题解决等内容。重点在于基础账户管理、离线包部署及遇到的问题及其解决方法。

一、环境

ip(非真实)功能配置
192.168.1.1中控机(监控等位置所在)最低
192.168.1.2TIDB,PD,TIFLUSH(如果机器多可以分开)
192.168.1.3TIKV_1
192.168.1.4TIKV_2
192.168.1.5TIKV_3

二、基础账户准备

因为要保证权限问题,所以这里面不使用root账户,而是使用tidb账户(以下操作在5台机器中都要进行)

1.添加账户和密码

useradd -m -d /home/tidb tidb
passwd tidb 
# 在下面输入你想要的密码

2.配置tidb账户sudo免密

vi /etc/sudoers

# 在文件最下面一行加入如下代码
tidb ALL=(ALL) NOPASSWD: ALL

3.配置中控机tidb账户到其他机器的免密登录

3.1 中控机操作

# 中控机
# 生成密钥,如果你的tidb有家目录就不用创建目录,如果没有请按照下方操作
su - tidb
sudo mkdir -p /home/tidb/.ssh
cd /home/tidb/
sudo chmod 700 .ssh # 该目录权限必须是700
sudo chown -R tidb:tidb /home/tidb
ssh-keygen -t rsa
# 接下来一路回车就行,这时候生成了id_rsa,id_rsa.pub文件
cd .ssh
touch authorized_keys
cat id_rsa.pub >> authorized_keys
sudo chmod 600 authorized_keys


3.2其他机器操作

把authorized_keys文件复制到其他机器的/home/tidb/.ssh目录下,权限要对,.ssh目录的权限和authorized_keys的权限分别为700和600

三、TIDB环境准备

1.tiup安装

su - tidb
# 安装TIUP工具
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
# 配置环境变量
source .bash_profile
# 确认工具是否安装
which tiup

2.离线包安装

到官网下载对应版本,解压安装

https://pingcap.com/download-cn/community/

tar xzvf tidb-community-server-${version}-linux-amd64.tar.gz
sh tidb-community-server-${version}-linux-amd64/local_install.sh
source /home/tidb/.bash_profile

local_install.sh 脚本会自动执行 tiup mirror set tidb-community-server-${version}-linux-amd64命令将当前镜像地址设置为 tidb-community-server-${version}-linux-amd64

若需将镜像切换到其他目录,可以通过手动执行 tiup mirror set <mirror-dir> 进行切换。如果需要切换到在线环境,可执行 tiup mirror set https://tiup-mirrors.pingcap.com

四、TIKV环境准备

以下操作需要在几台TIKV的机器上执行

以下操作以root用户执行
# 1.查看数据盘
fdisk -l
# 2.创建分区表
parted -s -a optimal /dev/nvme0n1 mklabel gpt -- mkpart primary ext4 1 -1
# 3.格式化文件系统
mkfs.ext4 /dev/nvme0n1p1
# 4.查看数据盘分区的UUID
lsblk -f
# 5.编辑 /etc/fstab 文件,添加 nodelalloc 挂载参数
vi /etc/fstab
# 将对应的UUID尾部编程如下形式
 ext4 defaults,nodelalloc,noatime 0 2
eg:
UUID=c51eb23b-195c-4061-92a9-3fad812cc12f /data1 ext4 defaults,nodelalloc,noatime 0 2
# 6.挂载数据盘
mkdir /data1 && \
mount -a
# 7.执行以下命令,如果文件系统为 ext4,并且挂载参数中包含 nodelalloc,则表示已生效。
mount -t ext4

*********
如果你的数据盘本身已经挂好,只需要执行步骤5就可以

五、配置文件准备

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: "/data/tidb/tidb-deploy"
  data_dir: "/data/tidb/tidb-data"

server_configs:
  pd:
    replication.enable-placement-rules: true

pd_servers:
  - host: 192.168.1.2
tidb_servers:
  - host: 192.168.1.2
tikv_servers:
  - host: 192.168.1.3
  - host: 192.168.1.4
  - host: 192.168.1.5
tiflash_servers:
  - host: 192.168.1.2
    data_dir: /data1/tiflash/data,/data2/tiflash/data
monitoring_servers:
  - host: 192.168.1.1
grafana_servers:
  - host: 192.168.1.1
alertmanager_servers:
  - host: 192.168.1.1

六、整体部署

tiup cluster deploy tidb-test v4.0.0 topology.yaml --user tidb [-p] [-i /home/root/.ssh/gcp_rsa]
# 因为我们配置了免密,直接如下写就可以
tiup cluster deploy tidb-test v4.0.0 topology.yaml --user tidb
# 启动环境
tiup cluster start tidb-test

 七、问题处理

我启动环境的时候其他服务正常启动,但是TI FLUSH没有启动进来,到tiflush的机器上查看日志

详细报错如下:

bin/tiflash/tiflash: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory

可以看到是缺对应插件,我们把对应插件安装上就可以了

sudo apt-get install libcurl4-openssl-dev

八、查看运行状态

tiup cluster display  tidb-test

我的集群这样的。[tidb@zy-nph-skg-fat-dba-dbworker10 ~]$ tiup cluster display test Cluster type: tidb Cluster name: test Cluster version: v7.5.6 Deploy user: tidb SSH type: builtin Dashboard URL: http://172.31.28.214:2379/dashboard Grafana URL: http://172.31.28.214:3000 ID Role Host Ports OS/Arch Status Data Dir Deploy Dir -- ---- ---- ----- ------- ------ -------- ---------- 172.31.28.215:8300 cdc 172.31.28.215 8300 linux/x86_64 Up /tidb-data/cdc-8300 /tidb-deploy/cdc-8300 172.31.28.216:8300 cdc 172.31.28.216 8300 linux/x86_64 Up /tidb-data/cdc-8300 /tidb-deploy/cdc-8300 172.31.28.214:3000 grafana 172.31.28.214 3000 linux/x86_64 Up - /tidb-deploy/grafana-3000 172.31.28.214:2379 pd 172.31.28.214 2379/2380 linux/x86_64 Up|L|UI /tidb-data/pd-2379 /tidb-deploy/pd-2379 172.31.28.214:9090 prometheus 172.31.28.214 9090/12020 linux/x86_64 Up /tidb-data/prometheus-9090 /tidb-deploy/prometheus-9090 172.31.28.214:4000 tidb 172.31.28.214 4000/10080 linux/x86_64 Up - /tidb-deploy/tidb-4000 172.31.28.214:20160 tikv 172.31.28.214 20160/20180 linux/x86_64 Up /tidb-data/tikv-20160 /tidb-deploy/tikv-20160 172.31.28.215:20161 tikv 172.31.28.215 20161/20181 linux/x86_64 Up /data/deploy/install/data/tikv-20160 /data/deploy/install/deploy/tikv-20160 172.31.28.216:20161 tikv 172.31.28.216 20161/20181 linux/x86_64 Up /data/deploy/install/data/tikv-20160 /data/deploy/install/deploy/tikv-20160 Total nodes: 9 [tidb@zy-nph-skg-fat-dba-dbworker10 ~]$ 写个 ticdc 命令
最新发布
08-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值