启动和关闭Geode
确定正确的启动和关闭过程,并编写启动和关闭脚本。
精心设计的启动和停止系统的程序可以加快启动速度并保护您的数据。 启动和停止所需的过程包括服务器和定位器进程以及您的其他Geode应用程序,包括客户端。您使用的过程部分取决于系统的配置以及系统进程之间的依赖关系。
使用以下准则创建启动和关闭过程和脚本。其中一些说明使用gfsh。
启动你的系统
启动Geode系统时,您应遵循某些订购指南。
在启动客户端应用程序之前启动服务器。在每个群集中,请遵循以下成员启动准则:
- 首先启动定位器。有关定位器启动命令的示例,请参阅运行Geode定位器进程。
- 在其余进程之前启动缓存服务器,除非实现要求在其之前启动其他进程。有关服务器启动命令的示例,请参阅运行Geode服务器进程。
- 如果您的集群同时使用持久性复制和非持久性复制区域,则应在启动非持久性区域之前并行启动所有持久性复制成员。这样,持久成员不会延迟其他持久成员使用以后的数据启动。
- 对于包含持久性区域的系统,请参阅“ 启动并关闭磁盘存储”。
- 如果您正在运行生产者进程和使用者或事件侦听器进程,请首先启动使用者。这可确保消费者和听众不会错过任何通知或更新。
-
如果要同时启动定位器和对等成员,则可以在进程启动时使用
locator-wait-time属性(以秒为单位)。此超时允许对等方在尝试加入群集之前等待定位器完成启动。如果已将进程配置为等待定位器启动,则会记录信息级消息GemFire startup was unable to contact a locator. Waiting for one to start. Configured locators are frodo[12345],pippin[12345].然后,该进程将休眠一秒钟并重试,直到它连接或指定的秒数
locator-wait-time已经过去。默认情况下,locator-wait-time设置为零意味着在启动时无法连接到定位器的进程将引发异常。
注意: 您可以选择覆盖关闭单个进程的默认超时期限。必须在成员启动期间指定此覆盖设置。有关详细信息,请参阅关闭系统
在磁盘上丢失数据后启动
此信息与Geode磁盘存储文件的灾难性丢失有关。如果丢失磁盘存储文件,则下一次启动可能会挂起,等待丢失的磁盘存储重新联机。如果系统在启动时挂起,请使用该gfsh命令show missing-disk-store列出缺少的磁盘存储,并在需要时撤消丢失的磁盘存储,以便系统启动完成。您必须使用磁盘存储ID来撤销磁盘存储。这些是两个命令:
gfsh>show missing-disk-stores
Disk Store ID | Host | Directory
------------------------------------ | --------- | -------------------------------------
60399215-532b-406f-b81f-9b5bd8d1b55a | excalibur | /usr/local/gemfire/deploy/disk_store1
gfsh>revoke missing-disk-store --id=60399215-532b-406f-b81f-9b5bd8d1b55a
注意: 此gfsh命令要求您通过JMX Manager节点连接到群集。
关闭系统
使用gfsh shutdown命令或通过一次关闭一个成员来关闭Geode系统
使用shutdown命令
如果使用持久性区域(成员将数据持久保存到磁盘),则应使用该gfsh shutdown命令以有序的方式停止正在运行的系统。此命令在关闭之前同步持久分区区域,这使得集群的下一次启动尽可能高效。
如果可能,所有成员应在关闭之前运行,以便进行同步。使用以下gfsh命令关闭系统:
gfsh>shutdown
默认情况下,shutdown命令仅关闭数据节点。如果要关闭所有节点(包括定位器),请指定--include-locators=true参数。例如:
gfsh>shutdown --include-locators=true
这将逐个关闭所有定位器,最后关闭管理器。
要在宽限期后关闭所有数据成员,请指定超时选项(以秒为单位)。
<span style="color:#333333"><code>gfsh>shutdown --time-out=60</code></span>
gfsh>shutdown --time-out=60
要在宽限期后关闭包括定位器在内的所有成员,请指定超时选项(以秒为单位)。
gfsh>shutdown --include-locators=true --time-out=60
单独关闭系统成员
如果您不使用持久性区域,则可以按照与启动相反的顺序关闭每个成员来关闭群集。(有关成员启动的建议顺序,请参阅启动系统。)
根据成员的类型关闭集群成员。例如,使用以下机制关闭成员:
- 使用适当的机制关闭群集中运行的任何与Geode连接的客户端应用程序。
-
关闭所有缓存服务器。要关闭服务器,请发出以下
gfsh命令: -
gfsh>stop server --name=<...>或者
gfsh>stop server --dir=<server_working_dir> -
关闭任何定位器。要关闭定位器,请发出以下
gfsh命令:gfsh>stop locator --name=<...>或者
gfsh>stop locator --dir=<locator_working_dir> -
kill -9在正常情况下,请勿使用命令行关闭服务器。特别是在具有少量成员的系统上,使用akill而不是agfsh stop会导致分区检测机制将系统置于最终状态,该状态将永远等待重新连接到被杀死的服务器,并且将无法重新启动被杀死的服务器服务器。如果kill命令出现是摆脱服务器系统的唯一方法,那么集群或使用的kill所有进程kill -INT都将允许有序关闭进程。
系统成员关闭行为的选项
该DISCONNECT_WAIT命令行参数设置为在关机过程中的每个单独的步骤中的最大时间。如果任何步骤花费的时间超过指定的数量,则强制结束。每个操作都给出此宽限期,因此缓存成员关闭的总时间长度取决于操作数和DISCONNECT_WAIT设置。在关机过程中,Geode会生成以下消息:
Disconnect listener still running
该DISCONNECT_WAIT默认值是10000毫秒。
要更改它,请在用于成员启动的Java命令行上设置此系统属性。例如:
gfsh>start server --J=-DDistributionManager.DISCONNECT_WAIT=<milliseconds>
每个进程可以有不同的DISCONNECT_WAIT设置。
本文围绕Geode系统的启动和关闭展开,介绍了启动系统时的顺序准则,如先启动定位器、缓存服务器等;还提及磁盘数据丢失后的启动方法。在关闭系统方面,说明了使用shutdown命令和单独关闭成员的方式,以及系统成员关闭行为的选项设置。
4112

被折叠的 条评论
为什么被折叠?



