Apache Geode 启动和关闭你的系统

        确定正确的启动和关机过程,并写下你的启动和关机脚本。

        被良好设计过的启动和关闭系统的过程可以快束启动并保护你的数据。你需要启动和停止的进程包括服务器和定位器的进程还有你的其它Geode应用,包括客户端。你使用的过程部份取决于你的系统配置和你的系统进程之间的依赖。

      使用如下指南创建启动和关闭过程和脚本。这些指令中的部份使用了gfsh(Geode SHell).

启动你的系统

         当你启动你的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被设置为0,意思是如果一个进程不能在启动前接到定位器将会抛出异常。

注意:你可以为关闭单独进程可选地覆盖默认的超时周期。这种覆盖设置必须在成员启动期间指定。查看《关闭系统》获取详细信息。

在磁盘丢失数据后启动

        该信息属于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管理器连接到了分布式系统中。

关闭系统

     通过使用gfsh关闭命令或是关闭每次关闭一个独立的成员来关闭你的Geode系统。

使用关闭命令

     如果你正在使用持久化区域,(成员将保存数据到磁盘上),你应用使用gfsh shutdown命令以有序的方式来停止运行着的系统。这个命令在关闭前同步持久化分区区域,它可以使分布式系统在下次启动前尽可能的高效。

      如果可能,在你它闭它们之前所有的成员都应该在运行着的以便可以让同步进行。使用如下gfsh命令来停止系统:

gfsh>shutdown
 默认情况下,关闭命令只会关闭数据节点,如果你想关闭所有的节点包括定位器,指定 --include-locators=true参数。例如:
gfsh>shutdown --include-locators=true
 

这会一次关闭所有的定位器,最后关闭管理器。

在一定宽限期内关闭所有成员,指定一个超时选项(秒)。

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>
 

关闭系统成员的可选项

DISCONNECT_WAIT命令行参数设置了关闭过程的每个步骤的最大时间。如果任何步骤花的时间比指定的数值长,

它会被强制中止。每个操作都有宽限期,所以缓存成员花费用于关闭的总时间取决于操作的次数和DISCONNECT_WAIT设置。在关闭进程期间,Geode产生如下一样的消息:

Disconnect listener still running

 DISCONNECT_WAIT默认为10000毫秒

为了改变它,成员启动时在java命令行中设置此系统属性。例如:

gfsh>start server --J=-DDistributionManager.DISCONNECT_WAIT=<milliseconds>

每个进程可以有不同的DISCONNECT_WAIT设置。

猜你喜欢

转载自bewithme.iteye.com/blog/2325580