tikv-ctl的简单学习

tikv,ctl,简单,学习 · 浏览次数 : 18

小编点评

## Tikv-ctl Simple Summary This document provides a summary of the key commands for working with Tikv-ctl, a tool for managing Key-Value Stores (KV). **Basic Commands:** 1. **Check Regions Health:** - `regions` shows if all regions are healthy and operational. - `bad-regions` indicates specific regions may be unhealthy. 2. **Dump and Restore Key Values:** - `dump_wal` captures the WAL file for a specific database snapshot. - `load` loads data from a WAL file into a new database. 3. **Manage Table Size:** - `size` displays the size of a specific table in bytes. - `reduce_levels` allows you to adjust the number of levels in a KV store. 4. **View Table Information:** - `get_property` retrieves a specific property from a table. - `list_column_families` displays all available column families in a database. 5. **Create and Manage Column Families:** - `create_column_family` creates a new column family. - `drop_column_family` removes a specific column family. 6. **Dump and Restore SST Files:** - `dump_live_files` and `restore` allow you to export and import SST files. 7. **Other Operations:** - `repair` and `backup` perform data recovery and backup tasks. - `checkpoint` and `write_extern_sst` facilitate checkpointing and writing SST data. - `ingest_extern_sst` imports SST data from another directory. **Additional Notes:** - `tiup` provides a convenient way to deploy and manage Tikv-ctl. - The help file for `ldb` provides detailed information about commands and parameters for working with RocksDB.

正文

tikv-ctl的简单学习


摘要

最近在学习使用 tidb.
有一个场景,单独使用了tikv作为键值对的数据库. 
但是比较不幸.总是出现宕机的情况 
因为这个环境是单独使用tikv 二进制进行安装的
没有grafana和dashboard的界面. 比较难以处理.
只能想着使用tikv-ctl等工具进行一些简单处理. 

部署方式

计划使用 tiup 进行部署.
因为能上网, 所以比较简单处理, 就不进行无网络的处理了 

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

安装 ctl
tiup ctl:v7.2.0
然后修改一下环境变量
echo "PATH=\$PATH:/root/.tiup/components/ctl/v7.2.0/ " >>/root/.bash_profile 
source /root/.bash_profile

需要注意 tiup 其实就将 ctl 安装到默认的一个版本目录下面:
/root/.tiup/components/ctl/v7.2.0/
增加上环境变量后就可以使用 直接使用ctl相关的命令了. 

命令学习

1. 查看regions 是否健康
tikv-ctl --data-dir=/data/tikv/data/tikv1 bad-regions
需要注意, 这个命令必须离线才能够验证. 在线是无法验证的. 
正常会如此提示: all regions are healthy

2. 查看所有的键值对
tikv-ctl --data-dir=/data/tikv/data/tikv1  raw-scan --limit=99999 >/root/zhaobsh.txt 
最后会将键值对的 总数给罗列出来. 

3. 查看第二个regions的相关信息.
tikv-ctl  --data-dir=/data/tikv/data/tikv1 size -r 2

4. tikv查看具体的键值信息:
tikv-ctl  --data-dir=/data/tikv/data/tikv1 print -k  zzhaohankey

5. ldb的指令
比较复杂, 参看下面

ldb的帮助信息

# 我怀疑是 rocksDB 复用了 levelDB的命令行工具
# 可以执行备份和恢复的操作. 也可以dump 所有的key 信息. 
# 感觉与redis 有一些相似. 
ldb - RocksDB Tool

commands MUST specify --db=<full_path_to_db_directory> when necessary

Data Access Commands:
  put <key> <value> [--create_if_missing] [--ttl]
  get <key> [--ttl]
  batchput <key> <value> [<key> <value>] [..] [--create_if_missing] [--ttl]
  scan [--from] [--to]  [--ttl] [--timestamp] [--max_keys=<N>q]  [--start_time=<N>:- is inclusive] [--end_time=<N>:- is exclusive] [--no_value]
  delete <key>
  deleterange <begin key> <end key>
  query [--ttl]
    Starts a REPL shell.  Type help for list of available commands.
  approxsize [--from] [--to]
  checkconsistency
  list_file_range_deletes [--max_keys=<N>] : print tombstones in SST files.


Admin Commands:
  dump_wal --walfile=<write_ahead_log_file_path> [--header]  [--print_value]  [--write_committed=true|false]
  compact [--from] [--to]
  reduce_levels --new_levels=<New number of levels> [--print_old_levels]
  change_compaction_style --old_compaction_style=<Old compaction style: 0 for level compaction, 1 for universal compaction> --new_compaction_style=<New compaction style: 0 for level compaction, 1 for universal compaction>
  dump [--from] [--to]  [--ttl] [--max_keys=<N>] [--timestamp] [--count_only] [--count_delim=<char>] [--stats] [--bucket=<N>] [--start_time=<N>:- is inclusive] [--end_time=<N>:- is exclusive] [--path=<path_to_a_file>]
  load [--create_if_missing] [--disable_wal] [--bulk_load] [--compact]
  manifest_dump [--verbose] [--json] [--path=<path_to_manifest_file>] [--sst_file_number=<sst_file_number>]
  file_checksum_dump [--path=<path_to_manifest_file>]
  get_property <property_name>
  list_column_families
  create_column_family --db=<db_path> <new_column_family_name>
  drop_column_family --db=<db_path> <column_family_name_to_drop>
  dump_live_files
  idump [--from] [--to]  [--input_key_hex] [--max_keys=<N>] [--count_only] [--count_delim=<char>] [--stats]
  list_live_files_metadata [--sort_by_filename]
  repair [--verbose]
  backup [--backup_env_uri | --backup_fs_uri]  [--backup_dir]  [--num_threads]  [--stderr_log_level=<int (InfoLogLevel)>]
  restore [--backup_env_uri | --backup_fs_uri]  [--backup_dir]  [--num_threads]  [--stderr_log_level=<int (InfoLogLevel)>]
  checkpoint [--checkpoint_dir]
  write_extern_sst <output_sst_path>
  ingest_extern_sst <input_sst_path> [--move_files]  [--snapshot_consistency]  [--allow_global_seqno]  [--allow_blocking_flush]  [--ingest_behind]  [--write_global_seqno]
  unsafe_remove_sst_file <SST file number>      MUST NOT be used on a live DB.

与tikv-ctl的简单学习相似的内容:

tikv-ctl的简单学习

# tikv-ctl的简单学习 ## 摘要 ``` 最近在学习使用 tidb. 有一个场景,单独使用了tikv作为键值对的数据库. 但是比较不幸.总是出现宕机的情况 因为这个环境是单独使用tikv 二进制进行安装的 没有grafana和dashboard的界面. 比较难以处理. 只能想着使用tikv

[转帖]TiKV Control 使用说明

https://docs.pingcap.com/zh/tidb/stable/tikv-control TiKV Control(以下简称 tikv-ctl)是 TiKV 的命令行工具,用于管理 TiKV 集群。它的安装目录如下: 如果是使用 TiUP 部署的集群,在 ~/.tiup/compon

[转帖]TiKV Control 使用说明

https://docs.pingcap.com/zh/tidb/stable/tikv-control TiKV Control(以下简称 tikv-ctl)是 TiKV 的命令行工具,用于管理 TiKV 集群。它的安装目录如下: 如果是使用 TiUP 部署的集群,在 ~/.tiup/compon

TiKV 源码分析之 PointGet

作者:来自 vivo 互联网存储研发团队-Guo Xiang 本文介绍了TiDB中最基本的PointGet算子在存储层TiKV中的执行流程。 一、背景介绍 TiDB是一款具有HTAP能力(同时支持在线事务处理与在线分析处理 )的融合型分布式数据库产品,具备水平扩容或者缩容等重要特性。TiDB 采用多

[转帖]TiKV & TiDB相关笔记

https://www.jianshu.com/p/1141be233bb2 一、TiKV存储 简述 通过单机的 RocksDB,TiKV 可以将数据快速地存储在磁盘上;通过 Raft,将数据复制到多台机器上,以防单机失效。数据的写入是通过 Raft 这一层的接口写入,而不是直接写 RocksDB。

[转帖]TiKV集群搭建

https://www.cnblogs.com/luohaixian/p/15227788.html 1.准备环境 准备4台ubuntu 16.04虚拟机 部署规划: 节点类型 CPU 内存 存储 部署数量 所在节点IP TiKV 8 core 8 GB 200GB 3 10.10.10.2 10.

[转帖]TiKV读写流程浅析

https://www.cnblogs.com/luohaixian/p/15227838.html 1.TiKV框架图和模块说明 图1 TiKV整体架构图 1.1.各模块说明 PD Cluster:它是由多个PD节点组成的etcd集群,PD是具有“上帝视角”的管理组件,负责存储元数据和进行负载均衡

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

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

[转帖]TiKV 内存参数性能调优

https://docs.pingcap.com/zh/tidb/stable/tune-tikv-memory-performance 本文档用于描述如何根据机器配置情况来调整 TiKV 的参数,使 TiKV 的性能达到最优。你可以在 etc/config-template.toml 找到配置文件

[转帖]TiKV 缩容不掉如何解决?

https://tidb.net/book/tidb-monthly/2022/2022-04/usercase/tikv TiKV节点缩容不掉,通常遇到的情况: 1、经常遇到的情况是:3个节点的tikv集群缩容肯定会一直卡着,因为没有新节点接受要下线kv的region peer。 2、另外就是除缩