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中有说明。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。