使用 Data Grid 命令行界面


Red Hat Data Grid 8.3

使用 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 用法,如创建用户、连接到 Data Grid 和导航资源。

1.1. 创建和修改数据仓库用户

添加 Data Grid 用户凭证并分配控制对数据的访问权限的权限。

Data Grid 服务器安装使用属性域为 Hot Rod 和 REST 端点验证用户。这意味着您需要至少创建一个用户,然后才能访问 Data Grid。

默认情况下,用户还需要具有访问缓存和与 Data Grid 资源交互的权限的角色。您可以单独为用户分配角色,或者将用户添加到具有角色权限的组中。

您可以在 Data Grid 命令行界面(CLI)中创建用户并分配角色。

提示

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

1.1.1. 添加凭证

您需要一个 admin 用户来访问 Data Grid 控制台,并对 Data Grid 环境进行完全控制。因此,您应该在第一次添加凭据时创建具有 admin 权限的用户。

流程

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

    • 添加分配给 admin 组的用户。

      bin/cli.sh user create myuser -p changeme -g admin
      Copy to Clipboard Toggle word wrap
    • 使用隐式授权 获取管理员权限。

      bin/cli.sh user create admin -p changeme
      Copy to Clipboard Toggle word wrap
  3. 使用任何文本编辑器打开 user.propertiesgroups.properties,以验证用户和组。

    $ cat server/conf/users.properties
    
    #$REALM_NAME=default$
    #$ALGORITHM=encrypted$
    myuser=scram-sha-1\:BYGcIAwvf6b...
    
    $ cat server/conf/groups.properties
    
    myuser=admin
    Copy to Clipboard Toggle word wrap

1.1.2. 为用户分配角色

为用户分配角色分配给用户,以便他们具有访问数据和修改数据平面资源的正确权限。

流程

  1. 使用 admin 用户启动 CLI 会话。

    $ bin/cli.sh
    Copy to Clipboard Toggle word wrap
  2. deployer 角色分配给 "katie"。

    [//containers/default]> user roles grant --roles=deployer katie
    Copy to Clipboard Toggle word wrap
  3. 列出"katie"的角色。

    [//containers/default]> user roles ls katie
    ["deployer"]
    Copy to Clipboard Toggle word wrap

1.1.3. 将用户添加到组中

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

流程

  1. 使用 admin 用户启动 CLI 会话。
  2. 使用 user create 命令创建组。

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

      在属性域中,组是需要用户名和密码的特殊用户类型。

      [//containers/default]> user create --groups=developers developers -p changeme
      Copy to Clipboard Toggle word wrap
  3. 列出组。

    [//containers/default]> user ls --groups
    ["developers"]
    Copy to Clipboard Toggle word wrap
  4. 将应用程序 角色分配给 "developers" 组。

    [//containers/default]> user roles grant --roles=application developers
    Copy to Clipboard Toggle word wrap
  5. 列出 "developers" 组的角色。

    [//containers/default]> user roles ls developers
    ["application"]
    Copy to Clipboard Toggle word wrap
  6. 根据需要,将现有用户(一次)添加到组中。

    [//containers/default]> user groups john --groups=developers
    Copy to Clipboard Toggle word wrap

1.1.4. 用户角色和权限

Data Grid 包括一组默认角色,允许用户具有访问数据以及与 Data Grid 资源交互权限的用户。

ClusterRoleMapper 是 Data Grid 用来将安全主体与授权角色关联的默认机制。

重要

ClusterRoleMapper 将主体名称与角色名称匹配。名为 admin 的用户会自动获得 admin 权限,名为 deployer 的用户获取 部署器 权限等。

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 服务器

建立与 Data Grid 的 CLI 连接。

先决条件

添加用户凭证,并且至少有一个正在运行的 Data Grid 服务器实例。

流程

  1. $114G_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 的 Data Grid Server:

      [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

      此命令将集群状态保存到集群中的每个节点 的数据 文件夹。如果使用缓存存储,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 server 命令关闭集群节点,您必须按照相反的顺序重启每个服务器。
例如,如果您关闭 server1,然后关闭 server2,则应当首先启动 server2,然后启动 server1

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

第 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. 使用 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"/>
  </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"
      }
    },
    "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"
  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"/>
  </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"
      }
    },
    "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"
  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:13.0 https://infinispan.org/schemas/infinispan-config-13.0.xsd
                          urn:infinispan:server:13.0 https://infinispan.org/schemas/infinispan-server-13.0.xsd"
      xmlns="urn:infinispan:config:13.0"
      xmlns:server="urn:infinispan:server:13.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

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

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

2.2. 修改 Data Grid 缓存配置

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

先决条件

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

流程

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

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

      提示

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

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

    describe caches/mycache
    Copy to Clipboard Toggle word wrap

2.3. 添加缓存条目

在数据容器中创建 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

有关 重新平衡 命令的更多信息,请运行 help rebalance

第 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
提示

使用 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
  } ]
}
Copy to Clipboard Toggle word wrap

第 4 章 配置 Data Grid CLI

为 Data Grid CLI 定义配置属性。

4.1. 设置 Data Grid CLI 属性和持久性存储

配置 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& gt; for basic authentication。
    • 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 < alias>=<command> 命令创建 别名。

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

    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. 信任数据平面服务器连接

保护 Data Grid CLI 连接到使用 SSL/TLS 证书的 Data Grid 服务器。如果您创建密钥存储作为 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. 根据需要定义密钥存储密码,如下所示:

    bin/cli.sh config set truststore-password secret
    Copy to Clipboard Toggle word wrap
  3. 验证您的 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. 管理备份位置,如下所示:

    • 使用 put -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 章 备份和恢复数据中心集群

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

先决条件

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

7.1. 备份数据中心集群

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

先决条件

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

流程

  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 服务器上。
  • 确保目标容器与备份存档中的容器名称匹配。如果容器名称不匹配,则无法恢复备份。

流程

  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 - 使用任意值递增和拒绝计数器。

8.1.2. SYNOPSIS

add ['OPTIONS'] ['COUNTER_NAME']

8.1.3. 选项

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

8.1.4. 示例

添加 --delta=10 cnt_a
cnt_a 的值包含 10

添加 --delta=-5 cnt_a
宣布 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 作为 exit 命令的别名。

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

8.2.4. 另请参阅

config(1), unalias(1)

8.3. ALTER(1)

8.3.1. NAME

Changed - 修改 Data Grid 服务器上缓存的配置。

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'
指定 configuration 属性的新值。必须与 --attribute 选项结合使用。

8.3.4. 示例

更改 cache mycache --file=/path/to/ mycache.json
使用 mycache 文件修改名为 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. 示例

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

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

8.5. BACKUP(1)

8.5.1. NAME

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

8.5.2. SYNOPSIS

backup create ['OPTIONS']

backup delete ['OPTIONS'] BACKUP_NAME

备份 get ['OPTIONS'] BACKUP_NAME

Backup ls

备份 restore ['OPTIONS'] BACKUP_PATH

8.5.3. 备份创建选项

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

8.5.4. 备份获取选项

--no-content
不下载内容。只有在备份操作完成后,命令才会返回。

8.5.5. 备份恢复选项

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

8.5.6. 示例

backup create -n example-backup
使用名称 example-backup 初始化所有容器内容的备份。

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

backup create --caches= the --templates= the
启动仅包含缓存和缓存配置资源的备份。

backup create --proto-schemas=schema1,schema2
启动仅包含 named 模式资源的备份。

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

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

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

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

备份恢复 /some/path/on/the/server --caches=114
仅从服务器上的备份存档缓存内容。

备份恢复 /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 协议运行性能基准: httphttps热和热点您可以使用 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'
定义 test 键集合的大小(以字节为单位)。默认值为 1000
--verbosity=['SILENT', 'NORMAL', 'EXTRA']
指定输出的详细程度。可能的值(从最少到最详细)是 SILENTDSLEXTRA。默认值为 IANA
-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. 示例

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

基准 --value-size=10000 --cache= largecache hotrod://localhost:11222
使用测试值(以 10000 字节)对大型缓存缓存执行一个基准测试测试。

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

8.7. CACHE(1)

8.7.1. NAME

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

8.7.2. SYNOPSIS

cache ['CACHE_NAME']

8.7.3. 示例

缓存 mycache
选择 mycache,与使用 cd cache/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. 示例

cas --expect=10 --value=20 cnt_a
只有在当前值设为 10时,才会将 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), remove(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. 描述

管理(list、set、get) CLI 配置属性,并提供不同格式之间的配置转换(XML、JSON、YAML)

8.11.4. 命令合成

config
列出设置的所有配置属性。
config set 'name' ['value']
设置特定属性的值。如果没有指定值,则不会设置属性。
config get 'name'
检索特定属性值。
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
指定用于访问密钥存储的密码。

8.11.8. 示例

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

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

配置设置 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 - 连接到正在运行的数据中心服务器。

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'
指定密码。

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

counter cnt_a
Selects cnt_a,与使用 cd 计数器/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'
指定配置模板。使用 tab 自动完成功能来查看可用的模板。
-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'

8.16.3. 描述

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

8.16.4. SYNOPSIS

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

添加凭证

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

删除一个凭证

凭证删除 'alias'
从密钥存储中删除别名和对应的凭据。

8.16.5. 选项

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

8.16.6. 凭证添加选项

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

8.16.7. 示例

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

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

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

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

丢弃计数器 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

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

8.20.2. 描述

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

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

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

8.20.3. SYNOPSIS

encoding ['ENCODING']

8.20.4. 示例

编码应用程序/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'
指定要从中检索条目的缓存。默认为当前所选缓存。

8.21.4. 示例

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

8.21.5. 另请参阅

query(1), put(1)

8.22. HELP(1)

8.22.1. NAME

help - 打印命令的手册页。

8.22.2. SYNOPSIS

help ['COMMAND']

8.22.3. 示例

help get
打印 get 命令的手册页。

8.22.4. 另请参阅

version(1)

8.23. LOGGING(1)

8.23.1. NAME

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

8.23.2. SYNOPSIS

Logging list-loggers

logging list-appenders

Logging set ['OPTIONS'] [LOGGER_NAME]

Logging remove LOGGER_NAME

8.23.3. 日志记录设置选项

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

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

8.23.4. 示例

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

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

8.24. LS(1)

8.24.1. NAME

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

8.24.2. SYNOPSIS

ls ['PATH']

8.24.3. 示例

ls 缓存
列表可用缓存。

ls ../
列出父资源。

8.24.4. 另请参阅

cd(1)

8.25. MIGRATE (1)

8.25.1. NAME

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

8.25.2. SYNOPSIS

迁移集群连接

迁移集群同步

迁移集群断开连接

迁移集群 source-connection

8.25.3. 描述

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

8.25.4. 命令合成

迁移集群

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

8.25.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.25.6. 集群连接选项

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

8.26. PATCH(1)

8.26.1. NAME

Patch - 管理服务器补丁。

8.26.2. 描述

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

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

8.26.3. SYNOPSIS

Patch ls

补丁安装 'patch-file'

patch describe 'patch-file'

补丁回滚

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

8.26.4. 补丁列表选项

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

8.26.5. 补丁安装选项

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

8.26.6. PATCH DESCRIBE OPTIONS

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

8.26.7. 补丁回滚选项

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

8.26.8. PATCH CREATE 选项

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

8.26.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.27. PUT(1)

8.27.1. NAME

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

8.27.2. 描述

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

8.27.3. SYNOPSIS

put ['OPTIONS'] KEY [VALUE]

8.27.4. 选项

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

8.27.5. 示例

put -c mycache hello world
hello 键添加值为 worldmycache 缓存。

put -c mycache -f myfile -i 500114
添加带有 myfile 内容值的 Tailoring 键。另外,设置最大空闲为 500 秒。

8.27.6. 另请参阅

get(1), remove(1)

8.28. QUERY(1)

8.28.1. NAME

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

8.28.2. SYNOPSIS

query ['OPTIONS'] QUERY_STRING

8.28.3. 选项

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

8.28.4. 示例

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

8.28.5. 另请参阅

schema(1)

8.29. QUIT(1)

8.29.1. NAME

exit - 退出命令行界面。

8.29.2. SYNOPSIS

quit

exitbye 是命令别名。

8.29.3. 示例

退出
结束 CLI 会话。

退出
结束 CLI 会话。


结束 CLI 会话。

8.29.4. 另请参阅

disconnect(1), shutdown(1)

8.30. REBALANCE (1)

8.30.1. NAME

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

8.30.2. SYNOPSIS

rebalance enable ['PATH']

重新平衡禁用 ['PATH']

8.30.3. 示例

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

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

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

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

8.31. REMOVE(1)

8.31.1. NAME

remove - 从缓存中删除条目。

8.31.2. SYNOPSIS

remove KEY ['OPTIONS']

8.31.3. 选项

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

8.31.4. 示例

删除 --cache=mycache the
mycache 缓存中删除
sVirt 条目。

8.31.5. 另请参阅

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

8.32. RESET(1)

8.32.1. NAME

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

8.32.2. SYNOPSIS

reset ['COUNTER_NAME']

8.32.3. 示例

重置 cnt_a
会重新设置 cnt_a 计数器。

8.32.4. 另请参阅

add(1), cas(1), drop(1)

8.33. SCHEMA(1)

8.33.1. NAME

schema - 上传和注册 protobuf 模式。

8.33.2. SYNOPSIS

schema ['OPTIONS'] SCHEMA_NAME

8.33.3. 选项

-u,--upload='FILE'
使用给定名称将文件上传为 protobuf 模式。

8.33.4. 示例

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

8.33.5. 另请参阅

query(1)

8.34. SERVER (1)

8.34.1. NAME

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

8.34.2. 描述

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

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

8.34.3. SYNOPSIS

服务器报告

服务器连接器 ls

服务器连接器描述了 'connector-name'

服务器连接器启动 'connector-name'

服务器连接器停止 'connector-name'

server connector ipfilter ls 'connector-name'

server connector ipfilter set 'connector-name' --rules='[ACCEPT|REJECT]/cidr',…​

server connector ipfilter clear 'connector-name'

服务器数据源 ls

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

8.34.4. 服务器连接器 IPFILTER 选项

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

8.34.5. 示例

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

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

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

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

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

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

服务器连接器 ipfilter set 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
在数据源上执行测试连接。

8.35. SHUTDOWN(1)

8.35.1. NAME

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

8.35.2. SYNOPSIS

关闭服务器 ['SERVERS']

关闭集群

关闭容器

8.35.3. 示例

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

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

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

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

8.35.4. 另请参阅

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

8.36. SITE (1)

8.36.1. NAME

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

8.36.2. SYNOPSIS

站点状态 ['OPTIONS']

site bring-online ['OPTIONS']

站点关闭 [ '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

站点中继节点

8.36.3. 选项

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

8.36.4. 状态传输模式选项

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

8.36.5. 示例

站点状态 --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 离线。

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

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

site cancel-push-state --cache=mycache --site=NYC
取消将 mycache 备份到 NYC 的操作。

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

站点 clear-push-state-status --cache=myCache
清除 mycache 的推送状态操作的状态。

站点 state-transfer-mode get --cache=myCache --site=NYC
Retrieves the state transfer mode for mycache to NYC

站点 state-transfer-mode set --cache=myCache --site=NYC --mode=AUTO
mycache 配置为 NYC

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

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

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

站点中继节点
通过其逻辑名称返回转发节点列表。

8.37. STATS(1)

8.37.1. NAME

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

8.37.2. SYNOPSIS

stats ['PATH']

8.37.3. 示例

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

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

8.37.4. 另请参阅

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

8.38. TASK (1)

8.38.1. NAME

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

8.38.2. SYNOPSIS

task upload --file='script' 'TASK_NAME'

task exec ['TASK_NAME']

8.38.3. 示例

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

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

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

8.38.4. 选项

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

8.38.5. 另请参阅

ls(1)

8.39. UNALIAS (1)

8.39.1. NAME

Unalias - 删除别名。

8.39.2. SYNOPSIS

Unalias 'ALIAS-NAME'

8.39.3. 示例

Unalias q
删除 q 别名。

8.39.4. 另请参阅

config(1), alias(1)

8.40. USER(1)

8.40.1. NAME

user - 在属性安全域中管理数据仓库用户。

8.40.2. SYNOPSIS

User ls

User create 'username'

user describe 'username'

用户删除 'username'

用户密码 'username'

用户组 'username'

用户 encrypt-all

用户角色 ls 'principal'

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

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

8.40.3. 描述

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

8.40.4. 命令合成

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

8.40.5. 常用选项

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

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

8.40.6. 用户创建/修改选项

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

8.40.7. 用户 LS 选项

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

8.40.8. 用户加密所有选项

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

8.41. VERSION (1)

8.41.1. NAME

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

8.41.2. SYNOPSIS

version

8.41.3. 示例

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

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

關於紅帽

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

Theme

© 2026 Red Hat