Pivotal Gemfire server进程的描述


Pivotal Gemfire server进程作为一个长期运行的,可配置的分布式系统的成员。

Gemfire Server主要被用来托管长期的数据区域,或者在客户端/服务器配置中作为服务器运行标准的Gemfire进程,可以使用下面的方法来启动或者停止server。

最简单的方法就是使用gfsh工具中的命令行。

也可以通过com.gemstone.gemfire.distributed.ServerLauncher API 来启动和停止sever,这个ServerLauncher API只能用于通过gfsh命令行或者ServerLauncher类本身启动的Gemfire服务器。在使用ServerLauncher的时候可以通过JavaDocs来获得更多的信息。

注意:ServerLauncher API不能可靠的用于通过其用的Gemfire shell脚本cacheserver启动的server。

默认的server配置和日志文件。

Gfsh服务器命令为配置文件和日志文件使用一个工作目录,这些都是默认的,配置选项:

当你使用gfsh启动一台独立的server,gfsh将会自动加载所需要的jar文件到JVM进程的CLASSPATH中,如果你使用ServerLauncher API来启动一个独立的server,你必须将/usr/local/Pivotal_GemFire_810_b50625_Linux/lib/server-dependencies.jar放到命令行来启动。

Servers像其他Gemfire其他进程一样进行配置,使用gemfire.properties文件以及共享的集群配置文件。除了通过应用plug-ins,它是不可编程的。比较典型的是,你可以提供gemfire.properties文件和gfsecurity.properties文件(如果您正在使用一个单独的、受限制的访问安全设置文件)。你也可以在cache server工作目录下制定cache.xml文件。

默认情况下,server的启动时通过从集群服务器配置中接收最初的cache配置的gfsh,(假设这个server运行在一个包含一个locator运行配置服务的分布式系统中)如果在启动server的时候指定了一个组,那么这个server将会接收应用于这个组的配置信息,这些共享的配置信息包括cache.xml文件,gemfire.properties文件,以及加载的jar文件。当启动server的时候,如果你指定--use-cluster-configuration=false,那么就不可以是用集群配置服务。

如果你使用spring框架,当在gfsh命令行中使用--spring-xml-location选项来启动server,你需要指定Spring  ApplicationContext  XML文件。这个选项允许你通过使用spring应用配置的去引导Gemfire server进程。

对于日志的输出,日志文件默认情况下是在server工作目下,以server的名字进行命名。如果你使用相同的server的名字重启一个server,这个存在的日志文件将会重新改名,你可以通过在启动server的时候指定--log-level来修改级别,来修改指定的日志文件的级别。

默认情况下,server的工作目录是执行gfsh命令的目录下的一个子目录,这个子目录被认为是当前工作的子目录,当通过gfsh启动server的时候,你也可以指定不同的工作目录。

默认情况下,已经关闭的server和因为网络分区或者成员无反应引起的链接断开的server,将会重启启动并自动连接已经存在的分布式系统。(504)

在启动server的时候,你可以通过使用--J=-Dproperty.name=value将java的参数传递给server的JVM,这个参数可以是java的属性,也可以是Gemfire的配置属性,例如:gemfire.jmx-manager.:

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

--J=-Dgemfire.jmx-manager-start=true --J=-Dgemfire.http-port=8080

Pivotal建议在启动servers的时候,不能使用-XX:+UseCompressedStrings和-XX:+UseStringCache JVM配置属性,这些JVM选项将会导致数据损坏或者兼容性问题。

 

启动一个server

可以通过help start server查看该gfsh命令的语法。

注意:当server启动的同时制定--max-heap和--initial-heap项的时候,额外的GC参数被Gemfire资源管理程序内部制定。如果你不想这个GC被资源管理程序内部制定,可以使用-Xms和-Xmx的JVM选项。(317页会详细介绍)

下面的gfsh命令start server的启动序列,为cache配置制定cache.xml文件,不同炼乳的客户端的端口号,为同行发现使用多端口。

gfsh>start server --name=server1 --mcast-port=10338 \

--cache-xml-file=../ServerConfigs/cache.xml --server-port=40404

gfsh>start server --name=server2 --mcast-port=10338 \

--cache-xml-file=../ServerConfigs/cache.xml --server-port=40405

注意:自从这个server使用多播,server将不会为最初的cache配置使用集群配置服务。使用集群配置服务,你必须首先启动一个locator运行集群配置服务。

看下面,多播端口和cache.xml的配置是在文件gemfire.properties中:

#contents of D:\gfeserver\gemfire.properties

#Tue May 09 17:53:54 PDT 2006

mcast-port=10338

cache-xml-file=D:\gfeserver\cacheCS.xml

通过输入下面的命令,来通过gemfire.properties文件来启动server。

gfsh>start server --name=server1 \

--properties-file=D:\gfeserver\gemfire.properties

可以使用下面的命令来启动一个嵌入到JMX管理器中的server。

gfsh>start server --name=server2 \

--J=-Dgemfire.jmx-manager=true --J=-Dgemfire.jmx-manager-start=true

你可以使用下面的命令来启动一个server并且提供JVM配置的设置。

 

以编程的形式启动server

在代码里面通过使用com.gemstone.gemfire.distributed.ServerLauncher API来启动cache server进程,使用ServerLauncher.Builder类去创建一个ServerLauncher对象,然后使用start()方法来启动嵌入到java应用中的server服务。ServerLauncher类中的其他方法可以用来查看server的状态以及停止server。

import com.gemstone.gemfire.distributed.ServerLauncher;

         public class MyEmbeddedServer {

               public static void main(String[] args){

                  ServerLauncher serverLauncher = new ServerLauncher.Builder()

                  .setMemberName("server1")

                  .setServerPort(40405)

                  .set("jmx-manager", "true")

                  .set("jmx-manager-start", "true")

                  .build();

                   serverLauncher.start();

                   System.out.println("Cache server successfully started");

               }

}

 

查看server的状态

如果通过gfsh连接到了一个分布式系统,你可以根据server的名字来查看正在运行的cache server的状态。

gfsh>status server --name=server1

如果你没有连接到分布式系统,你可以通过该进程的ID或者server的工作目录来查看本地server的状态。

    gfsh>status server --pid=2484

    or

$ gfsh status server --dir=<server_working_directory>

如果成功的话,这条命令将会返回下面的信息:

 

 

停止server

如果你通过gfsh连接到了分布式系统,你可以通过server的名字来停止正在运行的cache server。

gfsh>stop server --name=server1

如果你没有连接到分布式系统,你可以通过该进程的ID或者server的工作目录来停止本地server。

    gfsh>stop server --pid=2484

    or

$ gfsh stop server --dir=<server_working_directory>

你也可以使用gfsh shutdown命令来有序的关闭所有的cache server,如果你在使用持久性的region的时候,这条命令是很有用的。

 

当通过软件包管理器安装Pivotal Gemfire的时候,这个软件包管理器也会安装一个cacheserver服务,这个可以允许你通过下面的命令来管理一个默认的cache服务器。

/sbin/service cacheserver start

/sbin/service cacheserver stop

/sbin/service cacheserver restart

    这个cacheserver包含默认的配置/etc/pivotal/gemfire/cacheserver.conf.

    在这个配置文件文件中默认定义了下面的属性:

    Cacheserver脚本的的位置

CACHESERVER_SCRIPT=/opt/pivotal/Pivotal_GemFire_800/bin/cacheserver

    对服务器当前的工作目录

CACHESERVER_WORK_DIR=/var/log/pivotal/gemfire/cacheserver 

    对cache server的cache配置

CACHE_XML_FILE=/opt/pivotal/gemfire/Pivotal_GemFire_800/defaultConfigs/cache.xml

Cache server的gemfire.properties的位置

JAVA_OPTS="-DgemfirePropertyFile=/opt/pivotal/gemfire/Pivotal_GemFire_800/

defaultConfigs/gemfire.properties"

你可以修改这个配置去指向cacheserver服务器中自定义的gemfire.properties配置文件。在这个文件中,你可以指定name属性,这个属性将会允许你使用gfsh命令行来管理这个cache server。

编辑cacheserver.conf文件去配置cacheserver服务,你也可以定义你自己附加的cacheserver服务,/etc/sysconfig/cacheserver中有说明。

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告