1.9. 关闭 Data Grid 服务器
停止单独运行的服务器,或者安全地关闭集群。
流程
- 创建与 Data Grid 的 CLI 连接。
使用以下方法之一关闭 Data Grid 服务器:
使用
shutdown cluster
命令停止集群中的所有节点,例如:shutdown cluster
此命令将集群状态保存到集群中每个节点的
data
文件夹。如果使用缓存存储,shutdown cluster
命令也会保留缓存中的所有数据。使用
shutdown server
命令和服务器主机名停止单个服务器实例,例如:shutdown server <my_server01>
shutdown server
命令不会等待重新平衡操作完成,如果同时指定了多个主机名,这可能会导致数据丢失。
有关使用 命令的更多详细信息,运行 help shutdown
。
验证
在关闭服务器时,Data Grid 会记录以下信息:
ISPN080002: Data Grid Server stopping ISPN000080: Disconnecting JGroups channel cluster ISPN000390: Persisted state, version=<$version> timestamp=YYYY-MM-DDTHH:MM:SS ISPN080003: Data Grid Server stopped
1.9.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
。但是,以相反顺序重启集群节点不会完全阻止数据丢失和过时的条目。