暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

He3DB安装-部署TIKV服务

原创 cxp 2023-11-02
268

在使用He3DB前需要先部署TIKV。

TiKV 是一个分布式事务型的键值数据库,提供了满足 ACID 约束的分布式事务接口,并且通过 Raft 协议保证了多副本数据一致性以及高可用。TiKV 作为 TiDB 的存储层,为用户写入 TiDB 的数据提供了持久化以及读写服务,同时还存储了 TiDB 的统计信息数据。

这里解释一下为什么这里会用到tikv,我们知道阿里云云原生数据库PolarDB中各计算节点通过分布式文件系统PolarFS共享底层的存储,而He3DB中对应的He3FS目前还不成熟,所以这里先用tikv来存储WAL日志,所有计算节点共享WAL日志,通过这种方式临时替代He3FS。

(以下操作只需在一台机器上进行)

一、使用 TiUP 部署 TiDB 集群

TiUP 是 TiDB 4.0 版本引入的集群运维工具,TiUP cluster 是 TiUP 提供的使用 Golang 编写的集群管理组件,通过 TiUP cluster 组件就可以进行日常的运维工作,包括部署、启动、关闭、销毁、弹性扩缩容、升级 TiDB 集群,以及管理 TiDB 集群参数。

1、执行如下命令安装 TiUP 工具:

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

image.png

2、按如下步骤设置 TiUP 环境变量:

  • 重新声明全局环境变量:

根据上一步中Shell profile的值输入命令

image.png

source /root/.bashrc

  • 确认 TiUP 工具是否安装:

which tiup

image.png

3、安装 TiUP cluster 组件:

tiup cluster

image.png

image.png

4、如果已经安装,则更新 TiUP cluster 组件至最新版本:


tiup update --self && tiup update cluster

预期输出 “Update successfully!” 字样。

image.png

5、验证当前 TiUP cluster 版本信息。执行如下命令查看 TiUP cluster 组件版本:

tiup --binary cluster

image.png

二、配置TIKV

1、创建tikv的安装用户he3db

adduser he3db

image.png

2、创建topo.yaml文件,重点配置tikv-servers

进入/home/he3db目录下:

cd /home/he3db

创建topo.yaml文件,输入以下内容:

vi topo.yaml

global:

  user: "he3db"

  ssh_port: 22

  deploy_dir: "/data1/nvmetest/tidb-deploy"

  data_dir: "/data1/nvmetest/tidb-data"

monitored:

 node_exporter_port: 9190

 blackbox_exporter_port: 9195 

server_configs:

  tikv:

    raftstore.sync-log: true

    raftstore.raft-entry-max-size: "32MB"

    storage.reserve-space: "0"

    storage.block-cache.capacity: "7G"

    server.grpc-concurrency: 48

    server.grpc-concurrent-stream: 4096

    server.grpc-stream-initial-window-size: "32M"

    storage.scheduler-concurrency: 1048576

    storage.scheduler-worker-pool-size: 3

    rocksdb.titan.enabled: true

    rocksdb.defaultcf.write-buffer-size: "512MB"

    rocksdb.defaultcf.max-write-buffer-number: 64

    rocksdb.max-background-jobs: 32

    rocksdb.defaultcf.block-cache-size: "16GB"

    rocksdb.defaultcf.compression-per-level: [

        'zstd',

        'zstd',

        'lz4',

        'lz4',

        'lz4',

        'lz4',

        'lz4',

    ]


  pd:

    replication.location-labels: ["host"]

    replication.max-replicas: 1

 

pd_servers:

  - host: 192.168.0.51

  - host: 192.168.0.103

  - host: 192.168.0.225

 

tikv_servers:

  - host: 192.168.0.51

    port: 20160

    status_port: 20180

    deploy_dir: "/data1/nvmetest/deploy/tikv"

    data_dir: "/data1/nvmetest/data/tikv"

    log_dir: "/data1/nvmetest/log/tikv"

    config:

      server.labels: { host: "tikv-host-1" }

 

  - host: 192.168.0.103

    port: 20160

    status_port: 20180

    deploy_dir: "/data1/nvmetest1/deploy/tikv"

    data_dir: "/data1/nvmetest1/data/tikv"

    log_dir: "/data1/nvmetest1/log/tikv"

    config:

      server.labels: { host: "tikv-host-2" }

 

  - host: 192.168.0.225

    port: 20160

    status_port: 20180

    deploy_dir: "/data1/nvmetest2/deploy/tikv"

    data_dir: "/data1/nvmetest2/data/tikv"

    log_dir: "/data1/nvmetest2/log/tikv"

    config:

      server.labels: { host: "tikv-host-3" }

3、创建机器间互信,本地也需要配置

  • 创建公钥和密钥:
ssh-keygen -t rsa

image.png

  • 把本地的公钥复制到远程主机的authorized_keys文件(不会覆盖文件,是追加到文件末尾),并且会设置远程主机用户目录的.ssh和.ssh/authorized_keys权限
ssh-copy-id -i  /root/.ssh/id_rsa.pub root@140.210.210.194

image.png

.ssh/id_rsa.pub的位置在上一步中控制台已打印出来:

image.png

验证一下是否能ssh远程主机,密码为远程机器root用户的登录密码:

ssh root@140.210.210.194

image.png

4、集群部署

在he3db目录下输入以下命令:

tiup cluster deploy he3-tikv v7.1.1 ./topo.yaml -u root -p

密码为集群机器root用户的登录密码
image.png

image.png

image.png

看到successfully即表示集群部署完成。

5、启动集群

使用如下命令启动集群:

tiup cluster start he3-tikv --init

完成后记住TIDB的密码。

image.png

至此TIKV服务部署完成。

可用以下命令查看集群状态:

tiup cluster list

image.png

tiup cluster display he3-tikv

image.png

6、创建postgres用户,添加环境变量

adduser postgres

image.png

su postgres
vim ~/.bashrc
export PDADDR="192.168.0.103:2379,192.168.0.225:2379,192.168.0.51:2379"

image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

目录
  • 一、使用 TiUP 部署 TiDB 集群
  • 二、配置TIKV