TiDB-部署(tiup方式)

一、环境

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值