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

He3DB安装-(1)部署TIKV服务

原创 有木名凌霄 2023-09-22
454

在使用He3DB前需要先部署TIKV。
建议使用的操作系统为ubuntu,如果是centos必须是8以上的版本。

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"

9de354d50b641b254a33d10dfe04f3e.png

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

评论