搜索

Data Grid 命令行界面

download PDF
Red Hat Data Grid 8.1

使用 CLI 访问数据并管理 Data Grid

Red Hat Customer Content Services

摘要

通过命令行界面(CLI)连接到 Data Grid 服务器,以访问数据并执行管理操作。

Red Hat Data Grid

Data Grid 是一个高性能分布式内存数据存储。

无架构数据结构
将不同对象存储为键值对的灵活性。
基于网格的数据存储
旨在在集群中分发和复制数据。
弹性扩展
动态调整节点数量,以便在不中断服务的情况下满足需求。
数据互操作性
从不同端点在网格中存储、检索和查询数据。

Data Grid 文档

红帽客户门户网站中提供了 Data Grid 的文档。

Data Grid 下载

访问红帽客户门户上的 Data Grid 软件下载

注意

您必须有一个红帽帐户才能访问和下载数据中心软件。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息

第 1 章 Data Grid CLI 入门

命令行界面(CLI)可让您远程连接到 Data Grid 服务器,以访问数据并执行管理功能。

1.1. 创建和修改用户

Data Grid Server 要求用户对默认属性域进行身份验证。在访问 Data Grid Server 之前,您必须至少创建一个用户和密码来添加凭证。您还可以添加和修改用户所属的安全授权组。

流程

  1. $RHDG_HOME 中打开一个终端。
  2. 使用 user 命令创建和修改 Data Grid 用户。
提示

使用 命令,运行 help user 的更多详细信息。

创建用户和密码

  • Linux

    $ bin/cli.sh user create myuser -p "qwer1234!"
  • Microsoft Windows

    $ bin\cli.bat user create myuser -p "qwer1234!"

创建具有组成员资格的用户

  • Linux

    $ bin/cli.sh user create myuser -p "qwer1234!" -g supervisor,reader,writer
  • Microsoft Windows

    $ bin\cli.bat user create myuser -p "qwer1234!" -g supervisor,reader,writer

1.2. 连接到 Data Grid 服务器

建立到数据网格的 CLI 连接。

先决条件

添加用户凭据,并至少有一个运行 Data Grid 服务器实例。

流程

  1. $RHDG_HOME 中打开一个终端。
  2. 启动 CLI。

    • linux:

      $ bin/cli.sh
    • Microsoft Windows:

      $ bin\cli.bat
  3. 运行 connect 命令,并在提示时输入您的用户名和密码。

    • 在默认端口 11222 上的数据网格服务器:

      [disconnected]> connect
    • 带有端口偏移 100 的数据网格服务器:

      [disconnected]> connect 127.0.0.1:11322

1.4. 关闭 Data Grid 服务器

停止单独运行的服务器,或者安全地关闭集群。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用以下方法之一关闭 Data Grid 服务器:

    • 使用 shutdown cluster 命令停止集群中的所有节点,例如:

      [//containers/default]> shutdown cluster

      此命令将集群状态保存到集群中每个节点的 data 文件夹。如果使用缓存存储,shutdown cluster 命令也会保留缓存中的所有数据。

    • 使用 shutdown server 命令和服务器主机名停止单个服务器实例,例如:

      [//containers/default]> shutdown server <my_server01>
重要

shutdown server 命令不会等待重新平衡操作完成,如果同时指定了多个主机名,这可能会导致数据丢失。

提示

有关使用 命令的更多详细信息,运行 help shutdown

验证

在关闭服务器时,Data Grid 会记录以下信息:

ISPN080002: Data Grid Server stopping
ISPN000080: Disconnecting JGroups channel cluster
ISPN000390: Persisted state, version=<$version> timestamp=YYYY-MM-DDTHH:MM:SS
ISPN080003: Data Grid Server stopped

1.4.1. 重启 Data Grid 集群

当您将 Data Grid 集群在关闭后重新上线时,您应该在添加或删除节点或修改集群状态前等待集群可用。

如果您使用 shutdown server 命令关闭集群节点,则必须以相反的顺序重启每台服务器。
例如,如果您关闭 server1,然后关闭 server2,您应该首先启动 server2,然后启动 server1

如果您使用 shutdown cluster 命令关闭集群,集群只有在所有节点重新加入后才能完全正常工作。
您可以以任何顺序重启节点,但集群处于 DEGRADED 状态,直到关闭前加入的所有节点都处于运行状态。

第 2 章 使用 Data Grid CLI 执行缓存操作

命令行界面(CLI)可让您远程连接到 Data Grid 服务器,以访问数据并执行管理功能。

2.1. 使用 Data Grid Command Line Interface (CLI)创建缓存

使用 Data Grid CLI 以 XML 或 JSON 格式从模板或配置文件添加缓存。

先决条件

创建用户,并至少启动一个 Data Grid 服务器实例。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用 create cache 命令添加缓存定义。

    • 使用 --file 选项,从 XML 或 JSON 文件添加缓存定义。

      [//containers/default]> create cache --file=configuration.xml mycache
    • 使用 --template 选项从模板创建缓存定义。

      [//containers/default]> create cache --template=org.infinispan.DIST_SYNC mycache
      提示

      --template= 参数后按 tab 键以列出可用的缓存模板。

  3. 使用 ls 命令验证缓存是否存在。

    [//containers/default]> ls caches
    mycache
  4. 使用 describe 命令检索缓存配置。

    [//containers/default]> describe caches/mycache

2.1.1. XML 配置

XML 格式的数据网格配置必须符合架构并包括:

  • <Infinispan& gt; root 元素。
  • <cache-container&gt; 定义。

XML 配置示例

<infinispan>
    <cache-container>
        <distributed-cache name="myCache" mode="SYNC">
          <encoding media-type="application/x-protostream"/>
          <memory max-count="1000000" when-full="REMOVE"/>
        </distributed-cache>
    </cache-container>
</infinispan>

2.1.2. JSON 配置

以 JSON 格式的数据网格配置:

  • 仅要求缓存定义。
  • 必须遵循 XML 配置的结构。

    • XML 元素成为 JSON 对象。
    • XML 属性成为 JSON 字段。

JSON 配置示例

{
  "distributed-cache": {
    "name": "myCache",
    "mode": "SYNC",
    "encoding": {
      "media-type": "application/x-protostream"
      },
    "memory": {
      "max-count": 1000000,
      "when-full": "REMOVE"
    }
  }
}

2.2. 添加缓存条目

在 data 容器中创建 key:value 对条目。

先决条件

创建可存储数据的数据网格缓存。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 在缓存中添加条目,如下所示:

    • 从缓存的上下文使用 put 命令:

      [//containers/default/caches/mycache]> put hello world
    • put 命令中使用 --cache=

      [//containers/default]> put --cache=mycache hello world
  3. 使用 get 命令验证条目。

    [//containers/default/caches/mycache]> get hello
    world

2.3. 清除缓存和删除条目

使用 Data Grid CLI 从缓存中删除数据。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 执行以下操作之一:

    • 使用 clearcache 命令删除所有条目。

      [//containers/default]> clearcache mycache
    • 使用 remove 命令删除特定条目。

      [//containers/default]> remove --cache=mycache hello

2.4. 删除缓存

丢弃缓存以移除它们并删除它们所包含的所有数据。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用 drop 命令删除缓存。

    [//containers/default]> drop cache mycache

第 3 章 执行批处理操作

以交互方式或使用批处理文件,在组中处理操作。

先决条件

  • 正在运行的 Data Grid 集群。

3.1. 使用文件执行批处理操作

创建包含一组操作的文件,并将它们传递给 Data Grid CLI。

流程

  1. 创建包含一组操作的文件。

    例如,创建一个名为 batch 的文件,该文件创建名为 mybatch 的缓存,向缓存添加两个条目,并断开与 CLI 的连接。

    $ cat > batch<<EOF
    create cache --template=org.infinispan.DIST_SYNC mybatch
    put --cache=mybatch hello world
    put --cache=mybatch hola mundo
    disconnect
    EOF
  2. 运行 CLI,并将文件指定为输入。

    $ bin/cli.sh -c localhost:11222 -f batch
  3. 创建新的 Data Grid CLI 连接,并验证 mybatch

    [//containers/default]> ls caches
    ___protobuf_metadata
    mybatch
    [//containers/default]> ls caches/mybatch
    hola
    hello
    [//containers/default]> disconnect
    [disconnected]>
注意

CLI 批处理文件支持系统属性扩展。使用 ${ property } 格式的字符串将被属性系统属性的值替换。

3.2. 执行批处理操作交互

使用标准输入流 stdin 以交互方式执行批处理操作。

流程

  1. 以交互模式启动 Data Grid CLI。

    $ bin/cli.sh -c localhost:11222 -f -
    注意

    如果不使用 -c 标志,则必须运行 connect 命令。

    $ bin/cli.sh -f -
    connect
  2. 运行批处理操作,例如:

    create cache --template=org.infinispan.DIST_SYNC mybatch
    put --cache=mybatch hello world
    put --cache=mybatch hola mundo
    disconnect
    quit
提示

使用 echo 在交互模式中添加命令。

以下示例演示了如何使用 echo describe 获取集群信息:

$ echo describe|bin/cli.sh -c localhost:11222 -f -
{
  "name" : "default",
  "version" : "10.0.0-SNAPSHOT",
  "coordinator" : false,
  "cache_configuration_names" : [ "org.infinispan.REPL_ASYNC", "___protobuf_metadata", "org.infinispan.DIST_SYNC", "qcache", "org.infinispan.LOCAL", "dist_cache_01", "org.infinispan.INVALIDATION_SYNC", "org.infinispan.REPL_SYNC", "org.infinispan.SCATTERED_SYNC", "mycache", "org.infinispan.INVALIDATION_ASYNC", "mybatch", "org.infinispan.DIST_ASYNC" ],
  "cluster_name" : "cluster",
  "physical_addresses" : "[192.168.1.7:7800]",
  "coordinator_address" : "thundercat-34689",
  "cache_manager_status" : "RUNNING",
  "created_cache_count" : "4",
  "running_cache_count" : "4",
  "node_address" : "thundercat-47082",
  "cluster_members" : [ "thundercat-34689", "thundercat-47082" ],
  "cluster_members_physical_addresses" : [ "10.36.118.25:7801", "192.168.1.7:7800" ],
  "cluster_size" : 2,
  "defined_caches" : [ {
    "name" : "___protobuf_metadata",
    "started" : true
  }, {
    "name" : "mybatch",
    "started" : true
  } ]
}

第 4 章 配置 Data Grid CLI

定义 Data Grid CLI 的配置属性。

4.1. 设置 Data Grid CLI Properties 和 Persistent Storage

配置 Data Grid CLI 启动操作,并为持久性存储自定义位置。

先决条件

至少创建一个 Data Grid 用户。

流程

  1. (可选)使用以下方法之一设置到 Data Grid CLI 存储目录的自定义路径:

    • 使用 cli.dir 系统属性:

      $ bin/cli.sh -Dcli.dir=/path/to/cli/storage ...
    • 使用 ISPN_CLI_DIR 环境变量:

      export ISPN_CLI_DIR=/path/to/cli/storage
      $ bin/cli.sh ...
  2. 使用 config set 命令为配置属性设置值。
  3. 使用 config get 命令验证配置属性。

    提示

    运行 help config 以查看可用的配置属性,并获取示例用法。

4.2. 创建命令别名

为 Data Grid CLI 命令创建别名,以定义自定义快捷方式。

流程

  1. 使用别名 < alias>=<command> 命令创建 别名。

    例如,将 q 设置为 quit 命令的别名:

    [//containers/default]> alias q=quit
  2. 运行 alias 命令检查定义的别名。

    [//containers/default]> alias
    alias q='quit'
  3. 使用 unalias 命令删除别名,例如:

    [//containers/default]> unalias q

4.3. 信任数据网格服务器连接

使用 SSL/TLS 证书保护到 Data Grid Server 的 Data Grid CLI 连接的安全。如果您创建一个密钥存储作为 Data Grid 服务器的 SSL 身份,CLI 可以验证服务器证书来验证身份。

先决条件

  • 为 Data Grid 服务器设置 SSL 身份。
  • 至少创建一个 Data Grid 用户。

流程

  1. 指定服务器密钥存储的位置,如下例所示:

    $ bin/cli.sh config set truststore /home/user/my-trust-store.jks
  2. 如果需要,定义密钥存储密码,如下所示:

    $ bin/cli.sh config set truststore-password secret
  3. 验证您的 CLI 配置。

    $ bin/cli.sh config get truststore
    truststore=/home/user/my-trust-store.jks
    
    $ bin/cli.sh config get truststore-password
    truststore-password=secret

4.4. Data Grid CLI Storage Directory

Data Grid CLI 将配置存储在以下默认目录中:

操作系统默认路径

Linux/Unix

$HOME/.config/red_hat_data_grid

Microsoft Windows

%APPDATA%/Sun/Java/red_hat_data_grid

Mac OS

$HOME/Library/Java/red_hat_data_grid

该目录包含以下文件:

cli.properties
存储 CLI 配置属性的值。
别名
存储命令别名。
history
存储 CLI 历史记录。

第 5 章 使用计数器

计数器提供记录对象计数的原子递增和减少操作。

先决条件

  • 启动 Data Grid CLI。
  • 连接到正在运行的 Data Grid 集群。

5.1. 创建计数器

使用 Data Grid CLI 创建强大和弱计数器。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用适当的参数运行 create counter 命令。

    1. 创建 my-weak-counter

      [//containers/default]> create counter --concurrency-level=1 --initial-value=5 --storage=PERSISTENT --type=weak my-weak-counter
    2. 创建 my-strong-counter

      [//containers/default]> create counter --initial-value=3 --storage=PERSISTENT --type=strong my-strong-counter
  3. 列出可用的计数器。

    [//containers/default]> ls counters
    my-strong-counter
    my-weak-counter
  4. 验证计数器配置。

    1. 描述 my-weak-counter

      [//containers/default]> describe counters/my-weak-counter
      
      {
          "weak-counter":{
              "initial-value":5,
              "storage":"PERSISTENT",
              "concurrency-level":1
          }
      }
    2. 描述 my-strong-counter

      [//containers/default]> describe counters/my-strong-counter
      
      {
          "strong-counter":{
              "initial-value":3,
              "storage":"PERSISTENT",
              "upper-bound":5
          }
      }

5.2. 将 Deltas 添加到计数器

使用任意值递增或减少计数器。

流程

  1. 选择一个计数器。

    [//containers/default]> counter my-weak-counter
  2. 列出当前计数。

    [//containers/default/counters/my-weak-counter]> ls
    5
  3. 将计数器值递增为 2

    [//containers/default/counters/my-weak-counter]> add --delta=2
  4. 将计数器值减少为 -4

    [//containers/default/counters/my-weak-counter]> add --delta=-4
注意

强大的计数器会在操作应用后返回值。使用 --quiet=true 来隐藏返回值。

例如,my-strong-counter]> 添加 --delta=3 --quiet=true

弱计数器返回空响应。

第 6 章 使用 Protobuf Metadata 查询缓存

Data Grid 支持使用 Protocol Buffers (Protobuf)在缓存中构建数据,以便您可以查询它。

先决条件

  • 启动 Data Grid CLI。
  • 连接到正在运行的 Data Grid 集群。

6.1. 配置介质类型

使用不同介质类型对缓存条目进行编码,以最适合您的要求的格式存储数据。

例如,以下步骤演示了如何配置 application/x-protostream 介质类型。

流程

  1. 创建一个 Data Grid 配置文件来添加名为 qcache 的分布式缓存并配置介质类型,例如:

    <infinispan>
       <cache-container>
          <distributed-cache name="qcache">
             <encoding>
                <key media-type="application/x-protostream"/>
                <value media-type="application/x-protostream"/>
             </encoding>
          </distributed-cache>
       </cache-container>
    </infinispan>
  2. 使用 --file= 选项,从 pcache.xml 创建 qcache

    [//containers/default]> create cache --file=pcache.xml pcache
  3. 验证 pcache

    [//containers/default]> ls caches
    pcache
    ___protobuf_metadata
    [//containers/default]> describe caches/pcache
    {
      "distributed-cache" : {
        "mode" : "SYNC",
        "encoding" : {
          "key" : {
            "media-type" : "application/x-protostream"
          },
          "value" : {
            "media-type" : "application/x-protostream"
          }
        },
        "transaction" : {
          "mode" : "NONE"
        }
      }
    }
  4. pcache 添加一个条目并检查编码。

    [//containers/default]> put --cache=pcache good morning
    [//containers/default]> cd caches/pcache
    [//containers/default/caches/pcache]> get good
    {
      "_type" : "string",
      "_value" : "morning"
    }

6.2. 注册 Protobuf Schemas

protobuf 模式包含 .proto 定义文件中的数据结构,称为信息。

流程

  1. 使用以下信息,创建一个名为 person.proto 的 schema 文件:

    package org.infinispan.rest.search.entity;
    
    message Address {
        required string street = 1;
        required string postCode = 2;
    }
    
    message PhoneNumber {
        required string number = 1;
    }
    
    message Person {
        optional int32 id = 1;
        required string name = 2;
        required string surname = 3;
        optional Address address = 4;
        repeated PhoneNumber phoneNumbers = 5;
        optional uint32 age = 6;
        enum Gender {
            MALE = 0;
            FEMALE = 1;
        }
    
        optional Gender gender = 7;
    }
  2. 注册 person.proto

    [//containers/default]> schema --upload=person.proto person.proto
  3. 验证 person.proto

    [//containers/default]> cd caches/___protobuf_metadata
    [//containers/default/caches/___protobuf_metadata]> ls
    person.proto
    [//containers/default/caches/___protobuf_metadata]> get person.proto

6.3. 使用 Protobuf Schemas 查询缓存

Data Grid 会自动将 JSON 转换为 Protobuf,以便您可以使用 JSON 格式读取和写入缓存条目,并使用 Protobuf 模式查询它们。

例如,请考虑以下 JSON 文档:

lukecage.json

{
  "_type":"org.infinispan.rest.search.entity.Person",
  "id":2,
  "name":"Luke",
  "surname":"Cage",
  "gender":"MALE",
  "address":{"street":"38th St","postCode":"NY 11221"},
  "phoneNumbers":[{"number":4444},{"number":5555}]
}

jessicajones.json

{
  "_type":"org.infinispan.rest.search.entity.Person",
  "id":1,
  "name":"Jessica",
  "surname":"Jones",
  "gender":"FEMALE",
  "address":{"street":"46th St","postCode":"NY 10036"},
  "phoneNumbers":[{"number":1111},{"number":2222},{"number":3333}]
}

matthewmurdock.json

{
  "_type":"org.infinispan.rest.search.entity.Person",
  "id":3,
  "name":"Matthew",
  "surname":"Murdock",
  "gender":"MALE",
  "address":{"street":"57th St","postCode":"NY 10019"},
  "phoneNumbers":[]
}

前面的每个 JSON 文档都包含:

  • 标识 JSON 文档对应的 Protobuf 消息的 _type 字段。
  • person.proto 模式中对应于 datatypes 的几个字段。

流程

  1. 进入 pcache 缓存。

    [//containers/default/caches]> cd pcache
  2. 将每个 JSON 文档作为条目添加到缓存中,例如:

    [//containers/default/caches/pcache]> put --encoding=application/json --file=jessicajones.json jessicajones
    [//containers/default/caches/pcache]> put --encoding=application/json --file=matthewmurdock.json matthewmurdock
    [//containers/default/caches/pcache]> put --encoding=application/json --file=lukecage.json lukecage
  3. 验证条目是否存在。

    [//containers/default/caches/pcache]> ls
    lukecage
    matthewmurdock
    jessicajones
  4. 查询缓存,从 Protobuf Person 实体(其中 gender datatype 为 MALE )返回条目。

    [//containers/default/caches/pcache]> query "from org.infinispan.rest.search.entity.Person p where p.gender = 'MALE'"
    {
      "total_results" : 2,
      "hits" : [ {
        "hit" : {
          "_type" : "org.infinispan.rest.search.entity.Person",
          "id" : 2,
          "name" : "Luke",
          "surname" : "Cage",
          "gender" : "MALE",
          "address" : {
            "street" : "38th St",
            "postCode" : "NY 11221"
          },
          "phoneNumbers" : [ {
            "number" : "4444"
          }, {
            "number" : "5555"
          } ]
        }
      }, {
        "hit" : {
          "_type" : "org.infinispan.rest.search.entity.Person",
          "id" : 3,
          "name" : "Matthew",
          "surname" : "Murdock",
          "gender" : "MALE",
          "address" : {
            "street" : "57th St",
            "postCode" : "NY 10019"
          }
        }
      } ]
    }

第 7 章 执行跨站点复制操作

在不同位置中运行的数据网格集群可以发现并相互通信以备份数据。

先决条件

  • 启动 Data Grid CLI。
  • 连接到正在运行的 Data Grid 集群。

7.1. 使备份位置离线和在线

手动使备份位置离线,并使它们重新上线。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用 site status 命令检查备份位置是否在线或离线:

    //containers/default]> site status --cache=cacheName --site=NYC
    注意

    --site 是一个可选参数。如果没有设置,CLI 会返回所有备份位置。

  3. 管理备份位置,如下所示:

    • 使用 bring-online 命令在线显示备份位置:

      //containers/default]> site bring-online --cache=customers --site=NYC
    • 使用 take-offline 命令使备份位置离线:

      //containers/default]> site take-offline --cache=customers --site=NYC

如需更多信息和示例,请运行 help site 命令。

7.2. 将状态推送到备份位置

将缓存状态传输到远程备份位置。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用 site 命令推送状态传输,如下例所示:

    //containers/default]> site push-site-state --cache=cacheName --site=NYC

如需更多信息和示例,请运行 help site 命令。

第 8 章 命令参考

查看 Data Grid CLI 命令的手册页。

提示

使用 help 命令直接从 CLI 会话访问手册页。

例如,要查看 get 命令的手册页,请执行以下操作:

$ help get

8.1. ADD(1)

8.1.1. NAME

add - 增加带有任意值的 decrements 计数器。

8.1.2. SYNOPSIS

添加 ['OPTIONS'] ['COUNTER_NAME']

8.1.3. 选项

--delta='nnn'
将 delta 设置为递增或减少计数器值。默认为 1
-q, --quiet='[true|false]'
隐藏了强计数器的返回值。默认值为 false

8.1.4. 示例

添加 --delta=10 cnt_a
Increments 值 cnt_a 10

添加 --delta=-5 cnt_a
Decrements 值 cnt_a 5

8.1.5. 另请参阅

cas (1), reset (1)

8.2. ALIAS(1)

8.2.1. NAME

alias - 创建或显示别名。

8.2.2. SYNOPSIS

alias ['ALIAS-NAME'='COMMAND']

8.2.3. 示例

别名 q=quit
创建 q 作为 quit 命令的别名。

别名
列出所有定义的别名。

8.2.4. 另请参阅

config (1), unalias (1)

8.3. CACHE(1)

8.3.1. NAME

Cache - 为后续命令选择默认缓存。

8.3.2. SYNOPSIS

cache ['CACHE_NAME']

8.3.3. 示例

缓存 mycache
选择 mycache,它与使用 cd 缓存/mycache 导航资源树相同。

8.3.4. 另请参阅

cd(1), clear(1), container(1), get(1), put(1), remove(1)

8.4. CAS(1)

8.4.1. NAME

cas - 对强计数器执行"compare-and-swap"操作。

8.4.2. SYNOPSIS

cas ['OPTIONS'] ['COUNTER_NAME']

8.4.3. 选项

--expect='nnn'
指定计数器的预期值。
--value='nnn'
为计数器设置新值。
-q, --quiet='[true|false]'
隐藏返回值。默认值为 false。

8.4.4. 示例

只有当前值为 10时,才会将 --expect=10 --value=20 cnt_a
的值设置为 20

8.4.5. 另请参阅

add (1)、cas (1)、reset (1)

8.5. CD(1)

8.5.1. NAME

cd - 导航服务器资源树。

8.5.2. 描述

PATH 可以是绝对的,也可以是相对于当前资源。../ 指定父资源。

8.5.3. SYNOPSIS

cd ['PATH']

8.5.4. 示例

CD 缓存
对资源树中的 缓存 路径的更改。

8.5.5. 另请参阅

cache (1)、ls (1)、container (1)

8.6. CLEARCACHE(1)

8.6.1. NAME

clearcache - 从缓存中删除所有条目。

8.6.2. SYNOPSIS

clearcache ['CACHE_NAME']

8.6.3. 示例

clearcache mycache
mycache 中删除所有条目。

8.6.4. 另请参阅

cache (1)、drop (1)、delete (1)

8.7. CONFIG(1)

8.7.1. NAME

config - 管理 CLI 配置属性。

8.7.2. SYNOPSIS

config

config set 'name' 'value'

config get 'name'

8.7.3. 描述

管理(列出、设置、get)CLI 配置属性。

8.7.4. 命令概要

config
列出所有设置的配置属性。
config set 'name' ['value']
设置特定属性的值。如果没有指定值,则属性没有设置。
config get 'name'
检索特定属性值。

8.7.5. 常见选项

这些选项适用于所有命令:

-h, --help
显示命令或子命令的帮助页。

8.7.6. 属性

autoconnect-url
指定 CLI 在启动时自动连接的 URL。
autoexec
指定要在启动时执行的 CLI 批处理文件的路径。
trustall
指定是否信任所有服务器证书。值为 false (默认)和 true
truststore
定义包含验证服务器身份的证书链的密钥存储的路径。
truststore-password
指定用于访问密钥存储的密码。

8.7.7. 示例

配置设置 autoconnect-url http://192.0.2.0:11222在启动 CLI 时,通过自定义 IP 地址连接到服务器。

config get autoconnect-url
返回 autoconnect-url 配置属性的值。

config set autoexec /path/to/mybatchfile
在启动 CLI 时运行名为 "mybatchfile" 的批处理文件。

config set trustall true
Trusts all server certificate。

config set truststore /home/user/my-trust-store.jks
指定名为 "my-trust-store.jks" 的密钥存储的路径。

config set truststore-password secret
设置密钥存储密码(如果需要)。

8.7.8. 另请参阅

alias (1)、unalias (1)

8.8. CONNECT(1)

8.8.1. NAME

connect - 连接到正在运行的 Data Grid 服务器。

8.8.2. 描述

默认为 http://localhost:11222,并在需要身份验证时提示输入凭证。

8.8.3. SYNOPSIS

connect ['OPTIONS'] ['SERVER_LOCATION']

8.8.4. 选项

-u, --username='USERNAME'
指定用于与 Data Grid 服务器进行身份验证的用户名。
-p, --password='PASSWORD'
指定密码。

8.8.5. 示例

连接 127.0.0.1:11322 -u test -p changeme
使用端口偏移 100 和示例凭证连接到本地运行的服务器。

8.8.6. 另请参阅

disconnect(1)

8.9. CONTAINER (1)

8.9.1. NAME

container - 选择容器以运行后续命令。

8.9.2. SYNOPSIS

container ['CONTAINER_NAME']

8.9.3. 示例

容器默认
选择默认容器,它与使用 cd containers/default 导航资源树相同。

8.9.4. 另请参阅

cd(1), clear(1), container(1), get(1), put(1), remove(1)

8.10. COUNTER (1)

8.10.1. NAME

counter - 为后续命令选择默认计数器。

8.10.2. SYNOPSIS

counter ['COUNTER_NAME']

8.10.3. 示例

计数器 cnt_a
Selects cnt_a,它与使用 cd counters/cnt_a 导航资源树相同。

8.10.4. 另请参阅

add (1), cas (1)

8.11. CREATE(1)

8.11.1. NAME

create - 在 Data Grid 服务器上创建缓存和计数器。

8.11.2. SYNOPSIS

创建 cache ['OPTIONS'] CACHE_NAME

创建计数器 ['OPTIONS'] COUNTER_NAME

8.11.3. 创建缓存选项

-f, --file='FILE'
以 JSON 或 XML 格式指定配置文件。
-t, --template='TEMPLATE'
指定配置模板。使用标签自动完成来查看可用的模板。
-v, --volatile='[true|false]'
指定缓存是持久的还是易失性。默认值为 false。

8.11.4. 创建计数器选项

-t, --type='[weak|strong]'
指定计数器是否弱或强。
-s, --storage='[PERSISTENT|VOLATILE]'
指定计数器是持久的还是易失性。
-c, --concurrency-level='nnn'
设置计数器的并发级别。
-i, --initial-value='nnn'
设置计数器的初始值。
-l, --lower-bound='nnn'
设置强计数器的下限。
-u, --upper-bound='nnn'
设置 计数器的上限。

8.11.5. 示例

创建 cache --template=org.infinispan.DIST_SYNC mycache
DIST_SYNC 模板创建一个名为 mycache 的缓存。

创建 counter --initial-value=3 --storage=PERSISTENT --type=strong cnt_a
创建名为 cnt_a 的强计数器。

8.11.6. 另请参阅

drop(1)

8.12. DESCRIBE(1)

8.12.1. NAME

describe - 显示有关资源的信息。

8.12.2. SYNOPSIS

describe ['PATH']

8.12.3. 示例

描述 //containers/default
显示有关默认容器的信息。

描述 //containers/default/caches/mycache
显示有关 mycache 缓存的信息。

描述 //containers/default/caches/mycache/k1
显示 k1 键的信息。

描述 //containers/default/counters/cnt1
显示关于 cnt1 计数器的信息。

8.12.4. 另请参阅

cd(1), ls(1)

8.13. DISCONNECT(1)

8.13.1. NAME

disconnect - 结束与 Data Grid 服务器的 CLI 会话。

8.13.2. SYNOPSIS

disconnect

8.13.3. 示例

断开连接
结束当前 CLI 会话。

8.13.4. 另请参阅

connect(1)

8.14. DROP(1)

8.14.1. NAME

drop - 删除缓存和计数器。

8.14.2. SYNOPSIS

drop cache CACHE_NAME

drop counter COUNTER_NAME

8.14.3. 示例

drop cache mycache
删除 mycache 缓存。

drop counter cnt_a
删除 cnt_a 计数器。

8.14.4. 另请参阅

create (1), clearcache (1)

8.15. ENCODING(1)

8.15.1. NAME

编码 - 显示和设置缓存条目的编码。

8.15.2. 描述

设置一个在缓存中放置和 获取 操作的默认编码。如果没有指定参数,则 encoding 命令显示当前的编码。

有效编码使用标准 MIME 类型(IANA 介质类型)命名约定,如下所示:

  • text/plain
  • application/json
  • application/xml
  • application/octet-stream

8.15.3. SYNOPSIS

encoding ['ENCODING']

8.15.4. 示例

编码 application/json
配置当前选择的缓存,以对条目进行编码为 application/json

8.15.5. 另请参阅

get (1)、put (1)

8.16. GET(1)

8.16.1. NAME

get - 从缓存检索条目。

8.16.2. SYNOPSIS

get ['OPTIONS'] KEY

8.16.3. 选项

-c, --cache='NAME'
指定要检索条目的缓存。默认为当前所选的缓存。

8.16.4. 示例

获取 hello -c mycache
mycache 检索名为 hello 的键值。

8.16.5. 另请参阅

query (1), put (1)

8.17. HELP(1)

8.17.1. NAME

help - 打印命令的 man page。

8.17.2. SYNOPSIS

help ['COMMAND']

8.17.3. 示例

Help get
Prints the manual page for the get command。

8.17.4. 另请参阅

version(1)

8.18. LOGGING(1)

8.18.1. NAME

logging - 检查和操作 Data Grid 服务器运行时日志记录配置。

8.18.2. SYNOPSIS

logging list-loggers

日志记录 list-appenders

日志记录设置 [ 'OPTIONS'] [LOGGER_NAME]

日志记录删除 LOGGER_NAME

8.18.3. 日志记录设置选项

-l, --level='OFF|TRACE|DEBUG|INFO|WARN|ERROR|ALL'
指定特定日志记录器的日志记录级别。
-a, --appender='APPENDER'
指定要在特定日志记录器上设置的附加程序。可以重复用于多个附加器的选项。
注意

在没有日志记录器名称的情况下调用 日志记录集 将修改根日志记录器。

8.18.4. 示例

日志记录 list-loggers
列出所有可用的日志记录器

logging set --level=DEBUG --appenders=FILE org.infinispan
org.infinispan 日志记录器的日志级别设置为 DEBUG,并将它配置为使用 FILE 附加程序。

8.19. LS(1)

8.19.1. NAME

ls - 列出当前路径或指定路径的资源。

8.19.2. SYNOPSIS

ls ['PATH']

8.19.3. 示例

ls 缓存
列出可用的缓存。

ls ../
列出父资源。

8.19.4. 另请参阅

cd(1)

8.20. MIGRATE(1)

8.20.1. NAME

migrate - 将数据从一个版本 Data Grid 迁移到另一个版本。

8.20.2. SYNOPSIS

迁移集群同步

迁移集群断开连接

8.20.3. 描述

使用 migrate 命令将数据从一个版本 Data Grid 迁移到另一个版本。

8.20.4. 命令概要

迁移集群

迁移集群同步
同步源集群和目标集群之间的数据。
迁移集群断开连接
断开目标集群与源集群的连接。

8.20.5. 常见选项

这些选项适用于所有命令:

-h, --help
显示命令或子命令的帮助页。

8.20.6. 集群同步选项

-c, --cache='name'
要同步的缓存的名称。
-b, --read-batch='num'
批处理中要处理的条目量。默认值为 10000。
-t, --threads='num'
要使用的线程数量。默认为服务器上的内核数。

8.20.7. 集群断开连接选项

-c, --cache='name'
与源断开连接的缓存名称。

8.21. PATCH(1)

8.21.1. NAME

patch - 管理服务器补丁。

8.21.2. 描述

列出、描述、安装、回滚并创建服务器补丁。

补丁是 zip 归档文件,其中包含用于升级服务器并解决问题或添加新功能的工件。补丁可将目标版本应用到具有不同版本的多个服务器安装。

8.21.3. SYNOPSIS

patch ls

patch install 'patch-file'

patch describe 'patch-file'

补丁回滚

patch create 'patch-file' 'target-server' 'source-server-1' ['source-server-2'…​]

8.21.4. PATCH 列表选项

--server='path/to/server'
设置当前服务器主目录之外的目标服务器的路径。
-v, --verbose
显示每个已安装的补丁的内容,包括有关单个文件的信息。

8.21.5. 补丁安装选项

--dry-run
显示补丁在不应用任何更改的情况下进行的操作。
--server='path/to/server'
设置当前服务器主目录之外的目标服务器的路径。

8.21.6. PATCH DESCRIBE 选项

-v, --verbose
显示补丁的内容,包括有关单个文件的信息

8.21.7. 补丁回滚选项

--dry-run
显示补丁在不应用任何更改的情况下进行的操作。
--server='path/to/server'
设置当前服务器主目录之外的目标服务器的路径。

8.21.8. PATCH 创建选项

-q, --qualifier='name'
为补丁指定一个描述性限定符字符串;例如,"one-off for issue nnnn"。

8.21.9. 示例

patch ls
列出当前在服务器中安装的补丁。

Patch install mypatch.zip
在当前目录中的服务器上安装 "mypatch.zip"。

Patch install mypatch.zip --server=/path/to/server/home
在不同目录的服务器上安装 "mypatch.zip"。

patch 描述 mypatch.zip
显示目标版本和 "mypatch.zip" 的源版本列表。

patch create mypatch.zip 'target-server' 'source-server-1' ['source-server-2'…​]
创建了一个名为 "mypatch.zip" 的补丁文件,该文件使用目标服务器的版本并应用到源服务器版本。

补丁回滚
会回滚应用到服务器的最后一个补丁,并恢复之前的版本。

8.22. PUT(1)

8.22.1. NAME

put - 添加或更新缓存条目。

8.22.2. 描述

为新密钥创建条目。替换现有键的值。

8.22.3. SYNOPSIS

put ['OPTIONS'] KEY [VALUE]

8.22.4. 选项

-c, --cache='NAME'
指定缓存的名称。默认为当前所选的缓存。
-e, --encoding='ENCODING'
为值设置介质类型。
-f, --file='FILE'
指定包含条目值的文件。
-l, --ttl='TTL'
设置条目自动删除前的秒数(time-to-live)。如果未指定 0 或未指定,则默认为缓存配置中的 lifespan 的值。如果您设置了负值,则该条目永远不会被删除。
-i, --max-idle='MAXIDLE'
设置条目可以闲置的秒数。如果在最大闲置时间过后没有对条目发生读取或写入操作,该条目将会被自动删除。如果未指定 0, 则默认为 cache 配置中 maxIdle 的值。如果您设置了负值,则该条目永远不会被删除。
-a, --if-absent=[true|false]
仅在不存在的条目时放置一个条目。

8.22.5. 示例

put -c mycache hello world
将值为 worldhello 键添加到 mycache 缓存。

put -c mycache -f myfile -i 500easiest
Adds the productivity key with the values of myfile. 另外,设置最多闲置 500 秒。

8.22.6. 另请参阅

get (1)、delete (1)

8.23. QUERY (1)

8.23.1. NAME

query - 检索与 Ickle 查询字符串匹配的条目。

8.23.2. SYNOPSIS

query ['OPTIONS'] QUERY_STRING

8.23.3. 选项

-c, --cache='NAME'
指定要查询的缓存。默认为当前所选的缓存。
--max-results='MAX_RESULTS'
设置要返回的结果数。默认值为 10
-o, --offset='OFFSET'
指定要返回的第一个结果的索引。默认值为 0
--query-mode='QUERY_MODE'
指定服务器如何执行查询。值为 FETCH 和 BROADCAST。默认值为 FETCH

8.23.4. 示例

查询 "from org.infinispan.rest.search.entity.Person p where p.gender = 'MALE'"
查询当前选择的缓存,从 Protobuf Person 实体(其中 gender datatype 为 MALE )返回条目。

8.23.5. 另请参阅

schema(1)

8.24. QUIT(1)

8.24.1. NAME

quit - 退出命令行界面。

8.24.2. SYNOPSIS

quit

8.24.3. 示例

退出
退出 CLI。

8.24.4. 另请参阅

disconnect(1), shutdown(1)

8.25. REMOVE(1)

8.25.1. NAME

remove - 从缓存中删除条目。

8.25.2. SYNOPSIS

remove KEY ['OPTIONS']

8.25.3. 选项

--cache='NAME'
指定要从中删除条目的缓存。默认为当前所选的缓存。

8.25.4. 示例

删除 --cache=mycache fencing
mycache 缓存中删除
Operand 条目。

8.25.5. 另请参阅

cache (1), drop (1), clearcache (1)

8.26. RESET(1)

8.26.1. NAME

reset - 恢复计数器的初始值。

8.26.2. SYNOPSIS

reset ['COUNTER_NAME']

8.26.3. 示例

重置 cnt_a
重置 cnt_a 计数器。

8.26.4. 另请参阅

add (1)、cas (1)、drop (1)

8.27. SCHEMA(1)

8.27.1. NAME

schema - 上传并注册 protobuf 模式。

8.27.2. SYNOPSIS

schema ['OPTIONS'] SCHEMA_NAME

8.27.3. 选项

-u, --upload='FILE'
将文件上传为具有指定名称的 protobuf 模式。

8.27.4. 示例

schema --upload=person.proto person.proto
注册 person.proto Protobuf 模式。

8.27.5. 另请参阅

query(1)

8.28. SHUTDOWN(1)

8.28.1. NAME

shutdown - 停止运行的服务器,或者安全地关闭集群。

8.28.2. SYNOPSIS

关闭服务器 ['SERVERS']

关闭集群

8.28.3. 示例

关闭服务器
停止 CLI 连接到的服务器。

关闭服务器 my_server01
使用主机名 my_server01 停止服务器。

关闭集群
存储集群状态,如果使用缓存存储并停止所有节点,请保留条目。

8.28.4. 另请参阅

connect (1), disconnect (1), quit (1)

8.29. SITE(1)

8.29.1. NAME

站点 - 管理备份位置并执行跨站点复制操作。

8.29.2. SYNOPSIS

站点状态 ['OPTIONS']

site bring-online ['OPTIONS']

site take-offline ['OPTIONS']

site push-site-state ['OPTIONS']

site cancel-push-state ['OPTIONS']

site cancel-receive-state ['OPTIONS']

site push-site-status ['OPTIONS']

8.29.3. 选项

--cache='CACHE_NAME'
指定缓存。
--site='SITE_NAME'
指定备份位置。

8.29.4. 示例

site status --cache=mycache
返回 mycache 的所有备份位置的状态。

站点状态 --cache=mycache --site=NYC
返回 mycacheNYC 的状态。

site bring-online --cache=mycache --site=NYC
mycache 在线提供站点 NYC

site take-offline --cache=mycache --site=NYC
mycache 离线站点 NYC

site push-site-state --cache=mycache --site=NYC
将缓存备份到远程备份位置。

site push-site-status --cache=mycache
显示要备份 mycache 的操作状态。

site cancel-push-state --cache=mycache --site=NYC
Cancels 操作将 mycache 备份到 NYC

site cancel-receive-state --cache=mycache --site=NYC
Cancels 操作从 NYC 接收状态。

site clear-push-state-status --cache=myCache
清除 mycache 的 push 状态操作的状态。

8.30. STATS(1)

8.30.1. NAME

stats - 显示资源的统计信息。

8.30.2. SYNOPSIS

stats ['PATH']

8.30.3. 示例

stats //containers/default
显示有关默认容器的统计信息。

stats //containers/default/caches/mycache
显示有关 mycache 缓存的统计信息。

8.30.4. 另请参阅

cd(1), ls(1), describe(1)

8.31. TASK(1)

8.31.1. NAME

Task - 执行和上传服务器端任务和脚本

8.31.2. SYNOPSIS

任务上传 --file='script' 'TASK_NAME'

task exec ['TASK_NAME']

8.31.3. 示例

任务上传 --file=hello.js hello
hello.js 文件上传脚本,并将其命名为 hello

task exec @@cache@names
运行一个返回可用缓存名称的任务。

Task exec hello -Pgreetee=world
运行一个名为 hello 的脚本,并指定 greetee 参数,值设为 world

8.31.4. 选项

-p, --parameters='PARAMETERS'
将参数值传递给任务和脚本。
-f, --file='FILE'
上传具有指定名称的脚本文件。

8.31.5. 另请参阅

ls(1)

8.32. UNALIAS(1)

8.32.1. NAME

unalias - 删除别名。

8.32.2. SYNOPSIS

Unalias 'ALIAS-NAME'

8.32.3. 示例

unalias q
删除 q 别名。

8.32.4. 另请参阅

config (1), alias (1)

8.33. USER(1)

8.33.1. NAME

user - 在属性安全域中管理 Data Grid 用户。

8.33.2. SYNOPSIS

user ls

user create 'username'

user describe 'username'

用户删除 'username'

用户密码 "username"

用户组 'username'

用户 encrypt-all

8.33.3. 描述

管理(列出、创建、描述、删除、修改)存储在属性安全域中的用户。注: 您只能将此命令与属性域一起使用。

8.33.4. 命令概要

user ls
列出属性文件中存在的用户或组。
user create 'username'
在提示输入密码后创建用户。
user describe 'username'
描述用户,包括其用户名、域及其所属的任何组。
用户删除 'username'
从属性文件中删除指定用户。
用户密码 "username"
更改用户的密码。
用户组 'username'
设置用户所属的组。
用户 encrypt-all
加密纯文本用户属性文件中的所有密码。

8.33.5. 常见选项

这些选项适用于所有命令:

-h, --help
显示命令或子命令的帮助页。
-s, --server-root='path-to-server-root'
服务器 root 的路径。默认为 server
-f, --users-file='users.properties'
包含用户密码的属性文件的名称。默认为 users.properties
-w, --groups-file='groups.properties'
包含用户到组映射的属性文件的名称。默认为 groups.properties

8.33.6. 用户创建/修改选项

-a, --algorithms
指定用于哈希密码的算法。
-g, --groups='group1,group2,…​'
指定用户所属的组。
-p, --password='password'
指定用户的密码。
-r, --realm='realm'
指定 realm 名称。
--plain-text
密码是否应以纯文本形式存储(不推荐)。

8.33.7. USER LS 选项

--groups
显示组列表,而不是用户。

8.33.8. 用户 ENCRYPT-ALL 选项

-a, --algorithms
指定用于哈希密码的算法。

8.34. VERSION (1)

8.34.1. NAME

Version - 显示服务器版本和 CLI 版本。

8.34.2. SYNOPSIS

version

8.34.3. 示例

版本
返回服务器和 CLI 的版本。

8.34.4. 另请参阅

help(1)

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.