使用 Data Grid 命令行界面


Red Hat Data Grid 8.5

使用 Data Grid CLI 访问和管理远程缓存

Red Hat Customer Content Services

摘要

使用命令行界面(CLI)连接到 Data Grid Server 集群,以使用远程缓存访问数据并执行管理操作。

Red Hat Data Grid

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

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

Data Grid 文档

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

Data Grid 下载

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

注意

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

使开源包含更多

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

第 1 章 Data Grid CLI 入门

命令行界面(CLI)可让您远程连接到 Data Grid 服务器,以访问数据并执行管理功能。完成以下步骤以了解基本 CLI 用法,如创建用户、连接到数据网格以及浏览资源。

1.1. 创建 Data Grid 用户

添加凭据,以通过 Hot Rod 和 REST 端点与数据网格服务器部署进行身份验证。在访问 Data Grid 控制台或执行缓存操作前,您必须至少创建一个使用 Data Grid 命令行界面(CLI)的用户。

提示

Data Grid 通过基于角色的访问控制(RBAC)强制实施安全授权。第一次添加凭证以为您的 Data Grid 部署获得完整的 ADMIN 权限时,创建一个 admin 用户。

先决条件

  • 下载并安装 Data Grid Server。

流程

  1. $RHDG_HOME 中打开一个终端。
  2. 使用 user create 命令创建 admin 用户。

    bin/cli.sh user create admin -p changeme
    Copy to Clipboard Toggle word wrap
    提示

    从 CLI 会话运行 help user 以获取完整的命令详情。

验证

打开 user.properties 并确认用户存在。

cat server/conf/users.properties

admin=scram-sha-1\:BYGcIAwvf6b...
Copy to Clipboard Toggle word wrap
注意

使用 CLI 向属性域添加凭证只会在您连接的服务器实例上创建用户。您必须在属性域中手动将凭证同步到集群中的每个节点。

1.1.1. 授予用户角色

为用户分配角色,并授予他们执行缓存操作并与 Data Grid 资源交互的权限。

提示

如果要为多个用户分配同一角色并集中维护其权限,请将角色授予组而不是用户。

先决条件

  • 具有 Data Grid 的 ADMIN 权限。
  • 创建 Data Grid 用户。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用 用户角色 grant 命令为用户分配角色,例如:

    user roles grant --roles=deployer katie
    Copy to Clipboard Toggle word wrap

验证

使用用户角色 ls 命令,列出您向用户授予的角色

user roles ls katie
["deployer"]
Copy to Clipboard Toggle word wrap

1.1.2. 将用户添加到组中

组可让您更改多个用户的权限。您可以为组分配角色,然后将用户添加到该组。用户从组角色继承权限。

注意

您可以使用 groups 作为 Data Grid Server 配置中的属性域的一部分。每个组都是特殊的用户,它还需要用户名和密码。

先决条件

  • 具有 Data Grid 的 ADMIN 权限。
  • 创建 Data Grid 用户。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用 user create 命令创建组。

    1. 使用 --groups 参数指定组名称。
    2. 为组设置用户名和密码。

      user create --groups=developers developers -p changeme
      Copy to Clipboard Toggle word wrap
  3. 列出组。

    user ls --groups
    Copy to Clipboard Toggle word wrap
  4. 为组授予角色。

    user roles grant --roles=application developers
    Copy to Clipboard Toggle word wrap
  5. 列出组的角色。

    user roles ls developers
    Copy to Clipboard Toggle word wrap
  6. 一次将用户添加到组中。

    user groups john --groups=developers
    Copy to Clipboard Toggle word wrap

验证

打开 groups.properties 并确认组存在。

cat server/conf/groups.properties
Copy to Clipboard Toggle word wrap

1.1.3. Data Grid 用户角色和权限

Data Grid 包括多个角色,为用户提供访问缓存和数据网格资源的权限。

Expand
角色权限描述

admin

ALL

具有所有权限的超级用户,包括控制缓存管理器生命周期。

deployer

ALL_READ、ALL_WRITE、LISTEN、EXEC、MONITOR、CREATE

除了 应用程序 权限外,还可创建和删除 Data Grid 资源。

application

ALL_READ, ALL_WRITE, LISTEN, EXEC, MONITOR

观察者 权限外,还具有对 Data Grid 资源的读写访问权限。也可以侦听事件并执行服务器任务和脚本。

observer

ALL_READ, MONITOR

除了监控权限外,还具有对 Data Grid 资源 的读取访问权限。

monitor

MONITOR

可以通过 JMX 和 指标端点 查看统计信息。

1.2. 连接到 Data Grid 服务器

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

先决条件

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

流程

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

    • linux:

      bin/cli.sh
      Copy to Clipboard Toggle word wrap
    • Microsoft Windows:

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

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

      [disconnected]> connect
      Copy to Clipboard Toggle word wrap
    • 带有端口偏移 100 的数据网格服务器:

      [disconnected]> connect 127.0.0.1:11322
      Copy to Clipboard Toggle word wrap

1.4. 关闭 Data Grid 服务器

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

流程

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

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

      shutdown cluster
      Copy to Clipboard Toggle word wrap

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

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

      shutdown server <my_server01>
      Copy to Clipboard Toggle word wrap
重要

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
Copy to Clipboard Toggle word wrap

1.4.1. 关闭并重启 Data Grid 集群

通过正确关闭和重启节点,防止数据丢失并确保集群的一致性。

集群关闭

Data Grid 建议使用 shutdown cluster 命令停止集群中的所有节点,同时保存集群状态并保留缓存中的所有数据。您还可以将 shutdown cluster 命令用于具有单一节点的集群。

当您将 Data Grid 集群恢复在线时,集群中的所有节点和缓存都将不可用,直到所有节点都重新加入为止。为了防止不一致或数据丢失,Data Grid 限制对集群中存储的数据的访问和修改,并修改集群状态,直到集群再次正常工作。另外,Data Grid 禁用集群重新平衡,并防止本地缓存在启动时存储清除。

在集群恢复过程中,协调节点会记录每个新节点加入的消息,指示哪些节点可用,哪些仍然缺失。Data Grid 集群中的其他节点有他们加入的时间视图。您可以使用 Data Grid Console 或 REST API 监控缓存的可用性。

但是,如果不需要等待所有节点,则可使用当前拓扑设置可用的缓存。此方法可以通过 CLI、如下所示或 REST API 实现。

重要

手动安装拓扑可能会导致数据丢失,只有在无法重新创建初始拓扑时才执行此操作。

服务器关闭

在使用 shutdown server 命令关闭节点后,第一个节点将立即上线,而无需等待其他成员。其余的节点立即加入集群,触发状态传输,但首先载入本地持久性,这可能会导致过时的条目。配置为在启动时清除的本地缓存存储将在服务器启动时清除。在服务器重启后,标记为 purge=false 的本地缓存存储将可用,但可能包含过时的条目。

如果您使用 shutdown server 命令关闭集群节点,您必须以相反的顺序重启每台服务器,以避免与缓存中数据丢失和过时的条目相关的潜在问题。
例如,如果您关闭 server1,然后关闭 server2,您应该首先启动 server2,然后启动 server1。但是,以相反顺序重启集群节点不会完全阻止数据丢失和过时的条目。

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

使用命令行界面(CLI)对远程缓存执行操作,如创建缓存、操作数据和重新平衡。

2.1. 使用 Data Grid CLI 创建远程缓存

使用 Data Grid 命令行界面(CLI)在 Data Grid Server 中添加远程缓存。

先决条件

  • 创建具有 admin 权限的 Data Grid 用户。
  • 至少启动一个 Data Grid 服务器实例。
  • 具有 Data Grid 缓存配置。

流程

  1. 启动 CLI。

    bin/cli.sh
    Copy to Clipboard Toggle word wrap
  2. 运行 connect 命令,并在提示时输入您的用户名和密码。
  3. 使用 create cache 命令创建远程缓存。

    例如,从名为 mycache.xml 的文件创建一个名为 "mycache" 的缓存,如下所示:

    create cache --file=mycache.xml mycache
    Copy to Clipboard Toggle word wrap

验证

  1. 使用 ls 命令列出所有远程缓存。

    ls caches
    mycache
    Copy to Clipboard Toggle word wrap
  2. 使用 describe 命令查看缓存配置。

    describe caches/mycache
    Copy to Clipboard Toggle word wrap

2.1.1. 缓存配置

您可以使用 XML、JSON 和 YAML 格式创建声明性缓存配置。

所有声明缓存都必须符合 Data Grid 模式。JSON 格式的配置必须遵循 XML 配置的结构,元素对应于字段和属性。

重要

Data Grid 将字符限制为最多 255 个缓存名称或缓存模板名称。如果您超过这个字符限制,Data Grid 会抛出异常。编写 succinct 缓存名称和缓存模板名称。

重要

文件系统可能会为文件名长度设置限制,因此请确保缓存的名称不超过这个限制。如果缓存名称超过文件系统的命名限制,则对该缓存的一般操作或初始操作可能会失败。写入 succinct 文件名。

分布式缓存

XML

<distributed-cache owners="2"
                   segments="256"
                   capacity-factor="1.0"
                   l1-lifespan="5000"
                   mode="SYNC"
                   statistics="true">
  <encoding media-type="application/x-protostream"/>
  <locking isolation="REPEATABLE_READ"/>
  <transaction mode="FULL_XA"
               locking="OPTIMISTIC"/>
  <expiration lifespan="5000"
              max-idle="1000" />
  <memory max-count="1000000"
          when-full="REMOVE"/>
  <indexing enabled="true"
            storage="local-heap">
    <index-reader refresh-interval="1000"/>
    <indexed-entities>
      <indexed-entity>org.infinispan.Person</indexed-entity>
    </indexed-entities>
  </indexing>
  <partition-handling when-split="ALLOW_READ_WRITES"
                      merge-policy="PREFERRED_NON_NULL"/>
  <persistence passivation="false">
    <!-- Persistent storage configuration. -->
  </persistence>
</distributed-cache>
Copy to Clipboard Toggle word wrap

JSON

{
  "distributed-cache": {
    "mode": "SYNC",
    "owners": "2",
    "segments": "256",
    "capacity-factor": "1.0",
    "l1-lifespan": "5000",
    "statistics": "true",
    "encoding": {
      "media-type": "application/x-protostream"
    },
    "locking": {
      "isolation": "REPEATABLE_READ"
    },
    "transaction": {
      "mode": "FULL_XA",
      "locking": "OPTIMISTIC"
    },
    "expiration" : {
      "lifespan" : "5000",
      "max-idle" : "1000"
    },
    "memory": {
      "max-count": "1000000",
      "when-full": "REMOVE"
    },
    "indexing" : {
          "enabled" : true,
          "storage" : "local-heap",
          "index-reader" : {
            "refresh-interval" : "1000"
          },
          "indexed-entities": [
            "org.infinispan.Person"
          ]
    },
    "partition-handling" : {
      "when-split" : "ALLOW_READ_WRITES",
      "merge-policy" : "PREFERRED_NON_NULL"
    },
    "persistence" : {
      "passivation" : false
    }
  }
}
Copy to Clipboard Toggle word wrap

YAML

distributedCache:
  mode: "SYNC"
  owners: "2"
  segments: "256"
  capacityFactor: "1.0"
  l1Lifespan: "5000"
  statistics: "true"
  encoding:
    mediaType: "application/x-protostream"
  locking:
    isolation: "REPEATABLE_READ"
  transaction:
    mode: "FULL_XA"
    locking: "OPTIMISTIC"
  expiration:
    lifespan: "5000"
    maxIdle: "1000"
  memory:
    maxCount: "1000000"
    whenFull: "REMOVE"
  indexing:
    enabled: "true"
    storage: "local-heap"
    indexReader:
      refreshInterval: "1000"
    indexedEntities:
      - "org.infinispan.Person"
  partitionHandling:
    whenSplit: "ALLOW_READ_WRITES"
    mergePolicy: "PREFERRED_NON_NULL"
  persistence:
    passivation: "false"
    # Persistent storage configuration.
Copy to Clipboard Toggle word wrap

复制的缓存

XML

<replicated-cache segments="256"
                  mode="SYNC"
                  statistics="true">
  <encoding media-type="application/x-protostream"/>
  <locking isolation="REPEATABLE_READ"/>
  <transaction mode="FULL_XA"
               locking="OPTIMISTIC"/>
  <expiration lifespan="5000"
              max-idle="1000" />
  <memory max-count="1000000"
          when-full="REMOVE"/>
  <indexing enabled="true"
            storage="local-heap">
    <index-reader refresh-interval="1000"/>
    <indexed-entities>
      <indexed-entity>org.infinispan.Person</indexed-entity>
    </indexed-entities>
  </indexing>
  <partition-handling when-split="ALLOW_READ_WRITES"
                      merge-policy="PREFERRED_NON_NULL"/>
  <persistence passivation="false">
    <!-- Persistent storage configuration. -->
  </persistence>
</replicated-cache>
Copy to Clipboard Toggle word wrap

JSON

{
  "replicated-cache": {
    "mode": "SYNC",
    "segments": "256",
    "statistics": "true",
    "encoding": {
      "media-type": "application/x-protostream"
    },
    "locking": {
      "isolation": "REPEATABLE_READ"
    },
    "transaction": {
      "mode": "FULL_XA",
      "locking": "OPTIMISTIC"
    },
    "expiration" : {
      "lifespan" : "5000",
      "max-idle" : "1000"
    },
    "memory": {
      "max-count": "1000000",
      "when-full": "REMOVE"
    },
    "indexing" : {
      "enabled" : true,
      "storage" : "local-heap",
      "index-reader" : {
        "refresh-interval" : "1000"
        },
      "indexed-entities": [
        "org.infinispan.Person"
      ]
    },
    "partition-handling" : {
      "when-split" : "ALLOW_READ_WRITES",
      "merge-policy" : "PREFERRED_NON_NULL"
    },
    "persistence" : {
      "passivation" : false
    }
  }
}
Copy to Clipboard Toggle word wrap

YAML

replicatedCache:
  mode: "SYNC"
  segments: "256"
  statistics: "true"
  encoding:
    mediaType: "application/x-protostream"
  locking:
    isolation: "REPEATABLE_READ"
  transaction:
    mode: "FULL_XA"
    locking: "OPTIMISTIC"
  expiration:
    lifespan: "5000"
    maxIdle: "1000"
  memory:
    maxCount: "1000000"
    whenFull: "REMOVE"
  indexing:
    enabled: "true"
    storage: "local-heap"
    indexReader:
      refreshInterval: "1000"
    indexedEntities:
      - "org.infinispan.Person"
  partitionHandling:
    whenSplit: "ALLOW_READ_WRITES"
    mergePolicy: "PREFERRED_NON_NULL"
  persistence:
    passivation: "false"
    # Persistent storage configuration.
Copy to Clipboard Toggle word wrap

多个缓存

XML

<infinispan
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="urn:infinispan:config:15.0 https://infinispan.org/schemas/infinispan-config-15.0.xsd
                          urn:infinispan:server:15.0 https://infinispan.org/schemas/infinispan-server-15.0.xsd"
      xmlns="urn:infinispan:config:15.0"
      xmlns:server="urn:infinispan:server:15.0">
  <cache-container name="default"
                   statistics="true">
    <distributed-cache name="mycacheone"
                       mode="ASYNC"
                       statistics="true">
      <encoding media-type="application/x-protostream"/>
      <expiration lifespan="300000"/>
      <memory max-size="400MB"
              when-full="REMOVE"/>
    </distributed-cache>
    <distributed-cache name="mycachetwo"
                       mode="SYNC"
                       statistics="true">
      <encoding media-type="application/x-protostream"/>
      <expiration lifespan="300000"/>
      <memory max-size="400MB"
              when-full="REMOVE"/>
    </distributed-cache>
  </cache-container>
</infinispan>
Copy to Clipboard Toggle word wrap

JSON

{
  "infinispan" : {
    "cache-container" : {
      "name" : "default",
      "statistics" : "true",
      "caches" : {
        "mycacheone" : {
          "distributed-cache" : {
            "mode": "ASYNC",
            "statistics": "true",
            "encoding": {
              "media-type": "application/x-protostream"
            },
            "expiration" : {
              "lifespan" : "300000"
            },
            "memory": {
              "max-size": "400MB",
              "when-full": "REMOVE"
            }
          }
        },
        "mycachetwo" : {
          "distributed-cache" : {
            "mode": "SYNC",
            "statistics": "true",
            "encoding": {
              "media-type": "application/x-protostream"
            },
            "expiration" : {
              "lifespan" : "300000"
            },
            "memory": {
              "max-size": "400MB",
              "when-full": "REMOVE"
            }
          }
        }
      }
    }
  }
}
Copy to Clipboard Toggle word wrap

YAML

infinispan:
  cacheContainer:
    name: "default"
    statistics: "true"
    caches:
      mycacheone:
       distributedCache:
          mode: "ASYNC"
          statistics: "true"
          encoding:
            mediaType: "application/x-protostream"
          expiration:
            lifespan: "300000"
          memory:
            maxSize: "400MB"
            whenFull: "REMOVE"
      mycachetwo:
        distributedCache:
          mode: "SYNC"
          statistics: "true"
          encoding:
            mediaType: "application/x-protostream"
          expiration:
            lifespan: "300000"
          memory:
            maxSize: "400MB"
            whenFull: "REMOVE"
Copy to Clipboard Toggle word wrap

2.2. 修改数据网格缓存配置

使用 Data Grid CLI 更改远程缓存配置。您可以一次修改缓存配置中的属性,或者以 XML、JSON 或 YAML 格式提供缓存配置,以一次性修改多个属性。

先决条件

  • 在 Data Grid 集群中至少创建一个远程缓存。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用以下方法之一修改缓存配置:

    • 使用 --file 选项指定带有一个或多个属性修改的配置文件。
    • 使用 --attribute--value 选项来修改特定的配置属性。

      提示

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

  3. 使用 describe 命令验证您的更改,例如:

    describe caches/mycache
    Copy to Clipboard Toggle word wrap

2.3. 添加缓存条目

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

先决条件

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

流程

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

    • put 命令中使用 --cache=

      put --cache=mycache hello world
      Copy to Clipboard Toggle word wrap
    • 从缓存的上下文使用 put 命令:

      [//containers/default/caches/mycache]> put hello world
      Copy to Clipboard Toggle word wrap
  3. 使用 get 命令验证条目。

    [//containers/default/caches/mycache]> get hello
    world
    Copy to Clipboard Toggle word wrap

2.4. 清除缓存和删除条目

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

流程

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

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

      clearcache mycache
      Copy to Clipboard Toggle word wrap
    • 使用 remove 命令删除特定条目。

      remove --cache=mycache hello
      Copy to Clipboard Toggle word wrap

2.5. 删除缓存

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

流程

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

    drop cache mycache
    Copy to Clipboard Toggle word wrap

2.6. 配置自动缓存重新平衡

默认情况下,Data Grid 会自动重新平衡缓存作为节点加入并离开集群。您可以通过在 Cache Manager 级别或基于每个缓存级别禁用或启用它来配置自动缓存重新平衡。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用 rebalance disable 命令为所有缓存禁用自动重新平衡。

    rebalance disable
    Copy to Clipboard Toggle word wrap
  3. 使用 rebalance enable 命令为特定缓存启用自动重新平衡。

    以下示例仅为名为 "mycache" 的缓存启用重新平衡。

    rebalance enable caches/mycache
    Copy to Clipboard Toggle word wrap
  4. 为所有缓存重新启用自动重新平衡。

    rebalance enable
    Copy to Clipboard Toggle word wrap

如需有关 rebalance 命令的更多信息,请运行 help rebalance

2.7. 设置 Stable Topology

默认情况下,在集群关闭后,Data Grid 会等待所有节点加入集群并恢复拓扑。但是,我们提供了一个 CLI 命令来标记特定缓存的当前拓扑稳定。

重要

该命令不在内部缓存上运行。对于需要访问缺少成员的内部缓存,将丢失的功能。例如,当缺少节点时,用户无法将模式上传到 Protobuf 模式的内部缓存中。脚本执行和上传,分布式锁定也会受到影响。

流程

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

    • 将给定缓存的当前拓扑设置为 stable。

      topology set-stable cacheName
      Copy to Clipboard Toggle word wrap
    • 如果当前拓扑中缺少的节点数大于或等于所有者数,则需要 force 标志来确认操作。

      topology set-stable cacheName -f
      Copy to Clipboard Toggle word wrap

如需有关 拓扑 set-stable 命令的更多信息,请运行 topology set-stable -h

重要

手动安装拓扑可能会导致数据丢失,只有在无法重新创建初始拓扑时才执行此操作。

第 3 章 执行批处理操作

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

先决条件

  • 正在运行的 Data Grid 集群。

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

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

流程

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

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

    connect --username=<username> --password=<password> <hostname>:11222
    create cache --template=org.infinispan.DIST_SYNC mybatch
    put --cache=mybatch hello world
    put --cache=mybatch hola mundo
    ls caches/mybatch
    disconnect
    Copy to Clipboard Toggle word wrap
    提示

    使用 autoconnect-url 属性配置 CLI,而不是直接在批处理文件中使用 connect 命令。

  2. 运行 CLI,并将文件指定为输入。

    bin/cli.sh -f batch
    Copy to Clipboard Toggle word wrap
注意

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

3.2. 执行批处理操作交互

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

流程

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

    bin/cli.sh -c localhost:11222 -f -
    Copy to Clipboard Toggle word wrap
    提示

    您可以使用 autoconnect-url 属性配置 CLI 连接,而不使用 -c 参数。

  2. 运行批处理操作,例如:

    create cache --template=org.infinispan.DIST_SYNC mybatch
    put --cache=mybatch hello world
    put --cache=mybatch hola mundo
    disconnect
    quit
    Copy to Clipboard Toggle word wrap

第 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 ...
      Copy to Clipboard Toggle word wrap
    • 使用 ISPN_CLI_DIR 环境变量:

      export ISPN_CLI_DIR=/path/to/cli/storage
      bin/cli.sh ...
      Copy to Clipboard Toggle word wrap
  2. 使用 config set 命令为配置属性设置值。

    例如,设置 autoconnect-url 属性,以便 CLI 会自动连接到该 URL。

    注意

    对于远程连接,指定 URL 并提供凭证:

    • http[s]://<username>:<password>@<hostname>:<port > 用于基本身份验证。
    • http[s]://<token>@<hostname>:<port& gt; 用于 OAuth 身份验证。
    bin/cli.sh config set autoconnect-url http://<username>:<password>@<hostname>:11222
    Copy to Clipboard Toggle word wrap
  3. 使用 config get 命令验证配置属性。

    提示

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

4.2. 创建命令别名

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

流程

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

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

    alias q=quit
    Copy to Clipboard Toggle word wrap
  2. 运行 alias 命令检查定义的别名。

    alias
    alias q='quit'
    Copy to Clipboard Toggle word wrap
  3. 使用 unalias 命令删除别名,例如:

    unalias q
    Copy to Clipboard Toggle word wrap

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
    Copy to Clipboard Toggle word wrap
  2. 可选: 定义信任存储密码。以下示例将 secret 设置为信任存储密码:

    bin/cli.sh config set truststore-password secret
    Copy to Clipboard Toggle word wrap
  3. 可选: 如果您需要服务器进行客户端证书身份验证,请指定客户端密钥存储的位置。考虑以下示例,将 &lt ;path& gt; 替换为密钥存储文件的绝对路径,并将 < key_store_file > 替换为密钥存储文件的名称:

    bin/cli.sh config set keystore /<emphasis><path></emphasis>/<emphasis><key_store_file></emphasis>
    Copy to Clipboard Toggle word wrap
  4. 可选: 定义一个密钥存储密码。以下示例将 secret 设置为密钥存储密码:

    bin/cli.sh config set keystore-password secret
    Copy to Clipboard Toggle word wrap
  5. 验证您的 CLI 配置。

    bin/cli.sh config get truststore
    Copy to Clipboard Toggle word wrap
    bin/cli.sh config get truststore-password
    Copy to Clipboard Toggle word wrap

4.4. Data Grid CLI Storage Directory

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

Expand
操作系统默认路径

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

      create counter --concurrency-level=1 --initial-value=5 --storage=PERSISTENT --type=weak my-weak-counter
      Copy to Clipboard Toggle word wrap
    2. 创建 my-strong-counter

      create counter --initial-value=3 --storage=PERSISTENT --type=strong my-strong-counter
      Copy to Clipboard Toggle word wrap
  3. 列出可用的计数器。

    ls counters
    Copy to Clipboard Toggle word wrap
  4. 验证计数器配置。

    1. 描述 my-weak-counter

      describe counters/my-weak-counter
      Copy to Clipboard Toggle word wrap
      {
          "weak-counter":{
              "initial-value":5,
              "storage":"PERSISTENT",
              "concurrency-level":1
          }
      }
      Copy to Clipboard Toggle word wrap
    2. 描述 my-strong-counter

      describe counters/my-strong-counter
      Copy to Clipboard Toggle word wrap
      {
          "strong-counter":{
              "initial-value":3,
              "storage":"PERSISTENT",
              "upper-bound":5
          }
      }
      Copy to Clipboard Toggle word wrap

5.2. 将 Deltas 添加到计数器

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

流程

  1. 选择一个计数器。

    counter my-weak-counter
    Copy to Clipboard Toggle word wrap
  2. 列出当前计数。

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

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

    [//containers/default/counters/my-weak-counter]> add --delta=-4
    Copy to Clipboard Toggle word wrap
注意

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

例如,添加 --delta=3 --quiet=true

弱计数器返回空响应。

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

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

先决条件

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

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

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

先决条件

  • 创建与 Data Grid 的 CLI 连接。

流程

  1. 使用 site status 命令检查备份位置是否在线或离线:

    site status --cache=cacheName --site=NYC
    Copy to Clipboard Toggle word wrap
    注意

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

    提示

    使用 --all-caches 选项获取所有缓存的备份位置状态。

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

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

      site bring-online --cache=customers --site=NYC
      Copy to Clipboard Toggle word wrap
    • 使用 take-offline 命令使备份位置离线:

      site take-offline --cache=customers --site=NYC
      Copy to Clipboard Toggle word wrap
提示

使用 --all-caches 选项使备份位置在线,或者对所有缓存使备份位置离线。

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

6.2. 配置跨站点状态传输模式

当 Data Grid 检测到备份位置上线时,您可以将跨站点状态传输操作配置为自动进行。或者,您可以使用默认模式手动执行状态传输。

先决条件

  • 创建与 Data Grid 的 CLI 连接。

流程

  1. 使用 site 命令配置状态传输模式,如下例所示:

    • 检索当前状态传输模式。

      site state-transfer-mode get --cache=cacheName --site=NYC
      Copy to Clipboard Toggle word wrap
    • 为缓存和备份位置配置自动状态传输操作。

      site state-transfer-mode set --cache=cacheName --site=NYC --mode=AUTO
      Copy to Clipboard Toggle word wrap
提示

运行 help site 命令以获取更多信息和示例。

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

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

先决条件

  • 创建与 Data Grid 的 CLI 连接。

流程

  • 使用 site push-site-state 命令来推送状态传输,如下例所示:

    site push-site-state --cache=cacheName --site=NYC
    Copy to Clipboard Toggle word wrap
提示

使用 --all-caches 选项为所有缓存推送状态传输。

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

第 7 章 备份和恢复 Data Grid 集群

创建包含缓存条目、缓存配置、Protobuf 模式和服务器脚本的数据网格资源存档。然后,您可以在重启或迁移后使用备份存档来恢复 Data Grid Server 集群。

先决条件

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

7.1. 备份 Data Grid 集群

.zip 格式创建备份存档,您可以在 Data Grid Server 上下载或存储。

先决条件

备份存档应反映最新的集群状态。因此,您应该确保在创建备份存档前集群不再接受写入请求。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用适当的选项运行 backup create 命令,例如:

    • 使用自动生成的名称备份所有资源。

      backup create
      Copy to Clipboard Toggle word wrap
    • 备份名为 example-backup 的备份存档中的所有资源。

      backup create -n example-backup
      Copy to Clipboard Toggle word wrap
    • 将所有资源备份到服务器上的 /some/server/dir 路径。

      backup create -d /some/server/dir
      Copy to Clipboard Toggle word wrap
    • 仅备份缓存和缓存模板。

      backup create --caches=* --templates=*
      Copy to Clipboard Toggle word wrap
    • 仅备份命名 Protobuf 模式。

      backup create --proto-schemas=schema1,schema2
      Copy to Clipboard Toggle word wrap
  3. 列出服务器上的可用备份存档。

    backup ls
    Copy to Clipboard Toggle word wrap
  4. 从服务器下载 example-backup 存档。

    如果备份操作仍在进行中,该命令将等待它完成。

    backup get example-backup
    Copy to Clipboard Toggle word wrap
  5. (可选)从服务器中删除 example-backup 归档。

    backup delete example-backup
    Copy to Clipboard Toggle word wrap

7.2. 从备份归档中恢复数据网格集群

将备份存档的内容应用到 Data Grid 集群,将其恢复到备份的状态。

先决条件

  • 创建对 Data Grid CLI 本地的备份存档,或存储在 Data Grid Server 上。
  • 确保目标容器与备份存档中的容器名称匹配。如果容器名称不匹配,则无法恢复备份。

流程

  1. 创建与 Data Grid 的 CLI 连接。
  2. 使用适当的选项运行 backup restore 命令。

    • 从服务器上可访问的备份存档中恢复所有内容。

      backup restore /some/path/on/the/server
      Copy to Clipboard Toggle word wrap
    • 从本地备份存档中恢复所有内容。

      backup restore -u /some/local/path
      Copy to Clipboard Toggle word wrap
    • 仅从服务器上的备份存档中恢复缓存内容。

      backup restore /some/path/on/the/server --caches=*
      Copy to Clipboard Toggle word wrap

第 8 章 命令参考

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

提示

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

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

$ help get
Copy to Clipboard Toggle word wrap

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. ALTER(1)

8.3.1. NAME

Change - 修改数据网格服务器上的缓存配置。

8.3.2. SYNOPSIS

更改 cache ['OPTIONS'] CACHE_NAME

只有在更改与现有配置兼容时,才能使用 alter 命令修改缓存。

例如,您无法使用复制的缓存配置来修改分布式缓存。同样,如果您使用特定属性创建缓存配置,您无法修改配置来改用不同的属性。例如,尝试通过为 max-count 属性指定值来修改缓存配置,如果已设置了 max-size,则会导致无效的配置。

8.3.3. 更改缓存选项

-f, --file='FILE'
指定修改现有配置的 XML、JSON 或 YAML 格式的配置文件。与 --attribute 选项相互排斥。
--attribute='ATTRIBUTE'
指定在现有配置中修改的属性。按 tab 键以显示属性列表。必须与 --value 选项结合使用。与 --file 选项相互排斥。
--value='VALUE'
为配置属性指定一个或多个新值。使用逗号分隔多个值。必须与 --attribute 选项结合使用。

8.3.4. 示例

更改 cache mycache --file=/path/to/ mycache.json
使用 mycache.json 文件修改名为 mycache 的缓存配置。

更改 cache mycache --attribute=clustering.remote-timeout --value=5000
修改了名为 mycache 的缓存配置,以便 cluster.remote-timeout 属性的值为 '5000'。

8.3.5. 另请参阅

create (1), drop (1)

8.4. AVAILABILITY(1)

8.4.1. NAME

可用性 - 在网络分区中管理集群缓存的可用性。

8.4.2. SYNOPSIS

availability ['OPTIONS'] ['CACHE_NAME']

8.4.3. 选项

--mode='[AVAILABLE|DEGRADED_MODE]'
在使用 DENY_READ_WRITES 或 ALLOW_READS 分区处理策略时,将缓存可用性设置为 AVAILABLE 或 DEGRADED_MODE。

AVAILABLE 为网络分区中的所有节点提供缓存。DEGRADED_MODE 可防止在网络分区发生时对缓存进行读写操作。

8.4.4. 示例

可用性 cache1
获取缓存"cache1"的当前可用性。

availability --mode=AVAILABLE cache1
将缓存 'cache1' 的可用性设置为 AVAILABLE。

8.5. BACKUP(1)

8.5.1. NAME

backup - 管理容器备份创建和恢复。

8.5.2. SYNOPSIS

备份创建 ['OPTIONS']

备份删除 ['OPTIONS'] BACKUP_NAME

备份 get ['OPTIONS'] BACKUP_NAME

backup ls

备份恢复 ['OPTIONS'] BACKUP_PATH

8.5.3. 备份创建选项

-d, --dir='PATH'
指定服务器上用于创建和存储备份存档的目录。
-n, --name='NAME'
定义备份存档的名称。
--caches='cache1,cache2,…​'
列出要备份的缓存。使用 '*' 备份所有缓存。
--templates='template1,template2,…​'
列出要备份的缓存模板。使用 '*' 备份所有模板。
--counters='counter1,counter2,…​'
要备份的计数器列表。使用 '*' 来备份所有计数器。
--proto-schemas='schema1,schema2,…​'
列出要备份的 Protobuf 模式。使用 '*' 备份所有模式。
--tasks='task1,task2,…​'
列出要备份的服务器任务。使用 '*' 备份所有任务。

8.5.4. 备份 GET 选项

--no-content
不下载内容。该命令仅在备份操作完成后返回。

8.5.5. 备份恢复选项

-u,--upload
定义上传到服务器的本地备份存档的路径。
-n, --name='NAME'
定义恢复请求的名称。
--caches='cache1,cache2,…​'
列出要恢复的缓存。使用 '*' 从备份存档中恢复所有缓存。
--templates='template1,template2,…​'
列出要恢复的缓存模板。使用 '*' 从备份存档中恢复所有模板。
--counters='counter1,counter2,…​'
列出要恢复的计数器。使用 '*' 从备份存档中恢复所有计数器。
--proto-schemas='schema1,schema2,…​'
列出要恢复的 Protobuf 模式。使用 '*' 从备份存档中恢复所有模式。
--tasks='task1,task2,…​'
列出要恢复的服务器任务。使用 '*' 恢复备份存档中的所有任务。

8.5.6. 示例

backup create -n example-backup
初始备份所有容器内容,名为 example-backup

backup create -d /some/server/dir
启动所有容器内容的备份,并将其存储在位于路径 /some/server/dir 的服务器中。

backup create --cachesPROFILE --templatesProductShortName
Initiates a backup 只包括 cache 和 cache 配置资源。

backup create --proto-schemas=schema1,schema2
Initiates a backup is only the named schema resources.

backup ls
列出服务器中所有可用的备份。

备份 get example-backup
从服务器下载 example-backup 归档。如果备份操作正在进行,该命令将等待它完成。

备份恢复 /some/path/on/the/server
从服务器的备份存档中恢复所有内容。

backup restore -u /some/local/path
从上传到服务器的本地备份存档中恢复所有内容。

备份恢复 /some/path/on/the/server --cachespassthrough
只从服务器的备份存档中恢复内容。

备份恢复 /some/path/on/the/server --proto-schemas=schema1,schema2
只从服务器的备份存档中恢复命名的 schema 资源。

备份删除 example-backup
从服务器中删除 example-backup 归档。

8.5.7. 另请参阅

drop(1)

8.6. BENCHMARK (1)

8.6.1. NAME

基准 - 对缓存运行性能基准。

您可以为以下 HTTP 和 Hot Rod 协议运行性能基准: httphttpshotrodhotrods。您可以使用 URI 为基准指定协议。如果没有指定协议,则基准将使用当前 CLI 连接的 URI。

Hot Rod URI 的基准连接到整个集群。对于 HTTP URI,基准仅连接到一个节点。

对现有缓存进行基准测试性能的基准测试性能。在运行基准前,您应该创建一个带有您要测量的功能的缓存。例如,如果要评估跨站点复制的性能,您应该创建一个具有备份位置的缓存。如果要测试持久性的性能,请创建一个使用适当缓存存储的缓存。

8.6.2. SYNOPSIS

benchmark ['OPTIONS'] [uri]

8.6.3. 基准选项

-t, --threads='num'
指定要创建的线程数量。默认值为 10
--cache='cache'
命名执行基准的缓存。默认为 基准。如果缓存尚不存在,则必须在运行基准前创建缓存。
*--key-size='num'
设置密钥的大小(以字节为单位)。默认值为 16 字节。
*--value-size='num'
设置值的大小(以字节为单位)。默认值为 1000 字节。
*--keyset-size='num'
定义测试密钥集的大小,以字节为单位。默认值为 1000
--verbosity=['SILENT', 'NORMAL', 'EXTRA']
指定输出的详细程度。可能的值(从最低到最详细)是 SILENTNORMALEXTRA。默认值为 NORMAL
-c, --count='num'
指定要执行的测量迭代数量。默认值为 5
--time='time'
设置每个迭代所需的时间(以秒为单位)。默认值为 10
--warmup-count='num'
指定要执行的温迭代数量。默认值为 5
--warmup-time='time'
设置每个温迭代所需的时间(以秒为单位)。默认为 1
--mode='mode'
指定基准模式。可能的值有 Throughput,AverageTime,SampleTime,SingleShotTime, 和 All。默认为 Throughput
--time-unit='unit'
指定基准报告结果的时间单位。可能的值有 NANOSECONDSMICROSECONDSMILLISECONDSSECONDS。默认值为 MICROSECONDS

8.6.4. 示例

benchmark hotrod://localhost:11222
使用 Hot Rod 协议执行基准测试。

benchmark --value-size=10000 --cache= largecache hotrod://localhost:11222
使用 Hot Rod 协议对大小为 10000 字节的大型缓存执行基准测试。

benchmark --mode=All --threads=20
使用 20 个线程通过 HTTPS 协议执行基准测试,并包括报告中的所有模式。https://user:password@server:11222

8.7. CACHE(1)

8.7.1. NAME

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

8.7.2. SYNOPSIS

cache ['CACHE_NAME']

8.7.3. 示例

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

8.7.4. 另请参阅

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

8.8. CAS(1)

8.8.1. NAME

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

8.8.2. SYNOPSIS

cas ['OPTIONS'] ['COUNTER_NAME']

8.8.3. 选项

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

8.8.4. 示例

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

8.8.5. 另请参阅

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

8.9. CD(1)

8.9.1. NAME

cd - 导航服务器资源树。

8.9.2. 描述

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

8.9.3. SYNOPSIS

cd ['PATH']

8.9.4. 示例

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

8.9.5. 另请参阅

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

8.10. CLEARCACHE(1)

8.10.1. NAME

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

8.10.2. SYNOPSIS

clearcache ['CACHE_NAME']

8.10.3. 示例

clearcache mycache
mycache 中删除所有条目。

8.10.4. 另请参阅

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

8.11. CONFIG(1)

8.11.1. NAME

config - 管理 CLI 配置属性。

8.11.2. SYNOPSIS

config

config set 'name' 'value'

config get 'name'

config convert --outputFormat=[xml|json|yaml] [-o outputFile] [inputFile]

8.11.3. 描述

管理(列出、设置、获取)CLI 配置属性,并提供不同格式(XML、JSON、YAML)之间的配置转换。

8.11.4. 命令概要

config
列出所有设置的配置属性。
config set 'name' ['value']
设置特定属性的值。如果没有指定值,则属性没有设置。
config get 'name'
检索特定属性值。
config reset
将所有属性重置为默认值。
config convert --format=[xml|json|yaml] [-o outputFile] [inputFile]
将配置文件转换为不同的格式。

8.11.5. 常见选项

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

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

8.11.6. 转换选项

以下选项适用于 convert 命令:

-f, --format='xml|json|yaml'
指定转换的格式。
-o, --output='path'
指定输出文件的路径。如果没有指定路径,请使用标准输出(stdout)。

8.11.7. 属性

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

8.11.8. 示例

配置设置 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
设置密钥存储密码(如果需要)。

config convert -f yaml -o infinispan.yaml infinispan.xml
infinispan.xml 文件转换为 YAML,并将输出写入 infinispan.yaml 文件。

config convert -f json
将配置从标准输入转换为 JSON,并将输出写入标准输出。

8.11.9. 另请参阅

alias (1)、unalias (1)

8.12. CONNECT(1)

8.12.1. NAME

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

8.12.2. 描述

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

8.12.3. SYNOPSIS

connect ['OPTIONS'] ['SERVER_LOCATION']

8.12.4. 选项

-u, --username='USERNAME'
指定用于与 Data Grid 服务器进行身份验证的用户名。
-p, --password='PASSWORD'
指定密码。
-t, --truststore='PATH'
指定信任存储。
-s, --truststore-password='PASSWORD'
指定信任存储的密码。
-k, --keystore='PATH'
指定包含客户端证书的密钥存储。
-w, --keystore-password='PASSWORD'
指定密钥存储的密码。
--hostname-verifier='REGEX'
在连接到启用了 SSL/TLS 的服务器期间匹配主机名的正则表达式。
--trustall
信任所有证书。
--context-path='PATH'
服务器 REST 连接器的上下文路径。如果未指定,则默认为 /rest

8.12.5. 示例

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

8.12.6. 另请参阅

disconnect(1)

8.13. CONTAINER (1)

8.13.1. NAME

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

8.13.2. SYNOPSIS

container ['CONTAINER_NAME']

8.13.3. 示例

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

8.13.4. 另请参阅

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

8.14. COUNTER (1)

8.14.1. NAME

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

8.14.2. SYNOPSIS

counter ['COUNTER_NAME']

8.14.3. 示例

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

8.14.4. 另请参阅

add (1), cas (1)

8.15. CREATE(1)

8.15.1. NAME

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

8.15.2. SYNOPSIS

创建 cache ['OPTIONS'] CACHE_NAME

创建计数器 ['OPTIONS'] COUNTER_NAME

8.15.3. 创建缓存选项

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

8.15.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.15.5. 示例

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

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

8.15.6. 另请参阅

drop(1)

8.16.  CREDENTIALS(1)

8.16.1. NAME

凭证 - 管理包含 Data Grid 服务器凭证的密钥存储

8.16.2. SYNOPSIS

credentials ls

凭证添加 'alias'

凭证删除 'alias'

凭证掩码 -i iterations -s salt secret

8.16.3. 描述

在密钥存储和掩码密钥存储密码中列出、创建和删除凭据。默认情况下,命令管理服务器配置目录中的 credentials.pfx 密钥存储。

8.16.4. SYNOPSIS

credentials ls
列出密钥存储中存储的凭据别名。

添加凭证

凭证添加 'alias'
在密钥存储中添加别名和对应的凭据。

删除一个凭证

凭证删除 'alias'
从密钥存储中删除别名和对应的凭据。
凭证掩码 -i iterations -s salt 'secret'
使用掩码来混淆密钥存储密码以提高安全性。

8.16.5. 选项

-h, --help
打印命令帮助。
-s, --server-root='path-to-server-root'
指定服务器根目录的路径。默认为 server
--path='credentials.pfx'
指定凭据密钥存储的路径。默认为服务器配置目录 server/conf
-p, --password='password'
指定凭据密钥存储的密码。
-t, --type='PKCS12'
指定包含凭证的密钥存储类型。支持的类型有 PKCS12JCEKS。默认为 PKCS12

8.16.6. 凭证添加选项

-c, --credential='credential'
指定要存储的凭证。

8.16.7. 凭证掩码选项

-i, --iteration='n'
设置迭代数量。
-s, --salt='salt'
设置 salt,长度必须为 8。

8.16.8. 示例

credentials add dbpassword -c changeme -p "secret1234!"
创建新的默认凭据密钥存储(如果 尚不存在),并添加别名"dbpassword"作为"changeme"。此命令还会将 "secret1234!" 设置为凭证密钥存储的密码,它必须与服务器配置中的密码匹配: < clear-text-credential clear-text="secret1234!"/>

credentials ls -p "secret1234!"
列出默认凭据密钥存储中的所有别名。

凭证添加 ldappassword -t JCEKS -p "secret1234!"
以 JCEKS 格式创建凭据密钥存储,并添加别名"ldappassword"。这个命令会提示您输入与别名对应的密码。

凭证掩码 "secret1234!" -i 100 -s pepper99 创建凭证"secret1234!"的屏蔽表示,使用字符串 pepper99 作为 salt。

8.17. DESCRIBE(1)

8.17.1. NAME

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

8.17.2. SYNOPSIS

describe ['PATH']

8.17.3. 示例

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

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

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

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

8.17.4. 另请参阅

cd(1), ls(1)

8.18. DISCONNECT(1)

8.18.1. NAME

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

8.18.2. SYNOPSIS

disconnect

8.18.3. 示例

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

8.18.4. 另请参阅

connect(1)

8.19. DROP(1)

8.19.1. NAME

drop - 删除缓存和计数器。

8.19.2. SYNOPSIS

drop cache CACHE_NAME

drop counter COUNTER_NAME

8.19.3. 示例

drop cache mycache
删除 mycache 缓存。

drop counter cnt_a
删除 cnt_a 计数器。

8.19.4. 另请参阅

create (1), clearcache (1)

8.20. ENCODING(1)

8.20.1. NAME

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

8.20.2. 描述

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

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

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

8.20.3. SYNOPSIS

encoding ['ENCODING']

8.20.4. 示例

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

8.20.5. 另请参阅

get (1)、put (1)

8.21. GET(1)

8.21.1. NAME

get - 从缓存检索条目。

8.21.2. SYNOPSIS

get ['OPTIONS'] KEY

8.21.3. 选项

-c, --cache='NAME'
指定要检索条目的缓存。默认为当前所选的缓存。
-x, --extended
检索有关条目的扩展信息(如集群所有权)

8.21.4. 示例

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

8.21.5. 另请参阅

query (1), put (1)

8.22. HELP(1)

8.22.1. NAME

help - 打印命令的 man page。

8.22.2. SYNOPSIS

help ['COMMAND']

8.22.3. 示例

Help get
Prints the manual page for the get command。

8.22.4. 另请参阅

version(1)

8.23. INDEX(1)

8.23.1. NAME

index - 管理缓存索引。

8.23.2. SYNOPSIS

index reindex 'cache-name'

index clear 'cache-name'

index update-schema 'cache-name'

索引统计 'cache-name'

index clear-stats 'cache-name'

8.23.3. 示例

索引重新索引 mycache
Reindexes a cache。

索引清除 mycache
清除缓存
索引。

索引 update-schema mycache
更新缓存的索引模式。

索引统计 mycache
显示缓存的索引和搜索统计信息。

index clear-stats mycache
Clears indexing 和 search statistics for a cache.

8.23.4. 另请参阅

query(1)

8.24. INSTALL(1)

8.24.1. NAME

Install - 为 Data Grid Server 下载并安装工件。

8.24.2. 描述

将工件下载并安装到 server/lib 目录。您可以将工件的下载位置指定为 Maven 工件协调、URL 或本地文件路径。

下载 Maven 工件时,可选 Maven settings.xml 文件决定了远程和本地存储库的位置,以及凭证和代理配置。

如果您以 ziptar.gztgz 归档下载工件,则会提取内容。

8.24.3. SYNOPSIS

install 'artifact-1[[|algorithm]|checksum]' ['artifact-2[[|algorithm]|checksum]'…​]

8.24.4. 工件名称

工件名称可以是以下任意一种:

  • Maven 使用 groupId:artifactId:version 格式协调,如 org.postgresql:postgresql:42.3.1
  • HTTP、HTTPS 或者 FTP URL
  • 本地路径

8.24.5. 验证和验证

您可以在下载后验证工件的校验和。该算法默认为 SHA-256,但也可以是 MD -5、SHA-1SHA-256SHA-384 或 'SHA-512'。

8.24.6. PATCH 列表选项

--server-home='path/to/server'
设置服务器安装的路径。
--server-root='server'
设置相对于服务器主目录的服务器根目录。
*--maven-settings='$HOME/.m2/maven-settings.xml'
设置 Maven settings.xml 文件的路径,并在未指定时使用默认位置。
-o, --overwrite
强制覆盖 server/lib 目录中的工件。默认情况下,工件不会被覆盖,这会导致如果工件已存在,则会导致安装失败。
-v, --verbose
显示有关工件下载的详细信息。
-f, --force
强制下载远程工件,即使它们已在本地存在。
-r, --retries=num
如果下载的工件与提供的校验和不匹配,重试次数。
--clean
在下载工件前,删除 server/lib 目录的所有内容。

8.24.7. 示例

install -o org.postgresql:postgresql:42.3.1
安装 PostgreSQL JDBC 驱动程序 JAR,并在已存在时覆盖它。

安装 https://example.org/artifact.zip
下载 artifact.zip 并提取内容。

安装 https://example.org/artifact.zip|52d73f9b3611610ebbb4dca7c2ac1171218eb09891c1faba10f5f54c1d2acc13
下载 artifact.zip,验证其 SHA-256 校验和,并提取内容。

安装 https://example.org/artifact.zip|MD5|2b48d1871ee26f969d8481db94e103c2
下载 artifact.zip,验证其 MD-5 checksum,并提取内容。

8.25. LOGGING(1)

8.25.1. NAME

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

8.25.2. SYNOPSIS

logging list-loggers

日志记录 list-appenders

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

日志记录删除 LOGGER_NAME

8.25.3. 日志记录设置选项

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

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

8.25.4. 示例

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

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

8.26. LS(1)

8.26.1. NAME

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

8.26.2. SYNOPSIS

ls ['PATH']

8.26.3. 选项

-f, --format='[NAMES|VALUES|FULL]'

此选项目前仅在列出缓存时应用。

  • NAMES :仅显示密钥
  • VALUES :显示键和值
  • FULL :显示键、值和元数据
-l
这个选项仅在列出缓存时应用。-f FULL 的快捷方式。
-p, --pretty-print='[TABLE|CSV|JSON]'

使用以下布局之一打印输出:

  • TABLE :表格格式.列的大小由终端宽度决定。这是默认值。
  • CSV: 以逗号分隔的值。
  • JSON :JSON 格式。
-m,--max-items='num'
这个选项仅在列出缓存时应用。要显示的最大项目数。默认值为 -1 (无限)。

8.26.4. 示例

ls 缓存
列出可用的缓存。

ls ../
列出父资源。

ls -l --pretty-print=CSV /containers/default/caches/mycache > mycache.csv
列出缓存的内容,包括键、值和元数据,并将内容重定向到文件中。

8.26.5. 另请参阅

cd(1)

8.27. MIGRATE(1)

8.27.1. NAME

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

8.27.2. SYNOPSIS

迁移集群连接

迁移集群同步

迁移集群断开连接

migrate cluster source-connection

迁移存储

8.27.3. 描述

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

8.27.4. 命令概要

迁移集群

迁移集群连接
将目标集群连接到源集群。
迁移集群同步
同步源集群和目标集群之间的数据。
迁移集群断开连接
断开目标集群与源集群的连接。
migrate cluster source-connection
获取目标集群的连接配置。如果连接尚未建立,该命令将打印"Not Found"。

迁移存储

迁移存储
迁移存储数据。

8.27.5. 常见选项

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

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

集群连接选项

*-c, --cache*='name'::
The name of the cache to connect to the source.

*-f, --file*='FILE'::
Specifies a configuration file in JSON format, containing a single 'remote-store' element.

CLUSTER SYNCHRONIZE OPTIONS
---------------------------

*-c, --cache*='name'::
The name of the cache to synchronize.

*-b, --read-batch*='num'::
The amount of entries to process in a batch. Defaults to 10000.

*-t, --threads*='num'::
The number of threads to use. Defaults to the number of cores on the server.


CLUSTER DISCONNECT OPTIONS
Copy to Clipboard Toggle word wrap
-c, --cache='name'
与源断开连接的缓存名称。

8.27.6. 集群连接选项

-c, --cache='name'
获取连接配置的缓存名称。

8.27.7. 存储选项

*-P

-p, --properties='FILE'
包含迁移配置的属性文件的路径。
-v, --verbose
显示有关迁移过程的详细信息。

8.28. PATCH(1)

8.28.1. NAME

patch - 管理服务器补丁。

8.28.2. 描述

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

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

8.28.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.28.4. PATCH 列表选项

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

8.28.5. 补丁安装选项

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

8.28.6. PATCH DESCRIBE 选项

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

8.28.7. 补丁回滚选项

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

8.28.8. PATCH 创建选项

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

8.28.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.29. PUT(1)

8.29.1. NAME

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

8.29.2. 描述

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

8.29.3. SYNOPSIS

put ['OPTIONS'] KEY [VALUE]

8.29.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.29.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.29.6. 另请参阅

get (1)、delete (1)

8.30. QUERY (1)

8.30.1. NAME

query - 执行 Ickle 查询以匹配远程缓存中的条目。

8.30.2. SYNOPSIS

query ['OPTIONS'] QUERY_STRING

8.30.3. 选项

-c, --cache='NAME'
指定要查询的缓存。默认为当前所选的缓存。
--max-results='MAX_RESULTS'
设置要返回的最大结果数。默认值为 10
-o, --offset='OFFSET'
指定要返回的第一个结果的索引。默认值为 0

8.30.4. 示例

查询 "from org.infinispan.example.Person p,其中 p.gender = 'MALE'"
查询值在远程缓存中查找来自 Protobuf Person 实体(其中 gender datatype 为 MALE )的条目。

8.30.5. 另请参阅

index(1) schema(1)

8.31. QUIT(1)

8.31.1. NAME

quit - 退出命令行界面。

8.31.2. SYNOPSIS

quit

exitbye 是命令别名。

8.31.3. 示例

退出
结束 CLI 会话。

退出
结束 CLI 会话。

通过
终止 CLI 会话。

8.31.4. 另请参阅

disconnect(1), shutdown(1)

8.32. REBALANCE(1)

8.32.1. NAME

rebalance - 为缓存管理自动重新平衡

8.32.2. SYNOPSIS

rebalance enable ['PATH']

重新平衡禁用 ['PATH']

8.32.3. 示例

重新平衡启用
在当前上下文中启用自动重新平衡。在 root 上下文中运行此命令可为所有缓存进行重新平衡。

重新平衡启用缓存/mycache
,为名为 mycache 的缓存
启用自动重新平衡。

重新平衡禁用
在当前上下文中禁用自动重新平衡。在 root 上下文中运行此命令会禁用所有缓存的重新平衡。

重新平衡禁用缓存/mycache
为名为 mycache 的缓存
禁用自动重新平衡。

8.33. REMOVE(1)

8.33.1. NAME

remove - 从缓存中删除条目。

8.33.2. SYNOPSIS

remove KEY ['OPTIONS']

8.33.3. 选项

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

8.33.4. 示例

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

8.33.5. 另请参阅

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

8.34. RESET(1)

8.34.1. NAME

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

8.34.2. SYNOPSIS

reset ['COUNTER_NAME']

8.34.3. 示例

重置 cnt_a
重置 cnt_a 计数器。

8.34.4. 另请参阅

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

8.35. SCHEMA(1)

8.35.1. NAME

schema - 操作 Protobuf 模式。

8.35.2. SYNOPSIS

schema ls

schema upload --file=/path/to/schema.proto schema.proto

schema remove schema.proto

schema get schema.proto

8.35.3. 描述

使用 ls 管理模式、上传获得删除 子命令。

8.35.4. 命令概要

schema ls
列出服务器中安装的模式。
schema upload --file='/path/to/schema.proto' 'schema.proto'
将 ProtoBuf 模式文件上传到服务器。
schema get 'schema.proto'
显示指定模式的内容。
schema remove 'schema.proto'
从服务器中删除指定的模式。

8.35.5. 上传选项

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

8.35.6. 示例

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

8.35.7. 另请参阅

query(1)

8.36. SERVER(1)

8.36.1. NAME

服务器 - 服务器配置和状态管理.

8.36.2. 描述

server 命令描述和管理服务器端点连接器和数据源,并检索关于服务器和主机的聚合诊断报告。

报告除了配置和日志文件外,还提供有关 CPU、内存、打开文件、网络套接字和路由、线程的详细信息。

8.36.3. SYNOPSIS

服务器报告

server heap-dump [--live]

server connections ls [--global]

服务器连接器 ls

server connector describe 'connector-name'

server connector start 'connector-name'

server connector stop 'connector-name'

服务器连接器 ipfilter ls 'connector-name'

服务器连接器 ipfilter set 'connector-name' --rules='[ACCEPT|REJECT]/cidr',…​

server connector ipfilter clear 'connector-name'

服务器数据源 ls

服务器数据源测试 'datasource-name'

server principals ls

server aclcache flush

8.36.4. 服务器连接器 IPFILTER 选项

--rules='[ACCEPT|REJECT]/cidr',…​
一个或多个 IP 过滤规则。

8.36.5. 示例

服务器报告
获取服务器报告,包括网络、线程、内存等信息。

服务器 heap-dump
在服务器数据目录中生成 JVM 堆转储,返回生成的文件的名称。

服务器连接 ls
列出所有与服务器的活跃客户端连接。--global 参数将从所有群集成员返回连接。

服务器连接器 ls
列出服务器中所有可用连接器。

服务器连接器描述 endpoint-default
显示有关指定连接器的信息,包括主机、端口、本地和全局连接、IP 过滤规则。

服务器连接器停止 my-hotrod-connector
停止连接器在集群中丢弃所有建立的连接。如果尝试停止处理请求的连接器,则此命令将被拒绝。

服务器连接器启动 my-hotrod-connector
启动连接器,以便它可以接受集群中的连接。

服务器连接器 ipfilter ls my-hotrod-connector
列出集群中连接器上活跃的所有 IP 过滤规则。

服务器连接器 ipfilter 设置 my-hotrod-connector --rules=ACCEPT/192.168.0.0/16,REJECT/10.0.0.0/8 在集群中的连接器上设置 IP 过滤规则。替换所有现有的规则。如果其中一个拒绝规则与调用它的连接的地址匹配,则此命令将被拒绝。

服务器连接器 ipfilter 清除 my-hotrod-connector
在集群间删除连接器中的所有 IP 过滤规则。

服务器数据源 ls
列出服务器上所有可用的数据源。

服务器数据源测试 my-datasource
在数据源上执行测试连接。

服务器主体 ls
列出服务器已知的主体。

server aclcache flush
会将安全缓存群集化化。

8.37. SHUTDOWN(1)

8.37.1. NAME

shutdown - 停止服务器实例和集群。

8.37.2. SYNOPSIS

关闭服务器 ['SERVERS']

关闭集群

关闭容器

8.37.3. 示例

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

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

关闭集群
会在存储集群状态后停止集群中的所有节点,并在有缓存存储时保留条目。

关闭容器
会在不终止服务器进程的情况下停止数据容器。如果有缓存存储,请存储集群状态并保留条目。服务器实例会使用活跃的端点和集群保持运行。对容器资源的 REST 调用将导致 503 服务不可用响应。shutdown 容器 命令适用于自动化资源生命周期管理的环境,如 Kubernetes。对于自我管理的环境,您应该使用 shutdown servershutdown cluster 命令停止服务器。

8.37.4. 另请参阅

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

8.38. SITE(1)

8.38.1. NAME

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

8.38.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']

site state-transfer-mode get|set ['OPTIONS']

站点名称

站点视图

site is-relay-node

site relay-nodes

8.38.3. 选项

-c, --cache='CACHE_NAME'
指定缓存。
-a, --all-caches
将命令应用到所有缓存。
-s, --site='SITE_NAME'
指定备份位置。

8.38.4. STATE TRANSFER 模式选项

--mode='MODE'
设置状态传输模式。值为 MANUAL (默认)或 AUTO

8.38.5. 示例

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

站点状态 --all-caches
返回所有带有备份的缓存备份位置的状态。

站点状态 --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 状态操作的状态。

站点 state-transfer-mode get --cache=myCache --site=NYC
mycache 的状态传输模式检索到 NYC

站点 state-transfer-mode set --cache=myCache --site=NYC --mode=AUTO
mycache 的自动状态传输配置为 NYC

站点名称
返回本地站点的名称。如果没有配置跨站点复制,则本地站点的名称始终为"本地"。

如果没有配置跨 站点复制,则站点视图
会返回所有站点的名称列表或空列表("[]")。

如果节点在集群间处理 RELAY 信息,则 site is-relay-node
returns true。

站点中继
按其逻辑名称返回中继节点列表。

8.39. STATS(1)

8.39.1. NAME

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

8.39.2. SYNOPSIS

stats ['PATH']

8.39.3. 示例

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

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

8.39.4. 另请参阅

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

8.40. TASK(1)

8.40.1. NAME

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

8.40.2. SYNOPSIS

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

task exec ['TASK_NAME']

8.40.3. 示例

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

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

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

8.40.4. 选项

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

8.40.5. 另请参阅

ls(1)

8.41. UNALIAS(1)

8.41.1. NAME

unalias - 删除别名。

8.41.2. SYNOPSIS

Unalias 'ALIAS-NAME'

8.41.3. 示例

unalias q
删除 q 别名。

8.41.4. 另请参阅

config (1), alias (1)

8.42. USER(1)

8.42.1. NAME

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

8.42.2. SYNOPSIS

user ls

user create 'username'

user describe 'username'

用户删除 'username'

用户密码 "username"

用户组 'username'

用户 encrypt-all

user roles ls 'principal'

user roles grant --roles='role1'[,'role2'…​] 'principal'

user roles deny --roles='role1'[,'role2'…​] 'principal'

user roles create --description='custom description' --permissions='perm1'[,'perm2'…​] 'role'

User roles update --permissions='perm1'[,'perm2'…​] --description='updated description' 'role'

用户角色删除 'role'

用户角色描述 "角色"

8.42.3. 描述

使用 ls创建描述删除密码组和 encrypt-all 子命令来管理属性域中的用户。在使用集群角色映射程序进行授权时,使用 roles 子命令列出并修改主体到角色映射。

8.42.4. 命令概要

user ls
列出属性文件中存在的用户或组。
user create 'username'
在提示输入密码后创建用户。
user describe 'username'
描述用户,包括其用户名、域及其所属的任何组。
用户删除 'username'
从属性文件中删除指定用户。
用户密码 "username"
更改用户的密码。
用户组 'username'
设置用户所属的组。
用户 encrypt-all
加密纯文本用户属性文件中的所有密码。
user roles ls 'principal'
列出指定主体(用户或组)的所有角色。
user roles grant --roles='role1'[,'role2'…​] 'principal'
将一个或多个角色授予主体。
user roles deny --roles='role1'[,'role2'…​] 'principal'
拒绝一个或多个角色到主体。
User roles create --permissions='perm1'[,'perm2'…​] 'role'
创建具有指定权限的新角色。
用户角色删除 'role'
删除现有的角色。
用户角色描述 "角色"
描述现有角色。

8.42.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.42.6. 用户创建/修改选项

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

8.42.7. USER LS 选项

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

8.42.8. 用户 ENCRYPT-ALL 选项

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

8.42.9. 用户角色选项

-p,--permissions
指定以下一个或多个权限:LIFECYCLE ,READ,WRITE,EXEC,LISTEN,BULK_READ,BULK_WRITE,ADMIN,CREATE,MONITOR, ALL ,ALL,ALL_READ,ALL_WRITE

8.43. VERSION (1)

8.43.1. NAME

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

8.43.2. SYNOPSIS

version

8.43.3. 示例

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

8.43.4. 另请参阅

help(1)

法律通告

Copyright © 2024 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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

Theme

© 2025 Red Hat