如何使用 GFSH 连接点对点环境?

How to use GFSH to connect peer to peer environment?

我是 运行 我的应用程序中的 Gemfire HTTP 会话管理模型作为 WebSphere 上的 P2P。我可以在 WAS 上看到会话日志。但是,我找不到从我的桌面通过 gfsh 连接它的方法。我正在使用没有定位器的默认设置。我想监控 Gemfire 状态,如何?

Cache_Peer.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE cache PUBLIC
  "-//GemStone Systems, Inc.//GemFire Declarative Caching 6.5//EN"
  "http://www.gemstone.com/dtd/cache6_6.dtd">

<cache>
   <!-- This is the definition of the default session region -->
<region name="gemfire_modules_sessions">
<region-attributes scope="distributed-ack" enable-gateway="false" data-policy="replicate" statistics-enabled="false">
  </region-attributes>
  </region>
 </cache>

默认情况下,客户端-服务器环境中的定位器是 JMX 管理器。在 p2p 设置中,您需要在其中一台服务器中启用 JMX 管理器。您可以通过设置 GemFire 属性来做到这一点:jmx-manager-enable=true 和 jmx-manager-start=true。也可以有多个 JMX 管理器。如果您的 p2p 设置仅包含 2 个服务器,那么两个都是 JMX 管理器就可以了。

正如 Jens 所提到的,Locator 默认是一个 JMX 管理器。任何定位器在启动时都可以成为 JMX 管理器。启动定位器时,如果在分布式系统中未检测到其他 JMX 管理器,则定位器会自动启动一个。如果启动第二个定位器,它将检测当前的 JMX 管理器并且不会启动另一个 JMX 管理器,除非第二个定位器的 gemfire.jmx-manager-start 属性 设置为 true。

要将任何其他成员(p2p 服务器)转变为 JMX 管理器,请在服务器的 gemfire.properties 文件中设置 jmx-manager=truejmx-manager-start=true

要在命令行上将成员作为 JMX 管理器节点启动,请提供 --J=-Dgemfire.jmx-manager-start=true--J=-Dgemfire.jmx-manager=true 作为启动服务器命令的参数。

例如,在 gfsh 命令行上将服务器作为 JMX 管理器启动:

gfsh>start server --name=<server-name> --J=-Dgemfire.jmx-manager=true \
--J=-Dgemfire.jmx-manager-start=true

参考http://gemfire80.docs.pivotal.io/7.0.2/userguide/index.html#managing/management/jmx_manager_operations.html了解更多详情。

您可以使用来自 gfsh 的 connect 命令,它连接到 jmx 管理器。

如果您有定位器,则使用 connect --locator=host[port] 命令连接它,jmx-manager 会自动在定位器上启动。但是,如果您没有定位器,则需要在服务器上显式启动 jmx-manager 并使用 connect --jmx-manager=host[port] 命令连接它。

参考http://gemfire.docs.pivotal.io/latest/userguide/index.html#tools_modules/gfsh/command-pages/connect.html了解更多详情。

如果 Gemfire 集群 运行 在防火墙后面,则使用 HTTP 连接,参考 http://gemfire.docs.pivotal.io/latest/userguide/index.html#deploying/gfsh/gfsh_remote.html