| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <title>Pegasus | Shell</title> |
| <link rel="stylesheet" href="/zh/assets/css/app.css"> |
| <link rel="shortcut icon" href="/zh/assets/images/favicon.ico"> |
| <link rel="stylesheet" href="/zh/assets/css/utilities.min.css"> |
| <link rel="stylesheet" href="/zh/assets/css/docsearch.v3.css"> |
| <script src="/assets/js/jquery.min.js"></script> |
| <script src="/assets/js/all.min.js"></script> |
| <script src="/assets/js/docsearch.v3.js"></script> |
| <!-- Begin Jekyll SEO tag v2.8.0 --> |
| <title>Shell | Pegasus</title> |
| <meta name="generator" content="Jekyll v4.3.3" /> |
| <meta property="og:title" content="Shell" /> |
| <meta property="og:locale" content="en_US" /> |
| <meta name="description" content="Pegasus 提供了 Shell 工具,用于查看集群相关信息,创建/删除表,操作数据等。本文档基于 2.5.0 版本。" /> |
| <meta property="og:description" content="Pegasus 提供了 Shell 工具,用于查看集群相关信息,创建/删除表,操作数据等。本文档基于 2.5.0 版本。" /> |
| <meta property="og:site_name" content="Pegasus" /> |
| <meta property="og:type" content="article" /> |
| <meta property="article:published_time" content="2024-04-22T13:02:52+00:00" /> |
| <meta name="twitter:card" content="summary" /> |
| <meta property="twitter:title" content="Shell" /> |
| <script type="application/ld+json"> |
| {"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-04-22T13:02:52+00:00","datePublished":"2024-04-22T13:02:52+00:00","description":"Pegasus 提供了 Shell 工具,用于查看集群相关信息,创建/删除表,操作数据等。本文档基于 2.5.0 版本。","headline":"Shell","mainEntityOfPage":{"@type":"WebPage","@id":"/docs/tools/shell/"},"url":"/docs/tools/shell/"}</script> |
| <!-- End Jekyll SEO tag --> |
| </head> |
| |
| |
| <body> |
| <div class="dashboard is-full-height"> |
| <!-- left panel --> |
| <div class="dashboard-panel is-medium is-hidden-mobile pl-0"> |
| <div class="dashboard-panel-header has-text-centered"> |
| <a href="/zh/"> |
| <img src="/assets/images/pegasus-logo-inv.png" style="width: 80%;"> |
| </a> |
| |
| </div> |
| <div class="dashboard-panel-main is-scrollable pl-6"> |
| |
| |
| <aside class="menu"> |
| |
| <p class="menu-label">Pegasus 产品文档</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/docs/downloads" |
| class=""> |
| 下载 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">编译构建</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/docs/build/compile-by-docker" |
| class=""> |
| 使用 Docker 完成编译(推荐) |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/docs/build/compile-from-source" |
| class=""> |
| 从源码编译 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">客户端库</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/clients/java-client" |
| class=""> |
| Java 客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/clients/cpp-client" |
| class=""> |
| C++ 客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="https://github.com/apache/incubator-pegasus/tree/master/go-client" |
| class=""> |
| Golang 客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/clients/python-client" |
| class=""> |
| Python 客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/clients/node-client" |
| class=""> |
| NodeJS 客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/clients/scala-client" |
| class=""> |
| Scala 客户端 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">生态工具</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/docs/tools/shell" |
| class=""> |
| Pegasus Shell 工具 |
| </a> |
| </li> |
| |
| <li> |
| <a href="https://github.com/pegasus-kv/admin-cli" |
| class=""> |
| 集群管理命令行 |
| </a> |
| </li> |
| |
| <li> |
| <a href="https://github.com/pegasus-kv/pegic" |
| class=""> |
| 数据访问命令行 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">用户接口</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/api/ttl" |
| class=""> |
| TTL |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/api/single-atomic" |
| class=""> |
| 单行原子操作 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/api/redis" |
| class=""> |
| Redis 适配 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/api/geo" |
| class=""> |
| GEO 支持 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/api/http" |
| class=""> |
| HTTP 接口 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">高效运维</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/administration/deployment" |
| class=""> |
| 集群部署 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/config" |
| class=""> |
| 配置说明 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/rebalance" |
| class=""> |
| 负载均衡 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/monitoring" |
| class=""> |
| 可视化监控 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/rolling-update" |
| class=""> |
| 集群重启和升级 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/scale-in-out" |
| class=""> |
| 集群扩容缩容 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/resource-management" |
| class=""> |
| 资源管理 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/cold-backup" |
| class=""> |
| 冷备份 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/meta-recovery" |
| class=""> |
| 元数据恢复 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/replica-recovery" |
| class=""> |
| Replica 数据恢复 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/zk-migration" |
| class=""> |
| Zookeeper 迁移 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/table-migration" |
| class=""> |
| Table 迁移 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/table-soft-delete" |
| class=""> |
| Table 软删除 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/table-env" |
| class=""> |
| Table 环境变量 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/remote-commands" |
| class=""> |
| 远程命令 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/partition-split" |
| class=""> |
| Partition-Split |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/duplication" |
| class=""> |
| 跨机房同步 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/compression" |
| class=""> |
| 数据压缩 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/throttling" |
| class=""> |
| 流量控制 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/experiences" |
| class=""> |
| 运维经验 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/manual-compact" |
| class=""> |
| Manual Compact 功能 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/usage-scenario" |
| class=""> |
| Usage Scenario 功能 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/bad-disk" |
| class=""> |
| 坏盘检修 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/whitelist" |
| class=""> |
| Replica Server 白名单 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/backup-request" |
| class=""> |
| Backup Request |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/hotspot-detection" |
| class=""> |
| 热点检测 |
| </a> |
| </li> |
| |
| </ul> |
| |
| </aside> |
| </div> |
| </div> |
| |
| <!-- main section --> |
| <div class="dashboard-main is-scrollable"> |
| <nav class="navbar is-hidden-desktop"> |
| <div class="navbar-brand"> |
| <a href="/zh/" class="navbar-item"> |
| <!-- Pegasus Icon --> |
| <img src="/assets/images/pegasus-square.png"> |
| </a> |
| <div class="navbar-item"> |
| |
| |
| <!--A simple language switch button that only supports zh and en.--> |
| <!--IF its language is zh, then switches to en.--> |
| |
| <!--If you don't want a url to be relativized, you can add a space explicitly into the href to |
| prevents a url from being relativized by polyglot.--> |
| <a class="button is-light is-outlined is-inverted" href=" /docs/tools/shell/"><strong>En</strong></a> |
| |
| </div> |
| <a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false" data-target="navMenu"> |
| <!-- Appears in mobile mode only --> |
| <span aria-hidden="true"></span> |
| <span aria-hidden="true"></span> |
| <span aria-hidden="true"></span> |
| </a> |
| </div> |
| <div class="navbar-menu" id="navMenu"> |
| <div class="navbar-end"> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| Pegasus 产品文档 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/docs/downloads" |
| class="navbar-item "> |
| 下载 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 编译构建 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/docs/build/compile-by-docker" |
| class="navbar-item "> |
| 使用 Docker 完成编译(推荐) |
| </a> |
| |
| <a href="/zh/docs/build/compile-from-source" |
| class="navbar-item "> |
| 从源码编译 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 客户端库 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/clients/java-client" |
| class="navbar-item "> |
| Java 客户端 |
| </a> |
| |
| <a href="/zh/clients/cpp-client" |
| class="navbar-item "> |
| C++ 客户端 |
| </a> |
| |
| <a href="https://github.com/apache/incubator-pegasus/tree/master/go-client" |
| class="navbar-item "> |
| Golang 客户端 |
| </a> |
| |
| <a href="/zh/clients/python-client" |
| class="navbar-item "> |
| Python 客户端 |
| </a> |
| |
| <a href="/zh/clients/node-client" |
| class="navbar-item "> |
| NodeJS 客户端 |
| </a> |
| |
| <a href="/zh/clients/scala-client" |
| class="navbar-item "> |
| Scala 客户端 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 生态工具 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/docs/tools/shell" |
| class="navbar-item "> |
| Pegasus Shell 工具 |
| </a> |
| |
| <a href="https://github.com/pegasus-kv/admin-cli" |
| class="navbar-item "> |
| 集群管理命令行 |
| </a> |
| |
| <a href="https://github.com/pegasus-kv/pegic" |
| class="navbar-item "> |
| 数据访问命令行 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 用户接口 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/api/ttl" |
| class="navbar-item "> |
| TTL |
| </a> |
| |
| <a href="/zh/api/single-atomic" |
| class="navbar-item "> |
| 单行原子操作 |
| </a> |
| |
| <a href="/zh/api/redis" |
| class="navbar-item "> |
| Redis 适配 |
| </a> |
| |
| <a href="/zh/api/geo" |
| class="navbar-item "> |
| GEO 支持 |
| </a> |
| |
| <a href="/zh/api/http" |
| class="navbar-item "> |
| HTTP 接口 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 高效运维 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/administration/deployment" |
| class="navbar-item "> |
| 集群部署 |
| </a> |
| |
| <a href="/zh/administration/config" |
| class="navbar-item "> |
| 配置说明 |
| </a> |
| |
| <a href="/zh/administration/rebalance" |
| class="navbar-item "> |
| 负载均衡 |
| </a> |
| |
| <a href="/zh/administration/monitoring" |
| class="navbar-item "> |
| 可视化监控 |
| </a> |
| |
| <a href="/zh/administration/rolling-update" |
| class="navbar-item "> |
| 集群重启和升级 |
| </a> |
| |
| <a href="/zh/administration/scale-in-out" |
| class="navbar-item "> |
| 集群扩容缩容 |
| </a> |
| |
| <a href="/zh/administration/resource-management" |
| class="navbar-item "> |
| 资源管理 |
| </a> |
| |
| <a href="/zh/administration/cold-backup" |
| class="navbar-item "> |
| 冷备份 |
| </a> |
| |
| <a href="/zh/administration/meta-recovery" |
| class="navbar-item "> |
| 元数据恢复 |
| </a> |
| |
| <a href="/zh/administration/replica-recovery" |
| class="navbar-item "> |
| Replica 数据恢复 |
| </a> |
| |
| <a href="/zh/administration/zk-migration" |
| class="navbar-item "> |
| Zookeeper 迁移 |
| </a> |
| |
| <a href="/zh/administration/table-migration" |
| class="navbar-item "> |
| Table 迁移 |
| </a> |
| |
| <a href="/zh/administration/table-soft-delete" |
| class="navbar-item "> |
| Table 软删除 |
| </a> |
| |
| <a href="/zh/administration/table-env" |
| class="navbar-item "> |
| Table 环境变量 |
| </a> |
| |
| <a href="/zh/administration/remote-commands" |
| class="navbar-item "> |
| 远程命令 |
| </a> |
| |
| <a href="/zh/administration/partition-split" |
| class="navbar-item "> |
| Partition-Split |
| </a> |
| |
| <a href="/zh/administration/duplication" |
| class="navbar-item "> |
| 跨机房同步 |
| </a> |
| |
| <a href="/zh/administration/compression" |
| class="navbar-item "> |
| 数据压缩 |
| </a> |
| |
| <a href="/zh/administration/throttling" |
| class="navbar-item "> |
| 流量控制 |
| </a> |
| |
| <a href="/zh/administration/experiences" |
| class="navbar-item "> |
| 运维经验 |
| </a> |
| |
| <a href="/zh/administration/manual-compact" |
| class="navbar-item "> |
| Manual Compact 功能 |
| </a> |
| |
| <a href="/zh/administration/usage-scenario" |
| class="navbar-item "> |
| Usage Scenario 功能 |
| </a> |
| |
| <a href="/zh/administration/bad-disk" |
| class="navbar-item "> |
| 坏盘检修 |
| </a> |
| |
| <a href="/zh/administration/whitelist" |
| class="navbar-item "> |
| Replica Server 白名单 |
| </a> |
| |
| <a href="/zh/administration/backup-request" |
| class="navbar-item "> |
| Backup Request |
| </a> |
| |
| <a href="/zh/administration/hotspot-detection" |
| class="navbar-item "> |
| 热点检测 |
| </a> |
| |
| </div> |
| </div> |
| |
| </div> |
| </div> |
| </nav> |
| |
| <nav class="navbar is-hidden-mobile"> |
| <div class="navbar-start w-full"> |
| <div class="navbar-item pl-0 w-full"> |
| <!--TODO(wutao): Given the limitation of docsearch that couldn't handle multiple input, |
| I make searchbox only shown in desktop. Fix this issue when docsearch.js v3 released. |
| Related issue: https://github.com/algolia/docsearch/issues/230--> |
| <div id="docsearch"></div> |
| </div> |
| </div> |
| <div class="navbar-end"> |
| <div class="navbar-item"> |
| |
| |
| <!--A simple language switch button that only supports zh and en.--> |
| <!--IF its language is zh, then switches to en.--> |
| |
| <!--If you don't want a url to be relativized, you can add a space explicitly into the href to |
| prevents a url from being relativized by polyglot.--> |
| <a class="button is-light is-outlined is-inverted" href=" /docs/tools/shell/"><strong>En</strong></a> |
| |
| </div> |
| </div> |
| </nav> |
| |
| <section class="hero is-info lg:mr-3"> |
| <div class="hero-body"> |
| |
| <p class="title is-size-2 is-centered">Pegasus Shell 工具</p> |
| </div> |
| </section> |
| <section class="section" style="padding-top: 2rem;"> |
| <div class="content"> |
| <p>Pegasus 提供了 Shell 工具,用于查看集群相关信息,创建/删除表,操作数据等。本文档基于 2.5.0 版本。</p> |
| |
| <h1 id="工具获取">工具获取</h1> |
| |
| <p>在成功<a href="compilation">编译 Pegasus </a>后,再成功启动 <a href="overview/onebox">onebox</a> 后在 pegasus 目录下启动 Shell 工具:</p> |
| |
| <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./run.sh shell |
| </code></pre></div></div> |
| |
| <p>也可以用 pack 工具打包 Shell 工具,方便在其他机器上使用:</p> |
| |
| <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./run.sh pack_tools |
| </code></pre></div></div> |
| |
| <p>pack 成功后,会在本地文件夹下生成<code class="language-plaintext highlighter-rouge">pegasus-tools-{version}-{gitSHA}-{platform}-{buildType}.tar.gz</code>文件。将该文件拷贝到目标机器上,解压后进入该文件夹,运行<code class="language-plaintext highlighter-rouge">./run.sh shell</code>就可以使用 Shell 工具,可以使用 <code class="language-plaintext highlighter-rouge">-h</code> 选项获取帮助:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ ./run.sh shell -h |
| Options for subcommand 'shell': |
| -h|--help print the help info |
| -c|--config <path> config file path, default './config-shell.ini.{PID}' |
| --cluster <str> cluster meta lists, default '127.0.0.1:34601,127.0.0.1:34602,127.0.0.1:34603' |
| </code></pre></div></div> |
| |
| <p>譬如访问某个特定集群:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./run.sh shell --cluster 127.0.0.1:34601,127.0.0.1:34602 |
| </code></pre></div></div> |
| |
| <h1 id="工具使用">工具使用</h1> |
| |
| <p>Shell 工具采用子命令模式,进入子命令模式执行<code class="language-plaintext highlighter-rouge">help</code>后会显示帮助文档。(注:根据版本不同命令会有区别,以下为 2.5.0 版本)。对于每个子命令,也可以通过<code class="language-plaintext highlighter-rouge">-h</code>选项获取该子命令的帮助信息。</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Usage: |
| help |
| version |
| cluster_info [-r|--resolve_ip] [-o|--output file_name] [-j|--json] |
| app <app_name> [-d|--detailed] [-r|--resolve_ip] [-o|--output file_name] |
| [-j|--json] |
| app_disk <app_name> [-d|--detailed] [-r|--resolve_ip] [-j|--json] |
| [-o|--output file_name] |
| ls [-a|-all] [-d|--detailed] [-j|--json] |
| [-o|--output file_name][-s|--status all|available|creating|dropping|dropped] |
| nodes [-d|--detailed] [-j|--json] [-r|--resolve_ip] [-u|--resource_usage] |
| [-o|--output file_name] [-s|--status all|alive|unalive] [-q|--qps] |
| [-p|latency_percentile 50|90|95|99|999] |
| create <app_name> [-p|--partition_count num] [-r|--replica_count num] |
| [-e|--envs k1=v1,k2=v2...] |
| drop <app_name> [-r|--reserve_seconds num] |
| recall <app_id> [new_app_name] |
| set_meta_level <stopped|blind|freezed|steady|lively> |
| get_meta_level |
| balance <-g|--gpid appid.pidx> <-p|--type move_pri|copy_pri|copy_sec> |
| <-f|--from from_address> <-t|--to to_address> |
| propose [-f|--force] <-g|--gpid appid.pidx> |
| <-p|--type ASSIGN_PRIMARY|ADD_SECONDARY|DOWNGRADE_TO_INACTIVE...> |
| <-t|--target node_to_exec_command> <-n|--node node_to_be_affected> |
| use [app_name] |
| cc [cluster_name] |
| escape_all [true|false] |
| timeout [time_in_ms] |
| hash <hash_key> <sort_key> |
| set <hash_key> <sort_key> <value> [ttl_in_seconds] |
| multi_set <hash_key> <sort_key> <value> [sort_key value...] |
| get <hash_key> <sort_key> |
| multi_get <hash_key> [sort_key...] |
| multi_get_range <hash_key> <start_sort_key> <stop_sort_key> |
| [-a|--start_inclusive true|false] [-b|--stop_inclusive true|false] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix] |
| [-y|--sort_key_filter_pattern str] [-n|--max_count num] |
| [-i|--no_value] [-r|--reverse] |
| multi_get_sortkeys <hash_key> |
| del <hash_key> <sort_key> |
| multi_del <hash_key> <sort_key> [sort_key...] |
| multi_del_range <hash_key> <start_sort_key> <stop_sort_key> |
| [-a|--start_inclusive true|false] [-b|--stop_inclusive true|false] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix] |
| [-y|--sort_key_filter_pattern str] [-o|--output file_name] |
| [-i|--silent] |
| incr <hash_key> <sort_key> [increment] |
| check_and_set <hash_key> [-c|--check_sort_key str] |
| [-t|--check_type not_exist|not_exist_or_empty|exist|not_empty] |
| [match_anywhere|match_prefix|match_postfix] |
| [bytes_less|bytes_less_or_equal|bytes_equal|bytes_greater_or_equal|bytes_greater] |
| [int_less|int_less_or_equal|int_equal|int_greater_or_equal|int_greater] |
| [-o|--check_operand str] [-s|--set_sort_key str] [-v|--set_value str] |
| [-l|--set_value_ttl_seconds num] [-r|--return_check_value] |
| check_and_mutate <hash_key> [-c|--check_sort_key str] |
| [-t|--check_type not_exist|not_exist_or_empty|exist|not_empty] |
| [match_anywhere|match_prefix|match_postfix] |
| [bytes_less|bytes_less_or_equal|bytes_equal|bytes_greater_or_equal|bytes_greater] |
| [int_less|int_less_or_equal|int_equal|int_greater_or_equal|int_greater] |
| [-o|--check_operand str] [-r|--return_check_value] |
| exist <hash_key> <sort_key> |
| count <hash_key> |
| ttl <hash_key> <sort_key> |
| hash_scan <hash_key> <start_sort_key> <stop_sort_key> |
| [-a|--start_inclusive true|false] [-b|--stop_inclusive true|false] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact] |
| [-z|--value_filter_pattern str] [-o|--output file_name] |
| [-n|--max_count num] [-t|--timeout_ms num] [-d|--detailed] |
| [-i|--no_value] |
| full_scan [-h|--hash_key_filter_type anywhere|prefix|postfix] |
| [-x|--hash_key_filter_pattern str] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix|exact] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact] |
| [-z|--value_filter_pattern str] [-o|--output file_name] |
| [-n|--max_count num] [-t|--timeout_ms num] [-d|--detailed] |
| [-i|--no_value] [-p|--partition num] |
| copy_data <-c|--target_cluster_name str> <-a|--target_app_name str> |
| [-p|--partition num] [-b|--max_batch_count num] [-t|--timeout_ms num] |
| [-h|--hash_key_filter_type anywhere|prefix|postfix] |
| [-x|--hash_key_filter_pattern str] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix|exact] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact] |
| [-z|--value_filter_pattern str] [-m|--max_multi_set_concurrency] |
| [-o|--scan_option_batch_size] [-n|--no_overwrite] [-i|--no_value] |
| [-g|--geo_data] [-u|--use_multi_set] |
| clear_data [-p|--partition num] [-b|--max_batch_count num] [-t|--timeout_ms num] |
| [-h|--hash_key_filter_type anywhere|prefix|postfix] |
| [-x|--hash_key_filter_pattern str] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix|exact] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact] |
| [-z|--value_filter_pattern str] [-f|--force] |
| count_data [-c|--precise][-p|--partition num] |
| [-b|--max_batch_count num][-t|--timeout_ms num] |
| [-h|--hash_key_filter_type anywhere|prefix|postfix] |
| [-x|--hash_key_filter_pattern str] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix|exact] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact] |
| [-z|--value_filter_pattern str][-d|--diff_hash_key] [-a|--stat_size] |
| [-n|--top_count num] [-r|--run_seconds num] |
| remote_command [-t all|meta-server|replica-server] [-r|--resolve_ip] |
| [-l ip:port,ip:port...]<command> [arguments...] |
| server_info [-t all|meta-server|replica-server] [-l ip:port,ip:port...] |
| [-r|--resolve_ip] |
| server_stat [-t all|meta-server|replica-server] [-l ip:port,ip:port...] |
| [-r|--resolve_ip] |
| app_stat [-a|--app_name str] [-q|--only_qps] [-u|--only_usage] [-j|--json] |
| [-o|--output file_name] |
| flush_log [-t all|meta-server|replica-server] |
| [-l ip:port,ip:port...][-r|--resolve_ip] |
| local_get <db_path> <hash_key> <sort_key> |
| rdb_key_str2hex <hash_key> <sort_key> |
| rdb_key_hex2str <rdb_key_in_hex> |
| rdb_value_hex2str <value_in_hex> |
| sst_dump [--command=check|scan|none|raw] <--file=data_dir_OR_sst_file> |
| [--from=user_key] [--to=user_key] [--read_num=num] [--show_properties] |
| [--pegasus_data] |
| mlog_dump <-i|--input log_dir> [-o|--output file_name] [-d|--detailed] |
| recover [-f|--node_list_file file_name] [-s|--node_list_str str] |
| [-w|--wait_seconds num] [-b|--skip_bad_nodes] |
| [-l|--skip_lost_partitions] [-o|--output file_name] |
| add_backup_policy <-p|--policy_name str> <-b|--backup_provider_type str> |
| <-a|--app_ids 1,2...> <-i|--backup_interval_seconds num> |
| <-s|--start_time hour:minute> <-c|--backup_history_cnt num> |
| ls_backup_policy |
| query_backup_policy <-p|--policy_name p1,p2...> [-b|--backup_info_cnt num] |
| modify_backup_policy <-p|--policy_name str> [-a|--add_app 1,2...] [-r|--remove_app 1,2...] |
| [-i|--backup_interval_seconds num] [-c|--backup_history_count num] |
| [-s|--start_time hour:minute] |
| disable_backup_policy <-p|--policy_name str> |
| enable_backup_policy <-p|--policy_name str> |
| restore_app <-c|--old_cluster_name str> <-p|--old_policy_name str> |
| <-a|--old_app_name str> <-i|--old_app_id id> |
| <-t|--timestamp/backup_id timestamp> <-b|--backup_provider_type str> |
| [-n|--new_app_name str] [-s|--skip_bad_partition] |
| query_restore_status <restore_app_id> [-d|--detailed] |
| get_app_envs [-j|--json] |
| set_app_envs <key> <value> [key value...] |
| del_app_envs <key> [key...] |
| clear_app_envs [-a|--all] [-p|--prefix str] |
| ddd_diagnose [-g|--gpid appid|appid.pidx] [-d|--diagnose] [-a|--auto_diagnose] |
| [-s|--skip_prompt] [-o|--output file_name] |
| add_dup <app_name> <remote_cluster_name> [-f|--freezed] |
| query_dup <app_name> [-d|--detail] |
| remove_dup <app_name> <dup_id> |
| start_dup <app_name> <dup_id> |
| pause_dup <app_name> <dup_id> |
| disk_capacity [-n|--node replica_server(ip:port)][-o|--out file_name][-j|-json][-d|--detail] |
| disk_replica [-n|--node replica_server(ip:port)][-a|-app app_name][-o|--out file_name][-j|--json] |
| set_dup_fail_mode <app_name> <dup_id> <slow|skip> |
| get_replica_count <app_name> |
| set_replica_count <app_name> <replica_count> |
| exit |
| </code></pre></div></div> |
| |
| <p>由于子命令很多,为了方便使用,我们根据功能不同进行分类。</p> |
| |
| <h2 id="基本命令">基本命令</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>子命令</th> |
| <th>功能</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>help</td> |
| <td>获取帮助信息</td> |
| </tr> |
| <tr> |
| <td>version</td> |
| <td>获取 Shell 工具的版本信息</td> |
| </tr> |
| <tr> |
| <td>exit</td> |
| <td>退出 Shell 工具,等同于输入 “Ctrl-C” 或者 “Ctrl-D”</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3 id="help">help</h3> |
| |
| <p>获取帮助信息。</p> |
| |
| <h3 id="version">version</h3> |
| |
| <p>获取 Shell 工具的版本信息。</p> |
| |
| <h3 id="exit">exit</h3> |
| |
| <p>退出 Shell 工具,等同于输入 “Ctrl-C” 或者 “Ctrl-D”。</p> |
| |
| <h2 id="全局属性">全局属性</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>子命令</th> |
| <th>功能</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>cc</td> |
| <td>change cluster,改变当前使用的集群</td> |
| </tr> |
| <tr> |
| <td>use</td> |
| <td>指定当前使用的表,有的子命令在使用前需要先指定表,譬如数据操作类命令</td> |
| </tr> |
| <tr> |
| <td>escape_all</td> |
| <td>输出字节类数据时,选择将”所有字符”转换为十六进制编码还是仅将”不可见字符”转换为十六进制编码,默认为后者</td> |
| </tr> |
| <tr> |
| <td>timeout</td> |
| <td>数据操作的默认超时时间</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3 id="cc">cc</h3> |
| |
| <p>change cluster,改变当前使用的集群。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: cc [cluster_name] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>指定的集群名必须在<code class="language-plaintext highlighter-rouge">src/shell/config.ini</code>配置文件的 [pegasus.clusters] 配置段中可以找到。</li> |
| <li>你可以在 [pegasus.clusters] 配置段中设置多个集群。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> cc my_cluster |
| </code></pre></div></div> |
| |
| <h3 id="use">use</h3> |
| |
| <p>指定当前使用的表,有的子命令在使用前需要先指定表,譬如数据操作类命令。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: use [app_name] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>表必须已经创建才能使用,默认存在 temp 表。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> use tmp |
| </code></pre></div></div> |
| |
| <h3 id="escape_all">escape_all</h3> |
| |
| <p>输出字节类数据时,选择将”所有字符”转换为十六进制编码还是仅将”不可见字符”转换为十六进制编码,默认为后者。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: escape_all [true|false] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>默认为 false。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> escape_all true |
| </code></pre></div></div> |
| |
| <h3 id="timeout">timeout</h3> |
| |
| <p>设置数据操作的默认超时时间,单位 ms。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: timeout [time_in_ms] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>如果不指定 [time_in_ms],则输出当前的超时时间。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> timeout 1000 |
| </code></pre></div></div> |
| |
| <h2 id="节点管理">节点管理</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>子命令</th> |
| <th>功能</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>cluster_info</td> |
| <td>获取集群基本信息</td> |
| </tr> |
| <tr> |
| <td>nodes</td> |
| <td>获取节点列表,可加<code class="language-plaintext highlighter-rouge">-d</code>选项获取各节点的负载情况</td> |
| </tr> |
| <tr> |
| <td>server_info</td> |
| <td>各节点的基本信息,主要是 server 版本、节点启动时间</td> |
| </tr> |
| <tr> |
| <td>server_stat</td> |
| <td>各节点的统计信息,包含一些关键的统计数据,譬如 get 和 put 操作的 QPS 和延迟、内存和存储使用情况</td> |
| </tr> |
| <tr> |
| <td>remote_command</td> |
| <td>向节点发送<a href="/zh/administration/remote_command">远程命令</a>,以执行某些特殊操作</td> |
| </tr> |
| <tr> |
| <td>flush_log</td> |
| <td>向节点发送<a href="/zh/administration/remote_command">远程命令</a>,将最近缓冲区中的日志数据刷出到日志文件中</td> |
| </tr> |
| <tr> |
| <td>disk_replica</td> |
| <td>各节点的副本在磁盘上的分布</td> |
| </tr> |
| <tr> |
| <td>disk_capacity</td> |
| <td>各节点的磁盘空间占用</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3 id="cluster_info">cluster_info</h3> |
| |
| <p>获取集群基本信息。</p> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>集群信息主要主要包含: |
| <ul> |
| <li>meta_server、zookeeper 的节点信息。</li> |
| <li>meta_function_level:负载均衡策略。</li> |
| <li>balance_operation_count:负载均衡操作统计,包括 move_pri、move_pri、copy_sec、total。负载均衡信息参见<a href="/zh/administration/rebalance">负载均衡</a>。</li> |
| <li>primary_replica_count_stddev:负载均衡衡量指标。</li> |
| <li>total_replica_count_stddev:负载均衡衡量指标。</li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h3 id="nodes">nodes</h3> |
| |
| <p>获取 replica 节点列表,默认以 IP 地址表示各个节点,并输出基本信息。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: nodes [-d|--detailed] [-j|--json] [-r|--resolve_ip] [-u|--resource_usage] |
| [-o|--output file_name] [-s|--status all|alive|unalive] [-q|--qps] |
| [-p|latency_percentile 50|90|95|99|999] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-d</code>选项:如果指定,输出节点的详细信息,如获取各节点的负载情况。</li> |
| <li><code class="language-plaintext highlighter-rouge">-r</code>选项:如果指定,以域名信息表示该节点,并输出基本信息,如果无法找到节点地址对应域名信息,显示 UNRESOLVABLE。</li> |
| <li><code class="language-plaintext highlighter-rouge">-u</code>选项:如果指定,输出节点资源使用情况。</li> |
| <li><code class="language-plaintext highlighter-rouge">-o</code>选项:如果指定,输出基本信息到指定文件,默认为当前路径。</li> |
| <li><code class="language-plaintext highlighter-rouge">-s</code>选项:如果指定,输出某种状态的节点信息,包括 all、alive、unalive。</li> |
| <li><code class="language-plaintext highlighter-rouge">-q</code>选项:如果指定,则仅显示指定节点的 QPS 信息。</li> |
| <li><code class="language-plaintext highlighter-rouge">-p</code>选项:如果指定,则显示指定节点的延迟等级。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> nodes -s alive |
| </code></pre></div></div> |
| |
| <h3 id="server_info">server_info</h3> |
| |
| <p>各节点的基本信息,主要是节点地址、状态、server 版本、启动时间等。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE:server_info [-t all|meta-server|replica-server] [-l ip:port,ip:port...] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-t</code>选项:如果指定,则选择输出服务器节点类别的信息,包含 all、meta-server、replica-server。</li> |
| <li><code class="language-plaintext highlighter-rouge">-l</code>选项:如果指定,则选择输出特定 IP 地址节点的信息,多个节点使用<code class="language-plaintext highlighter-rouge">,</code>连接。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> server_info -t meta-server |
| </code></pre></div></div> |
| |
| <h3 id="server_stat">server_stat</h3> |
| |
| <p>各节点的统计信息,包含一些关键的统计数据,譬如 get 和 put 操作的 QPS 和延迟、内存和存储使用情况。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE:server_stat [-t all|meta-server|replica-server] [-l ip:port,ip:port...] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>选项参数说明同 <a href="#server_info">server_info</a>。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> server_stat -t meta-server |
| </code></pre></div></div> |
| |
| <h3 id="remote_command">remote_command</h3> |
| |
| <p>向指定的一个或者多个远程进程发送远程命令。参见<a href="/zh/administration/remote-commands">远程命令</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: remote_command [-t all|meta-server|replica-server] [-r|--resolve_ip] |
| [-l ip:port,ip:port...] <command> [arguments...] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-t</code>:只向指定角色的所有进程发送。</li> |
| <li><code class="language-plaintext highlighter-rouge">-l</code>:只向指定的地址发送,可以通过列表指定多个地址。</li> |
| <li>如果不指定,则会向集群中的所有节点发送指令。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> remote_command -t meta-server server-info |
| </code></pre></div></div> |
| |
| <h3 id="flush_log">flush_log</h3> |
| |
| <p>向节点发送远程命令,将最近缓冲区中的日志数据刷出到日志文件中。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE:flush_log [-t all|meta-server|replica-server] [-l ip:port,ip:port...] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-t</code>、<code class="language-plaintext highlighter-rouge">-l</code>选项:用于选择特定目标机器,参见 <a href="#server_info">server_info</a> 说明。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> flush_log -t meta-server |
| </code></pre></div></div> |
| |
| <h3 id="disk_replica">disk_replica</h3> |
| |
| <p>查询副本在 replica_server 节点的磁盘分布,1.12.3 版本提供支持。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE:disk_replica [-n|--node replica_server(ip:port)][-a|-app app_name][-o|--out file_name][-j|--json] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-n</code>选项:用于查看特定节点磁盘上的副本分布,格式为 ip:port</li> |
| <li><code class="language-plaintext highlighter-rouge">-a</code>选项:用于查看某个表的副本在节点磁盘上的分布</li> |
| <li><code class="language-plaintext highlighter-rouge">-o</code>选项:把结果输出到某个文件</li> |
| <li><code class="language-plaintext highlighter-rouge">-j</code>选项:以 json 格式输出查询结果</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> disk_replica -n 127.0.0.1:34608 -a temp |
| </code></pre></div></div> |
| |
| <h3 id="disk_capacity">disk_capacity</h3> |
| |
| <p>查询 replica_server 节点的磁盘空间占用,1.12.3 版本提供支持。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE:disk_capacity [-n|--node replica_server(ip:port)][-o|--out file_name][-j|-json][-d|--detail] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-n</code>选项:用于查看特定节点磁盘上的副本分布,格式为 ip:port</li> |
| <li><code class="language-plaintext highlighter-rouge">-d</code>选项:用于查看节点上每个磁盘的空间占用信息</li> |
| <li><code class="language-plaintext highlighter-rouge">-o</code>选项:把结果输出到某个文件</li> |
| <li><code class="language-plaintext highlighter-rouge">-j</code>选项:以 json 格式输出查询结果</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> disk_capacity -n 127.0.0.1:34608 -d |
| </code></pre></div></div> |
| |
| <h2 id="表管理">表管理</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>子命令</th> |
| <th>功能</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>ls</td> |
| <td>获取所有表的列表,可加<code class="language-plaintext highlighter-rouge">-d</code>选项获取各表的健康状况,可加<code class="language-plaintext highlighter-rouge">-a</code>选项包含已删除表的信息</td> |
| </tr> |
| <tr> |
| <td>app</td> |
| <td>获取某个表的信息,可加<code class="language-plaintext highlighter-rouge">-d</code>选项获取详细信息,包括各 partition 的分布情况、健康状况</td> |
| </tr> |
| <tr> |
| <td>app_stat</td> |
| <td>获取表的读写情况和存储统计信息,可加<code class="language-plaintext highlighter-rouge">-a</code>选项指定单个表,以获取该表各个 partition 的详细统计信息</td> |
| </tr> |
| <tr> |
| <td>app_disk</td> |
| <td>获取某个表的详细存储信息,可加<code class="language-plaintext highlighter-rouge">-d</code>选项获取各 partition 的详细存储信息</td> |
| </tr> |
| <tr> |
| <td>create</td> |
| <td>创建表,可加<code class="language-plaintext highlighter-rouge">-p</code>和<code class="language-plaintext highlighter-rouge">-r</code>选项指定分片数和副本数,要求分片数是 2 的指数倍,不指定 -r 则默认副本数为 3(推荐值)</td> |
| </tr> |
| <tr> |
| <td>drop</td> |
| <td>删除表,参见<a href="/zh/administration/table-soft-delete#使用drop命令删除表">使用 drop 命令删除表</a></td> |
| </tr> |
| <tr> |
| <td>recall</td> |
| <td>恢复已删除的表,参见<a href="/zh/administration/table-soft-delete#使用recall命令恢复表">使用 recall 命令恢复表</a></td> |
| </tr> |
| <tr> |
| <td>get_app_envs</td> |
| <td>获取表的环境变量</td> |
| </tr> |
| <tr> |
| <td>set_app_envs</td> |
| <td>设置表的环境变量</td> |
| </tr> |
| <tr> |
| <td>del_app_envs</td> |
| <td>删除表的环境变量</td> |
| </tr> |
| <tr> |
| <td>clear_app_envs</td> |
| <td>清理表的环境变量</td> |
| </tr> |
| <tr> |
| <td>add_dup</td> |
| <td>添加 duplication 的集群,参见<a href="/zh/administration/duplication">跨机房同步</a></td> |
| </tr> |
| <tr> |
| <td>query_dup</td> |
| <td>查询表的跨机房同步的集群, 参加<a href="/zh/administration/duplication">跨机房同步</a></td> |
| </tr> |
| <tr> |
| <td>remove_dup</td> |
| <td>移除 duplication 的集群, 参见<a href="/zh/administration/duplication">跨机房同步</a></td> |
| </tr> |
| <tr> |
| <td>start_dup</td> |
| <td>开始跨机房同步, 启动 duplication 的备份功能, 参见<a href="/zh/administration/duplication">跨机房同步</a></td> |
| </tr> |
| <tr> |
| <td>pause_dup</td> |
| <td>暂停跨机房同步, 暂停 duplication 的备份功能, 参见<a href="/zh/administration/duplication">跨机房同步</a></td> |
| </tr> |
| <tr> |
| <td>set_dup_fail_mode</td> |
| <td>设置 duplication 失败后的处理的方式, 对指定的表的指定同步集群设置, 可设置为 fail 和 skip</td> |
| </tr> |
| <tr> |
| <td>get_replica_count</td> |
| <td>获取表的副本数参数值</td> |
| </tr> |
| <tr> |
| <td>set_replica_count</td> |
| <td>设置表的副本数参数值</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3 id="ls">ls</h3> |
| |
| <p>获取所有表的列表。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: ls [-a|-all] [-d|--detailed] [-o|--output file_name] |
| [-s|--status all|available|creating|dropping|dropped] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-a</code>选项:如果指定,则显示包括已被删除的所有表。</li> |
| <li><code class="language-plaintext highlighter-rouge">-d</code>选项:如果指定,则显示各个表的详细信息,主要是 partition 的健康状况。</li> |
| <li><code class="language-plaintext highlighter-rouge">-o</code>选项:如果指定,则将结果输出到参数所指定的文件中。</li> |
| <li><code class="language-plaintext highlighter-rouge">-s</code>选项:如果指定,则只显示符合参数所指定的状态的表。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> ls -d -o ls.txt |
| </code></pre></div></div> |
| |
| <h3 id="app">app</h3> |
| |
| <p>获取某个表的基本信息。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: app <app_name> [-d|--detailed] [-o|--output file_name] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-d</code>选项:如果指定,则显示各个表的详细信息,如 partition 的分布和健康状况。</li> |
| <li><code class="language-plaintext highlighter-rouge">-o</code>选项:如果指定,则将结果输出到参数所指定的文件中。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> app temp |
| </code></pre></div></div> |
| |
| <h3 id="app_stat">app_stat</h3> |
| |
| <p>获取表的读写和存储统计信息,如 get、put、del 等。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: app_stat [-a|--app_name str] [-q|--only_qps] [-u|--only_usage] |
| [-o|--output file_name] |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> app_stat temp |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-a</code>选项:如果指定,则按照指定表的 partition 分类显示详细信息。</li> |
| <li><code class="language-plaintext highlighter-rouge">-q</code>选项:如果指定,则仅显示指定表的 QPS 信息。</li> |
| <li><code class="language-plaintext highlighter-rouge">-u</code>选项:如果指定,则仅显示指定表的 usage 信息。</li> |
| <li><code class="language-plaintext highlighter-rouge">-o</code>选项:如果指定,则把结果输出到指定文件中。</li> |
| </ul> |
| |
| <h3 id="app_disk">app_disk</h3> |
| |
| <p>获取某个表的详细存储信息。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: app_disk <app_name> [-d|--detailed] [-o|--output file_name] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-d</code>选项:如果指定,则可以获取表的详细信息,如 primary 和 secondary 情况。</li> |
| <li><code class="language-plaintext highlighter-rouge">-o</code>选项:如果指定,则将结果输出到参数所指定的文件中。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> app_disk temp |
| </code></pre></div></div> |
| |
| <h3 id="create">create</h3> |
| |
| <p>创建表</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: create <app_name> [-p|--partition_count num] [-r|--replica_count num] |
| [-e|--envs k1=v1,k2=v2...] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-p</code>选项:如果指定,则可以设置分片数,要求分片数是 2 的指数倍。</li> |
| <li><code class="language-plaintext highlighter-rouge">-r</code>选项:如果指定,则可以指定副本数,推荐副本数为 3。</li> |
| <li><code class="language-plaintext highlighter-rouge">-e</code>选项:如果指定,则可是设置环境变量,参见 <a href="/zh/administration/table-env">Table 环境变量</a>。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> create temp |
| </code></pre></div></div> |
| |
| <h3 id="drop">drop</h3> |
| |
| <p>删除表。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: drop <app_name> [-r|--reserve_seconds num] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-r</code>选项:如果指定,则设置数据的保留时间(删除时间开始计算,单位为秒)。如果不指定,则使用配置文件 hold_seconds_for_dropped_app 指定的值,默认为 7 天,参见 <a href="/zh/administration/table-soft-delete#使用drop命令删除表">Table 软删除#使用drop命令删除表</a>。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> drop temp |
| </code></pre></div></div> |
| |
| <h3 id="recall">recall</h3> |
| |
| <p>恢复已经删除的表。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: recall <app_id> [new_app_name] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>注意该命令通过 app_id 进行表恢复。</li> |
| <li><code class="language-plaintext highlighter-rouge">new_app_name</code>参数:如果不指定新表名,则会使用原表名,否则使用指定的新表名,如果原表名已存在(删表后新建了同名表),则必须指定另外一个不同的新表名,否则会失败。</li> |
| <li>详细信息参见 <a href="/zh/administration/table-soft-delete#使用recall命令恢复表">Table 软删除#使用recall命令恢复表</a>。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> recall 19 |
| </code></pre></div></div> |
| |
| <h3 id="get_app_envs">get_app_envs</h3> |
| |
| <p>获取表的环境变量,关于环境变量请参见 <a href="/zh/administration/table-env">Table 环境变量</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: get_app_envs |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>该命令输出当前表的环境变量,使用前请首先使用<code class="language-plaintext highlighter-rouge">use [app_name]</code>选定特定表。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> use temp |
| OK |
| >>> get_app_envs |
| [app_envs] |
| rocksdb.usage_scenario : normal |
| </code></pre></div></div> |
| |
| <h3 id="set_app_envs">set_app_envs</h3> |
| |
| <p>设置表的环境变量,关于环境变量请参见 <a href="/zh/administration/table-env">Table 环境变量</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: set_app_envs <key> <value> [key value...] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>该命令设置当前表的环境变量,使用前请首先使用<code class="language-plaintext highlighter-rouge">use [app_name]</code>选定特定表。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> use temp |
| OK |
| >>> set_app_envs rocksdb.usage_scenario bulk_load |
| set app envs succeed |
| </code></pre></div></div> |
| |
| <h3 id="del_app_envs">del_app_envs</h3> |
| |
| <p>删除表的环境变量,关于环境变量请参见 <a href="/zh/administration/table-env">Table 环境变量</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: del_app_envs <key> [key...] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>该命令删除当前表的环境变量,使用前请首先使用<code class="language-plaintext highlighter-rouge">use [app_name]</code>选定特定表。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> use temp |
| OK |
| >>> set_app_envs rocksdb.usage_scenario bulk_load |
| set app envs succeed |
| >>> del_app_envs rocksdb.usage_scenario |
| del app envs succeed |
| ============================= |
| deleted keys: |
| rocksdb.usage_scenario |
| ============================= |
| </code></pre></div></div> |
| |
| <h3 id="clear_app_envs">clear_app_envs</h3> |
| |
| <p>清理表的环境变量,关于环境变量请参见 <a href="/zh/administration/table-env">Table 环境变量</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: clear_app_envs [-a|--all] [-p|--prefix str] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>该命令删除当前表的环境变量,使用前请首先使用<code class="language-plaintext highlighter-rouge">use [app_name]</code>选定特定表。</li> |
| <li><code class="language-plaintext highlighter-rouge">-a</code>选项:如果指定,则清理所有的环境变量。</li> |
| <li><code class="language-plaintext highlighter-rouge">-p</code>选项:如果指定,则可以清理以特定字符串为前缀的环境变量。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> use temp |
| OK |
| >>> set_app_envs manual_compact.once.trigger_time 1713700000 |
| set app envs succeed |
| >>> set_app_envs manual_compact.once.target_level -1 |
| set app envs succeed |
| >>> set_app_envs manual_compact.once.bottommost_level_compaction force |
| set app envs succeed |
| >>> set_app_envs rocksdb.usage_scenario bulk_load |
| set app envs succeed |
| >>> clear_app_envs -p manual_compact |
| clear app envs succeed |
| ============================= |
| deleted keys: |
| manual_compact.once.bottommost_level_compaction |
| manual_compact.once.target_level |
| manual_compact.once.trigger_time |
| ============================= |
| >>> get_app_envs |
| [app_envs] |
| rocksdb.usage_scenario : bulk_load |
| </code></pre></div></div> |
| |
| <h3 id="add_dup">add_dup</h3> |
| |
| <p>添加 duplication 的集群,参见<a href="/zh/administration/duplication">跨机房同步</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: add_dup <app_name> <remote_cluster_name> [-f|--freezed] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>对指定表加上指定的 duplication 的集群</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> add_dup temp my_cluster |
| </code></pre></div></div> |
| |
| <h3 id="query_dup">query_dup</h3> |
| |
| <p>查询表的跨机房同步的集群, 参见<a href="/zh/administration/duplication">跨机房同步</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: query_dup <app_name> [-d|--detail] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-d</code>选项: 如果指定,则打印出详细信息</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> query_dup temp -d |
| </code></pre></div></div> |
| |
| <h3 id="remove_dup">remove_dup</h3> |
| |
| <p>移除 duplication 的集群, 参见<a href="/zh/administration/duplication">跨机房同步</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: remove_dup <app_name> <dup_id> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> remove_dup temp my_cluster:8000 |
| </code></pre></div></div> |
| |
| <h3 id="start_dup">start_dup</h3> |
| |
| <p>开始跨机房同步, 启动 duplication 的备份功能, 参见<a href="/zh/administration/duplication">跨机房同步</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: start_dup <app_name> <dup_id> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> start_dup temp my_cluster |
| </code></pre></div></div> |
| |
| <h3 id="pause_dup">pause_dup</h3> |
| |
| <p>暂停跨机房同步, 暂停 duplication 的备份功能, 参见<a href="/zh/administration/duplication">跨机房同步</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: pause_dup <app_name> <dup_id> |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>选择好想要暂停 duplication 的 app name 后,需要指定 dup_id。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> pause_dup temp my_cluster |
| </code></pre></div></div> |
| |
| <h3 id="set_dup_fail_mode">set_dup_fail_mode</h3> |
| |
| <p>设置 duplication 失败后的处理的方式, 对指定的表的指定同步集群设置, 可设置为 fail 和 skip。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: set_dup_fail_mode <app_name> <dup_id> <slow|skip> |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>slow 模式为默认模式。该模式会对任何故障都会无限重试。</li> |
| <li>skip 模式遇到故障时,重试多次仍不成功后,直接跳过对当前这批数据的热备份,从而复制下一批数据。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> set_dup_fail_mode temp my_cluster slow |
| </code></pre></div></div> |
| |
| <h3 id="get_replica_count">get_replica_count</h3> |
| |
| <p>获取表的副本数参数值。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: get_replica_count <app_name> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> get_replica_count temp |
| >>> the replica count of app(temp) is 3 |
| </code></pre></div></div> |
| |
| <h3 id="set_replica_count">set_replica_count</h3> |
| |
| <p>设置表的副本数参数。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: set_replica_count <app_name> <replica_count> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> set_replica_count temp 4 |
| >>> PLEASE be CAUTIOUS with this operation ! Are you sure to set the replica count of app(temp) to 4 ? [Y/n]: Y |
| </code></pre></div></div> |
| |
| <h2 id="数据操作">数据操作</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>子命令</th> |
| <th>功能</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>set</td> |
| <td>设置单条数据</td> |
| </tr> |
| <tr> |
| <td>multi_set</td> |
| <td>设置同一 HashKey 下的多条数据</td> |
| </tr> |
| <tr> |
| <td>get</td> |
| <td>获取单条数据</td> |
| </tr> |
| <tr> |
| <td>multi_get</td> |
| <td>通过指定多个 SortKey,获取同一 HashKey 下的多条数据</td> |
| </tr> |
| <tr> |
| <td>multi_get_range</td> |
| <td>通过指定 SortKey 的查询范围和过滤条件,获取同一 HashKey 下的多条数据</td> |
| </tr> |
| <tr> |
| <td>multi_get_sortkeys</td> |
| <td>获取同一 HashKey 下的所有 SortKey</td> |
| </tr> |
| <tr> |
| <td>del</td> |
| <td>删除单条数据</td> |
| </tr> |
| <tr> |
| <td>multi_del</td> |
| <td>通过指定多个 SortKey,删除同一 HashKey 下的多条数据</td> |
| </tr> |
| <tr> |
| <td>multi_del_range</td> |
| <td>通过指定 SortKey 的查询范围和过滤条件,删除同一 HashKey 下的多条数据</td> |
| </tr> |
| <tr> |
| <td>incr</td> |
| <td><a href="/zh/api/single-atomic#原子增减">原子增减操作</a></td> |
| </tr> |
| <tr> |
| <td>check_and_set</td> |
| <td><a href="/zh/api/single-atomic#cas操作">原子 CAS 操作</a></td> |
| </tr> |
| <tr> |
| <td>check_and_mutate</td> |
| <td><a href="/zh/clients/java-client#checkandmutate">原子 CAS 扩展版本</a></td> |
| </tr> |
| <tr> |
| <td>exist</td> |
| <td>查询某条数据是否存在</td> |
| </tr> |
| <tr> |
| <td>count</td> |
| <td>获取同一 HashKey 下的 SortKey 的个数</td> |
| </tr> |
| <tr> |
| <td>ttl</td> |
| <td>查询某条数据的 TTL(Time To Live) 时间,返回剩余的 live 时间,单位为秒;返回 Infinite 表示没有 TTL 限制</td> |
| </tr> |
| <tr> |
| <td>hash</td> |
| <td>计算键值的哈希值</td> |
| </tr> |
| <tr> |
| <td>hash_scan</td> |
| <td>逐条扫描同一 HashKey 下的数据,可指定 SortKey 的查询范围和过滤条件,结果按照 SortKey 排序</td> |
| </tr> |
| <tr> |
| <td>full_scan</td> |
| <td>对表进行全扫描,可指定 HashKey、SortKey 和 Value 的过滤条件,同一 HashKey 的结果按照 SortKey 排序,HashKey 之间无顺序保证</td> |
| </tr> |
| <tr> |
| <td>copy_data</td> |
| <td>将一个表的数据逐条插入到另外一个表,源表通过<code class="language-plaintext highlighter-rouge">use</code>命令指定,目标表通过<code class="language-plaintext highlighter-rouge">-c</code>和<code class="language-plaintext highlighter-rouge">-a</code>命令执行,目标表可以在另外一个集群,详细用法参见 <a href="/zh/administration/table-migration#copy_data迁移">Table迁移#copy_data迁移</a>,可指定 HashKey、SortKey 和 Value 的过滤条件</td> |
| </tr> |
| <tr> |
| <td>clear_data</td> |
| <td>将一个表的数据逐条删除,实际上就是先扫描数据,然后对每一条数据执行删除操作,可指定 HashKey、SortKey 和 Value 的过滤条件</td> |
| </tr> |
| <tr> |
| <td>count_data</td> |
| <td>统计一个表的数据条数,可加<code class="language-plaintext highlighter-rouge">-z</code>选项统计数据大小,可指定 HashKey、SortKey 和 Value 的过滤条件</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3 id="set">set</h3> |
| |
| <p>设置单条数据。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: set <hash_key> <sort_key> <value> [ttl_in_seconds] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>写入数据的格式必须为<code class="language-plaintext highlighter-rouge">hash_key</code>+<code class="language-plaintext highlighter-rouge">sort_key</code>+<code class="language-plaintext highlighter-rouge">value</code>。</li> |
| <li><code class="language-plaintext highlighter-rouge">ttl_in_seconds</code>参数:如果指定,则设置该条数据的存活时间,单位为秒。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> set pegasus cloud 000 |
| </code></pre></div></div> |
| |
| <h3 id="multi_set">multi_set</h3> |
| |
| <p>设置同一 hash_key 下的多条数据。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: multi_set <hash_key> <sort_key> <value> [sort_key value...] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>sort_key 是 pegasus 定义的一种数据模型,详细信息参见<a href="/zh/overview/data-model">数据模型</a>。</li> |
| <li>不同的 sort_key 名字必须不同,否则会输出 “ERROR: duplicate sort key <sort_key>”。</sort_key></li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> multi_set pegasus cloud0 000 cloud1 001 |
| </code></pre></div></div> |
| |
| <h3 id="get">get</h3> |
| |
| <p>获取单条数据。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: get <hash_key> <sort_key> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> get pegasus cloud |
| </code></pre></div></div> |
| |
| <h3 id="multi_get">multi_get</h3> |
| |
| <p>通过指定多个 SortKey,获取同一 HashKey 下的多条数据。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: multi_get <hash_key> [sort_key...] |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> multi_get pegasus cloud0 cloud1 |
| </code></pre></div></div> |
| |
| <h3 id="multi_get_range">multi_get_range</h3> |
| |
| <p>通过指定 SortKey 的查询范围和过滤条件,获取同一 HashKey 下的多条数据。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: multi_get_range <hash_key> <start_sort_key> <stop_sort_key> |
| [-a|--start_inclusive true|false] [-b|--stop_inclusive true|false] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix] |
| [-y|--sort_key_filter_pattern str] [-n|--max_count num] |
| [-i|--no_value] [-r|--reverse] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-a|--start_inclusive</code>参数:指定是否包含 StartSortKey,默认为 true。</li> |
| <li><code class="language-plaintext highlighter-rouge">-b|--stop_inclusive</code>参数:指定是否包含 StopSortKey,默认为 false。</li> |
| <li><code class="language-plaintext highlighter-rouge">-s|--sort_key_filter_type</code>参数:指定 SortKey 的过滤类型,包括无过滤、任意位置匹配、前缀匹配和后缀匹配,默认无过滤。</li> |
| <li><code class="language-plaintext highlighter-rouge">-y|--sort_key_filter_pattern</code>参数:指定 SortKey 的过滤模式串,空串相当于无过滤。</li> |
| <li><code class="language-plaintext highlighter-rouge">-n|--max_count</code>参数:指定最多读取的数据条数。</li> |
| <li><code class="language-plaintext highlighter-rouge">-i|--no_value</code>参数:指定是否只返回 HashKey 和 SortKey,不返回 Value 数据,默认为 false。</li> |
| <li><code class="language-plaintext highlighter-rouge">-r|--reverse</code>参数:是否逆向扫描数据库,从后往前查找数据,但是查找得到的结果在 list 中还是按照 SortKey 从小到大顺序存放。该参数从<a href="https://github.com/apache/incubator-pegasus/releases/tag/v1.8.0">v1.8.0版本</a>开始支持。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> multi_get_range pegasus cloud0 cloud5 -a true -b true -s prefix -y str -n 100 -i false -r false |
| </code></pre></div></div> |
| |
| <h3 id="multi_get_sortkeys">multi_get_sortkeys</h3> |
| |
| <p>获取同一 HashKey 下的所有 SortKey。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: multi_get_sortkeys <hash_key> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> multi_get_sortkeys pegasus |
| </code></pre></div></div> |
| |
| <h3 id="del">del</h3> |
| |
| <p>删除单条数据。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: del <hash_key> <sort_key> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> del pegasus cloud0 |
| </code></pre></div></div> |
| |
| <h3 id="multi_del">multi_del</h3> |
| |
| <p>通过指定多个 SortKey,删除同一 HashKey 下的多条数据。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: multi_del <hash_key> <sort_key> [sort_key...] |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> multi_del del pegasus cloud0 cloud1 |
| </code></pre></div></div> |
| |
| <h3 id="multi_del_range">multi_del_range</h3> |
| |
| <p>通过指定 SortKey 的查询范围和过滤条件,删除同一 HashKey 下的多条数据。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: multi_del_range <hash_key> <start_sort_key> <stop_sort_key> |
| [-a|--start_inclusive true|false] [-b|--stop_inclusive true|false] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix] |
| [-y|--sort_key_filter_pattern str] [-o|--output file_name] |
| [-i|--silent] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-i|--silent</code>参数:如果为<code class="language-plaintext highlighter-rouge">true</code>表示不打印删除时的日志。</li> |
| <li>其余参数,参见 <a href="#multi_get_range">multi_get_range</a> 说明。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> multi_del_range pegasus cloud0 cloud5 -a true -b true -s prefix -y str -n 100 -i false -r false |
| </code></pre></div></div> |
| |
| <h3 id="incr">incr</h3> |
| |
| <p>原子增减操作。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: incr <hash_key> <sort_key> [increment] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>操作数 increment 可以为正数也可以为负数,所以一个 incr 接口就可以实现原子增或者原子减,详情参照<a href="/zh/api/single-atomic#原子增减">原子增减</a>。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> incr cloud0 pegasus 1 |
| </code></pre></div></div> |
| |
| <h3 id="check_and_set">check_and_set</h3> |
| |
| <p>原子 CAS 操作。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: check_and_set <hash_key> [-c|--check_sort_key str] |
| [-t|--check_type not_exist|not_exist_or_empty|exist|not_empty] |
| [match_anywhere|match_prefix|match_postfix] |
| [bytes_less|bytes_less_or_equal|bytes_equal|bytes_greater_or_equal|bytes_greater] |
| [int_less|int_less_or_equal|int_equal|int_greater_or_equal|int_greater] |
| [-o|--check_operand str] [-s|--set_sort_key str] [-v|--set_value str] |
| [-l|--set_value_ttl_seconds num] [-r|--return_check_value] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>对比交换,最初是表示一条 CPU 的原子指令,其作用是让 CPU 先进行比较两个值是否相等,然后原子地更新某个位置的值。参照 <a href="/zh/api/single-atomic#cas操作">CAS 操作</a>。</li> |
| </ul> |
| |
| <p>示例: |
| 该命令检查 hashKey=cloud 的数据,若 sortKey=90 的 value 存在,则将 sortKey=91 的 value 设置为 92,且返回 sortKey=90 的 value 值。</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> check_and_set cloud -c 90 -t exist -s 91 -v 92 -r |
| </code></pre></div></div> |
| |
| <h3 id="check_and_mutate">check_and_mutate</h3> |
| |
| <p>原子 CAS 扩展版本,参见<a href="/zh/clients/java-client#checkandmutate">原子 CAS 扩展版本</a>。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: check_and_mutate <hash_key> [-c|--check_sort_key str] |
| [-t|--check_type not_exist|not_exist_or_empty|exist|not_empty] |
| [match_anywhere|match_prefix|match_postfix] |
| [bytes_less|bytes_less_or_equal|bytes_equal|bytes_greater_or_equal|bytes_greater] |
| [int_less|int_less_or_equal|int_equal|int_greater_or_equal|int_greater] |
| [-o|--check_operand str] [-r|--return_check_value] |
| </code></pre></div></div> |
| |
| <h3 id="exist">exist</h3> |
| |
| <p>查询某条数据是否存在。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: exist <hash_key> <sort_key> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> exist pegasus cloud0 |
| </code></pre></div></div> |
| |
| <h3 id="count">count</h3> |
| |
| <p>获取同一 HashKey 下的 SortKey 的个数。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: count <hash_key> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> count pegasus |
| </code></pre></div></div> |
| |
| <h3 id="ttl">ttl</h3> |
| |
| <p>查询某条数据的 TTL(Time To Live) 时间,返回剩余的 live 时间,单位为秒;返回 Infinite 表示没有 TTL 限制。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: ttl <hash_key> <sort_key> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> ttl pegasus cloud |
| </code></pre></div></div> |
| |
| <h3 id="hash">hash</h3> |
| |
| <p>查询某条数据的 hash 值,返回 hash 值的整数形式。</p> |
| |
| <p>如果在使用该命令前通过<code class="language-plaintext highlighter-rouge">use [app_name]</code>选定了特定表,还会根据 hash 值计算数据所对应的 partition_id,并返回当前服务该 partition 的 primary 和 secondary 节点信息。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: hash <hash_key> <sort_key> |
| </code></pre></div></div> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> hash pegasus cloud |
| </code></pre></div></div> |
| |
| <h3 id="hash_scan">hash_scan</h3> |
| |
| <p>逐条扫描同一 HashKey 下的数据,可指定 SortKey 的查询范围和过滤条件,结果按照 SortKey 排序。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: hash_scan <hash_key> <start_sort_key> <stop_sort_key> |
| [-a|--start_inclusive true|false] |
| [-b|--stop_inclusive true|false] |
| [-s|--sort_key_filter_type anywhere|prefix] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact |
| [-z|--value_filter_pattern str] |
| [-o|--output file_name] |
| [-n|--max_count num] |
| [-t|--timeout_ms num] |
| [-d|--detailed] |
| [-i|--no_value] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-a|--start_inclusive</code>参数:指定是否包含 StartSortKey,默认为 true。</li> |
| <li><code class="language-plaintext highlighter-rouge">-b|--stop_inclusive</code>参数:指定是否包含 StopSortKey,默认为 false。</li> |
| <li><code class="language-plaintext highlighter-rouge">-s|--sort_key_filter_type</code>参数:指定 SortKey 的过滤类型,包括无过滤、任意位置匹配、前缀匹配和后缀匹配,默认无过滤。</li> |
| <li><code class="language-plaintext highlighter-rouge">-y|--sort_key_filter_pattern</code>参数:指定 SortKey 的过滤模式串,空串相当于无过滤。</li> |
| <li><code class="language-plaintext highlighter-rouge">-v|--value_filter_type</code>参数:指定 value 过滤类型,包括任意位置匹配、前缀匹配、后缀匹配等。</li> |
| <li><code class="language-plaintext highlighter-rouge">-z|--value_filter_pattern str</code>参数:指定 value 的过滤模式串,空串相当于无过滤。</li> |
| <li><code class="language-plaintext highlighter-rouge">-o|--output file_name</code>参数:指定输出结果存入的文件名。</li> |
| <li><code class="language-plaintext highlighter-rouge">-n|--max_count num</code>参数:指定获取值的最大数量。</li> |
| <li><code class="language-plaintext highlighter-rouge">-t|--timeout_ms num</code>参数:指定获取数据的超时时间。</li> |
| <li><code class="language-plaintext highlighter-rouge">-d|--detailed</code>参数:输出数据的详细存储信息,包括 app_id、partition_index、server_ip。</li> |
| <li><code class="language-plaintext highlighter-rouge">-i|--no_value</code>参数:不获取 value 值,仅输出 hash_key 和 sort_key。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> hash_scan pegasus cloud00 cloud01 |
| </code></pre></div></div> |
| |
| <h3 id="full_scan">full_scan</h3> |
| |
| <p>对表进行全扫描,可指定 HashKey、SortKey 和 Value 的过滤条件,同一 HashKey 的结果按照 SortKey 排序,HashKey 之间无顺序保证。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: full_scan [-h|--hash_key_filter_type anywhere|prefix|postfix] |
| [-x|--hash_key_filter_pattern str] |
| [-s|--sort_key_filter_type anywhere|prefix] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact |
| [-z|--value_filter_pattern str] |
| [-o|--output file_name] |
| [-n|--max_count num] |
| [-t|--timeout_ms num] |
| [-d|--detailed] |
| [-i|--no_value] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>参数说明参见 <a href="#hashKey_scan">hash_scan</a>。</li> |
| </ul> |
| |
| <p>实例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> full_scan |
| </code></pre></div></div> |
| |
| <h3 id="copy_data">copy_data</h3> |
| |
| <p>将一个表的数据逐条插入到另外一个表。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: copy_data <-c|--target_cluster_name str> <-a|--target_app_name str> |
| [-p|--partition num] [-b|--max_batch_count num] [-t|--timeout_ms num] |
| [-h|--hash_key_filter_type anywhere|prefix|postfix] |
| [-x|--hash_key_filter_pattern str] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix|exact] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact] |
| [-z|--value_filter_pattern str] [-m|--max_multi_set_concurrency] |
| [-o|--scan_option_batch_size] [-n|--no_overwrite] [-i|--no_value] |
| [-g|--geo_data] [-u|--use_multi_set] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li>源表通过 use 命令指定,目标表通过 -c 和 -a 命令执行,目标表可以在另外一个集群,详细用法参见 <a href="/zh/administration/table-migration#copy_data迁移">Table 迁移#copy_data迁移</a>,可指定 HashKey、SortKey 和 Value 的过滤条件。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> copy_data -c ClusterB -a TableB -t 10000 |
| </code></pre></div></div> |
| |
| <h3 id="clear_data">clear_data</h3> |
| |
| <p>将一个表的数据逐条删除,实际上就是先扫描数据,然后对每一条数据执行删除操作,可指定 HashKey、SortKey 和 Value 的过滤条件。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: clear_data [-p|--partition num] |
| [-b|--max_batch_count num] |
| [-t|--timeout_ms num] |
| [-h|--hash_key_filter_type anywhere|prefix|postfix] |
| [-x|--hash_key_filter_pattern str] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix|exact] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact] |
| [-z|--value_filter_pattern str] |
| [-f|--force] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-p|--partition num</code>参数:指定删除的分片。</li> |
| <li><code class="language-plaintext highlighter-rouge">-b|--max_batch_count num</code>参数:指定一次性删除的最大数量。</li> |
| <li><code class="language-plaintext highlighter-rouge">-f|--force</code>参数:如果为 true,则表示删除,否则无法删除并打印再次确认信息 “ERROR: be careful to clear data!!! Please specify –force if you are determined to do”。</li> |
| <li>其余参数均为过滤条件,参见 <a href="#multi_get_range">multi_get_range</a>。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> clear_data |
| </code></pre></div></div> |
| |
| <h3 id="count_data">count_data</h3> |
| |
| <p>统计一个表的数据条数,可指定 HashKey、SortKey 和 Value 的过滤条件。</p> |
| |
| <p>用法:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>USAGE: count_data [-c|--precise][-p|--partition num] |
| [-b|--max_batch_count num][-t|--timeout_ms num] |
| [-h|--hash_key_filter_type anywhere|prefix|postfix] |
| [-x|--hash_key_filter_pattern str] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix|exact] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact] |
| [-z|--value_filter_pattern str][-d|--diff_hash_key] [-a|--stat_size] |
| [-n|--top_count num] [-r|--run_seconds num] |
| USAGE: count_data [-p|--partition num] [-b|--max_batch_count num] [-t|--timeout_ms num] |
| [-h|--hash_key_filter_type anywhere|prefix|postfix] |
| [-x|--hash_key_filter_pattern str] |
| [-s|--sort_key_filter_type anywhere|prefix|postfix|exact] |
| [-y|--sort_key_filter_pattern str] |
| [-v|--value_filter_type anywhere|prefix|postfix|exact] |
| [-z|--value_filter_pattern str] [-d|--diff_hash_key] [-a|--stat_size] |
| [-n|--top_count num] [-r|--run_seconds num] |
| </code></pre></div></div> |
| |
| <p>说明:</p> |
| |
| <ul> |
| <li><code class="language-plaintext highlighter-rouge">-c|--precise</code>参数:指定表的详细数据。</li> |
| <li><code class="language-plaintext highlighter-rouge">-p|--partition</code>参数:指定删除的分片。</li> |
| <li><code class="language-plaintext highlighter-rouge">-b|--max_batch_count</code>参数:指定一次性删除的最大数量。</li> |
| <li><code class="language-plaintext highlighter-rouge">-d|--diff_hash_key</code>参数:统计 hashKey 数量。</li> |
| <li><code class="language-plaintext highlighter-rouge">-n|--top_count</code>参数:仅展示指定数量的数据。</li> |
| <li><code class="language-plaintext highlighter-rouge">-a|--stat_size</code>参数:统计当前 value 的大小,单位字节。</li> |
| <li><code class="language-plaintext highlighter-rouge">-r|--run_seconds num</code>参数:仅运行指定时间进行统计。</li> |
| <li>其余参数均为过滤条件,参见 <a href="#multi_get_range">multi_get_range</a>。</li> |
| </ul> |
| |
| <p>示例:</p> |
| |
| <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> count_data |
| </code></pre></div></div> |
| |
| <h2 id="负载均衡">负载均衡</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>子命令</th> |
| <th>功能</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>set_meta_level</td> |
| <td>设置集群的负载均衡级别,包括 stopped、blind、freezed、steady、lively。集群默认为 steady,表示不进行自动负载均衡;设置为 lively 可以开启自动负载均衡</td> |
| </tr> |
| <tr> |
| <td>get_meta_level</td> |
| <td>获取集群的负载均衡级别</td> |
| </tr> |
| <tr> |
| <td>propose</td> |
| <td>发送 partition 操作,包括 ASSIGN_PRIMARY、ADD_SECONDARY、DOWNGRADE_TO_INACTIVE 等</td> |
| </tr> |
| <tr> |
| <td>balance</td> |
| <td>发送 balance 操作,包括 move_pri、copy_pri、copy_sec 等</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <p>关于负载均衡的详细文档,请参考<a href="/zh/administration/rebalance">负载均衡</a>。</p> |
| |
| <h2 id="数据恢复">数据恢复</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>子命令</th> |
| <th>功能</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>recover</td> |
| <td>启动数据恢复流程,通过向 ReplicaServer 收集和学习,重新构建 Zookeeper 上的元数据信息,参见<a href="/zh/administration/meta-recovery">元数据恢复</a></td> |
| </tr> |
| <tr> |
| <td>ddd_diagnose</td> |
| <td>DDD 自动诊断工具,用于恢复所有备份全部不可用的 partition,参见 <a href="/zh/administration/replica-recovery">Replica数据恢复</a></td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h2 id="冷备份管理">冷备份管理</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>子命令</th> |
| <th>功能</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>add_backup_policy</td> |
| <td>增加冷备份策略</td> |
| </tr> |
| <tr> |
| <td>ls_backup_policy</td> |
| <td>查询冷备份策略</td> |
| </tr> |
| <tr> |
| <td>modify_backup_policy</td> |
| <td>修改冷备份策略</td> |
| </tr> |
| <tr> |
| <td>disable_backup_policy</td> |
| <td>禁用冷备份策略</td> |
| </tr> |
| <tr> |
| <td>enable_backup_policy</td> |
| <td>启用冷备份策略</td> |
| </tr> |
| <tr> |
| <td>restore_app</td> |
| <td>从冷备份中恢复表</td> |
| </tr> |
| <tr> |
| <td>query_backup_policy</td> |
| <td>查询备份策略和上次备份信息</td> |
| </tr> |
| <tr> |
| <td>query_restore_status</td> |
| <td>查询冷备份恢复进度</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <p>关于冷备份的详细文档,请参考<a href="/zh/administration/cold-backup">冷备份</a>。</p> |
| |
| <h2 id="调试工具">调试工具</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>子命令</th> |
| <th>功能</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>sst_dump</td> |
| <td>使用 RocksDB 的<code class="language-plaintext highlighter-rouge">sst_dump</code>工具,将 rocksdb 的二进制 sstable 数据转换为可读的文本数据</td> |
| </tr> |
| <tr> |
| <td>mlog_dump</td> |
| <td>将 Pegasus 的二进制 commit log 数据转换为可读的文本数据</td> |
| </tr> |
| <tr> |
| <td>local_get</td> |
| <td>从本地数据库获取值(原来的调试工具)</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| </div> |
| </section> |
| <footer class="footer"> |
| <div class="container"> |
| <div class="content is-small has-text-centered"> |
| <div style="margin-bottom: 20px;"> |
| <a href="http://incubator.apache.org"> |
| <img src="/assets/images/egg-logo.png" |
| width="15%" |
| alt="Apache Incubator"/> |
| </a> |
| </div> |
| Copyright © 2023 <a href="http://www.apache.org">The Apache Software Foundation</a>. |
| Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version |
| 2.0</a>. |
| <br><br> |
| |
| Apache Pegasus is an effort undergoing incubation at The Apache Software Foundation (ASF), |
| sponsored by the Apache Incubator. Incubation is required of all newly accepted projects |
| until a further review indicates that the infrastructure, communications, and decision making process |
| have stabilized in a manner consistent with other successful ASF projects. While incubation status is |
| not necessarily a reflection of the completeness or stability of the code, it does indicate that the |
| project has yet to be fully endorsed by the ASF. |
| |
| <br><br> |
| Apache Pegasus, Pegasus, Apache, the Apache feather logo, and the Apache Pegasus project logo are either |
| registered trademarks or trademarks of The Apache Software Foundation in the United States and other |
| countries. |
| </div> |
| </div> |
| </footer> |
| </div> |
| |
| <!-- right panel --> |
| <div class="dashboard-panel is-small is-scrollable is-hidden-mobile"> |
| <p class="menu-label"> |
| <span class="icon"> |
| <i class="fa fa-bars" aria-hidden="true"></i> |
| </span> |
| 本页导航 |
| </p> |
| <ul class="menu-list"> |
| <li><a href="#工具获取">工具获取</a></li> |
| <li><a href="#工具使用">工具使用</a> |
| <ul> |
| <li><a href="#基本命令">基本命令</a> |
| <ul> |
| <li><a href="#help">help</a></li> |
| <li><a href="#version">version</a></li> |
| <li><a href="#exit">exit</a></li> |
| </ul> |
| </li> |
| <li><a href="#全局属性">全局属性</a> |
| <ul> |
| <li><a href="#cc">cc</a></li> |
| <li><a href="#use">use</a></li> |
| <li><a href="#escape_all">escape_all</a></li> |
| <li><a href="#timeout">timeout</a></li> |
| </ul> |
| </li> |
| <li><a href="#节点管理">节点管理</a> |
| <ul> |
| <li><a href="#cluster_info">cluster_info</a></li> |
| <li><a href="#nodes">nodes</a></li> |
| <li><a href="#server_info">server_info</a></li> |
| <li><a href="#server_stat">server_stat</a></li> |
| <li><a href="#remote_command">remote_command</a></li> |
| <li><a href="#flush_log">flush_log</a></li> |
| <li><a href="#disk_replica">disk_replica</a></li> |
| <li><a href="#disk_capacity">disk_capacity</a></li> |
| </ul> |
| </li> |
| <li><a href="#表管理">表管理</a> |
| <ul> |
| <li><a href="#ls">ls</a></li> |
| <li><a href="#app">app</a></li> |
| <li><a href="#app_stat">app_stat</a></li> |
| <li><a href="#app_disk">app_disk</a></li> |
| <li><a href="#create">create</a></li> |
| <li><a href="#drop">drop</a></li> |
| <li><a href="#recall">recall</a></li> |
| <li><a href="#get_app_envs">get_app_envs</a></li> |
| <li><a href="#set_app_envs">set_app_envs</a></li> |
| <li><a href="#del_app_envs">del_app_envs</a></li> |
| <li><a href="#clear_app_envs">clear_app_envs</a></li> |
| <li><a href="#add_dup">add_dup</a></li> |
| <li><a href="#query_dup">query_dup</a></li> |
| <li><a href="#remove_dup">remove_dup</a></li> |
| <li><a href="#start_dup">start_dup</a></li> |
| <li><a href="#pause_dup">pause_dup</a></li> |
| <li><a href="#set_dup_fail_mode">set_dup_fail_mode</a></li> |
| <li><a href="#get_replica_count">get_replica_count</a></li> |
| <li><a href="#set_replica_count">set_replica_count</a></li> |
| </ul> |
| </li> |
| <li><a href="#数据操作">数据操作</a> |
| <ul> |
| <li><a href="#set">set</a></li> |
| <li><a href="#multi_set">multi_set</a></li> |
| <li><a href="#get">get</a></li> |
| <li><a href="#multi_get">multi_get</a></li> |
| <li><a href="#multi_get_range">multi_get_range</a></li> |
| <li><a href="#multi_get_sortkeys">multi_get_sortkeys</a></li> |
| <li><a href="#del">del</a></li> |
| <li><a href="#multi_del">multi_del</a></li> |
| <li><a href="#multi_del_range">multi_del_range</a></li> |
| <li><a href="#incr">incr</a></li> |
| <li><a href="#check_and_set">check_and_set</a></li> |
| <li><a href="#check_and_mutate">check_and_mutate</a></li> |
| <li><a href="#exist">exist</a></li> |
| <li><a href="#count">count</a></li> |
| <li><a href="#ttl">ttl</a></li> |
| <li><a href="#hash">hash</a></li> |
| <li><a href="#hash_scan">hash_scan</a></li> |
| <li><a href="#full_scan">full_scan</a></li> |
| <li><a href="#copy_data">copy_data</a></li> |
| <li><a href="#clear_data">clear_data</a></li> |
| <li><a href="#count_data">count_data</a></li> |
| </ul> |
| </li> |
| <li><a href="#负载均衡">负载均衡</a></li> |
| <li><a href="#数据恢复">数据恢复</a></li> |
| <li><a href="#冷备份管理">冷备份管理</a></li> |
| <li><a href="#调试工具">调试工具</a></li> |
| </ul> |
| </li> |
| </ul> |
| |
| </div> |
| </div> |
| |
| <script src="/assets/js/app.js" type="text/javascript"></script> |
| <script> |
| docsearch({ |
| container: '#docsearch', |
| appId: 'QRN30RBW0S', |
| indexName: 'pegasus-apache', |
| apiKey: 'd3a3252fa344359766707a106c4ed88f', |
| debug: true |
| }); |
| </script> |
| |
| </body> |
| |
| </html> |