[转帖]5. Tikv安装部署

tikv,安装,部署 · 浏览次数 : 0

小编点评

## TiDB 5.1.1 安装部署概述 **1. 介绍** TiDB 是 PingCAP 公司自主开发的开源分布式关系型数据库,是一款支持在线事务处理与在线分析处理 (HTAP) 的融合型分布式数据库产品。 **2. 5.1.1 安装步骤** * 下载 TiUP 工具:`curl & --proto=https --tlsv1.2 -sSf & https://tiup-mirrors.pingcap.com/v5.1.1/tiup.tar.gz` * 解压缩安装包:`tar -xf tiup.tar.gz` * 修改 `/etc/ssh/sshd_config` 中的 `MaxSessions` 和 `MaxStartups` 值,建议设置为高值,例如 100 和 50:30:100。 * 运行 `systemctl restart sshd.service` 启动 SSH 服务。 **3. 配置 SSH 连接上限** 添加 `MaxSessions 100 MaxStartups 50:30:100` 的配置项到 `/etc/ssh/sshd_config` 文件中。 **4. 部署 tidb cluster** 使用 `tiup cluster deploy chainmaker-tidb v5.1.1 topo.yaml` 命令部署 tidb cluster,并指定密码。 **5. 查看集群状态** 使用 `tiup cluster list` 命令查看集群状态。 **6. 停止 tidb cluster** 使用 `tiup cluster stop chainmaker-tidb` 命令停止 tidb cluster。 **7. 清理 tidb cluster数据** 使用 `tiup cluster destroy chainmaker-tidb --all --ignore-role prometheus --ignore-role grafana` 命令清理 tidb cluster数据。 **8. 停止 chainmaker** 使用 `tiup cluster stop chainmaker-tidb` 命令停止 chainmaker。 **9. 卸包并配置 storage 模块** 使用 `blockdb_config` 和 `statedb_config` 配置 block 和 state db。 **10. 状态监控** 使用 `http://127.0.0.1:3000` 登录 tiv stat server,监控集群状态。

正文

5. Tikv安装部署

5.1. 概述

TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。长安链支持在使用Tikv作为存储。

5.1.1. Tiup安装

建议使用tiup安装tidb cluster,与长安链中的tikv pdprovider交互,服务器配置最好高于或等于CPU: 8 core, 内存: 32GB

  • 在线部署 TiUP 组件,执行如下命令安装 TiUP 工具:

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

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

source .bash_profile

  • 确认 TiUP 工具是否安装:

which tiup

  • 安装 TiUP cluster 组件

tiup cluster

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

tiup update --self && tiup update cluster

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

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

tiup --binary cluster

5.1.2. topo.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: "root"
  ssh_port: 22
  deploy_dir: "/yourpath/data/tidb-deploy"
  data_dir: "/yourpath/data/tidb-data"

server_configs:
  tikv:
    raftstore.sync-log: true
    storage.reserve-space: "0"
    storage.block-cache.capacity: "4G"
    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: 32
    rocksdb.titan.enabled: true
    rocksdb.defaultcf.write-buffer-size: "512MB"
    rocksdb.defaultcf.max-write-buffer-number: 32
    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: 127.0.0.1

tikv_servers:
  - host: 127.0.0.1
    port: 20160
    status_port: 20180
    deploy_dir: "/yourpath/data/deploy/tikv1"
    data_dir: "/yourpath/data/data/tikv1"
    log_dir: "/yourpath/data/log/tikv1"
    config:
      server.labels: { host: "logic-host-1" }

  - host: 127.0.0.1
    port: 20161
    status_port: 20181
    deploy_dir: "/yourpath/data/deploy/tikv2"
    data_dir: "/yourpath/data/data/tikv2"
    log_dir: "/yourpath/data/log/tikv2"
    config:
      server.labels: { host: "logic-host-2" }

  - host: 127.0.0.1
    port: 20162
    status_port: 20182
    deploy_dir: "/yourpath/data/deploy/tikv3"
    data_dir: "/yourpath/data/data/tikv3"
    log_dir: "/yourpath/data/log/tikv3"
    config:
      server.labels: { host: "logic-host-3" }

monitoring_servers:
  - host: 127.0.0.1

grafana_servers:
  - host: 127.0.0.1

alertmanager_servers:
  - host: 127.0.0.1

5.1.3. 配置ssh连接上限

  • 添加如下配置到/etc/ssh/sshd_config MaxSessions 100 MaxStartups 50:30:100

  • 重启centos上 sshd: systemctl restart sshd.service

vim /etc/ssh/sshd_config

5.1.4. tiup操作tidb cluster

tiup cluster deploy chainmaker-tidb v5.1.1 topo.yaml --user root -p # 部署 tidb cluster, 输入密码为服务器登陆密码
tiup cluster list # 查看 tidb cluster
tiup cluster start chainmaker-tidb # 启动 tidb cluster
tiup cluster display chainmaker-tidb # 查看 tidb cluster 状态
tiup cluster stop chainmaker-tidb # 停止 tidb cluster
tiup cluster clean chainmaker-tidb --all --ignore-role prometheus --ignore-role grafana # 清理 tidb cluster数据,并保留监控数据
tiup cluster destroy chainmaker-tidb # 销毁 tidb cluster

5.1.5. 配置chainmaker storage模块

  blockdb_config:
    provider: tikvdb
    tikvdb_config:
      endpoints: "127.0.0.1:2379" # tikv pd server url,支持多个url, 如: "192.168.1.2:2379,192.168.1.3:2379"
      max_batch_count: 128 # 每次kv batch最大大小 默认128
      grpc_connection_count: 16 # chainmaker连接tikv的连接数, 默认4
      grpc_keep_alive_time: 10 # 保持连接的连接数, 默认10
      grpc_keep_alive_timeout: 3 # 保持连接的超时时间 默认3
      write_batch_size: 128 # 每次提交tikv批次最大大小,默认128
  statedb_config:
    provider: tikvdb
    tikvdb_config:
      endpoints: "127.0.0.1:2379"
      max_batch_count: 128
      grpc_connection_count: 16
      grpc_keep_alive_time: 10
      grpc_keep_alive_timeout: 3
      write_batch_size: 128
  disable_historydb: true
  historydb_config:
    provider: tikvdb
    tikvdb_config:
      endpoints: "127.0.0.1:2379"
      max_batch_count: 128
      grpc_connection_count: 16
      grpc_keep_alive_time: 10
      grpc_keep_alive_timeout: 3
      write_batch_size: 128
  resultdb_config:
    provider: tikvdb
    tikvdb_config:
      endpoints: "127.0.0.1:2379"
      max_batch_count: 128
      grpc_connection_count: 16
      grpc_keep_alive_time: 10
      grpc_keep_alive_timeout: 3
      write_batch_size: 128

5.1.6. tikv状态监控

  • 可以登陆 http://127.0.0.1:3000 监控tikv状态

与[转帖]5. Tikv安装部署相似的内容:

[转帖]5. Tikv安装部署

5. Tikv安装部署 5.1. 概述 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备

[转帖]tidb集群部署

http://blog.itpub.net/29785807/viewspace-2789852/ 一.安装规划 1 2 3 4 5 6 使用15台服务器 5台tidb服务器:每台3个tidb实例+1个pd+1个pump 10台tikv服务器:每台4个tikv实例 drainer_servers 安

[转帖]7.5 TiKV 磁盘空间占用与回收常见问题

https://book.tidb.io/session4/chapter7/compact.html TiKV 作为 TiDB 的存储节点,用户通过 SQL 导入或更改的所有数据都存储在 TiKV。这里整理了一些关于 TiKV 空间占用的常见问题 TiKV 的空间放大 监控上显示的 Number

[转帖]RocksDB 简介

https://www.bookstack.cn/read/tidb-5.0-zh/storage-engine-rocksdb-overview.md TiDB试用 来源:TiDB 浏览 299 扫码 分享 2021-04-20 20:56:38 RocksDB 简介 TiKV 架构 RocksD

[转帖]Region 性能调优

https://docs.pingcap.com/zh/tidb/v6.5/tune-region-performance 本文介绍了如何通过调整 Region 大小等方法对 Region 进行性能调优以及如何在大 Region 下使用 bucket 进行并发查询优化。 概述 TiKV 自动将底层数

[转帖]5、docker 访问仓库

很早之前看的文章,进行了简单的排版整理,找不到源地址了,如有侵权,请联系删除。 仓库(Repository)是集中存放镜像的地方。 一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以

[转帖]5个相见恨晚的Linux命令

https://www.sohu.com/a/295860653_487482 编者按:说到Linux命令相信大家都不陌生,就连前端现在也要经常在 terminal 敲一些 node,gulp等命令,本文详细介绍了五个相见恨晚,能极大提高工作效率的命令。 tldr(命令手册) 作为一个开发人员,经常

[转帖]5个相见恨晚的Linux命令

https://www.sohu.com/a/295860653_487482 编者按:说到Linux命令相信大家都不陌生,就连前端现在也要经常在 terminal 敲一些 node,gulp等命令,本文详细介绍了五个相见恨晚,能极大提高工作效率的命令。 tldr(命令手册) 作为一个开发人员,经常

[转帖]5分钟学会这种更高效的Redis数据删除方式

https://ost.51cto.com/posts/12513 简述 我们知道,Del命令能删除数据,除此之外,数据在Redis中,还会以哪种方式被删除呢?在Redis内存满一定会返回OOM错误?Key到达过期时间就立即删除?删除大Key会影响性能吗?下面,咱们一起探讨。 同步和异步删除 1.D

[转帖]5.Nginx常遇问题入坑出坑整理

https://cloud.tencent.com/developer/article/2129777?areaSource=105001.10&traceId=zTlrks12HlQGZpAUZE_y4 0x00 Nginx 安装与编译 1.在Ubuntu系统上进行Nginx源码编译安装时指定了–