运行Geode服务器进程
Geode服务器是一个作为客户端/服务器系统的长期可配置成员运行的进程。
Geode服务器主要用于托管长期数据区域以及运行标准Geode进程,例如客户端/服务器配置中的服务器。您可以使用以下方法启动和停止服务器:
- 该
gfsh命令行工具。 - 以编程方式,通过
org.apache.geode.distributed.ServerLauncherAPI。该ServerLauncherAPI只能用于中开始与服务器的Geodegfsh或与ServerLauncher类本身。
默认服务器配置和日志文件
该gfsh实用程序使用工作目录作为其配置文件和日志文件。这些是默认值和配置选项:
- 使用启动独立服务器时
gfsh,gfsh会自动将所需的JAR文件加载lib/geode-dependencies.jar到JVM进程的CLASSPATH中。如果使用ServerLauncher API启动独立服务器,则必须在命令中指定此JAR文件以启动该过程。有关Geode中CLASSPATH设置的更多信息,请参阅设置CLASSPATH。 - 服务器配置与任何其他Geode进程一样,具有
gemfire.properties共享集群配置文件。除了应用程序插件外,它不可编程。通常,您提供gemfire.properties文件和gfsecurity.properties文件。您还可以cache.xml在缓存服务器的工作目录中指定文件。 -
默认情况下,启动的新服务器
gfsh从群集配置服务接收其初始缓存配置(假设定位器正在运行群集配置服务)。如果在启动服务器时指定组,则服务器还会接收适用于组的配置。共享配置由cache.xml文件,gemfire.properties文件和已部署的jar文件组成。您可以通过指定--use-cluster-configuration=false何时使用启动服务器来禁用群集配置服务gfsh。请参阅群集配置服务概述。 -
如果您使用的是Spring Framework,则可以在
gfsh使用--spring-xml-location命令行选项启动服务器时指定Spring ApplicationContext XML文件。此选项允许您使用Spring应用程序的配置引导Geode服务器进程。有关此文件的更多信息,请参阅Spring文档。 -
对于日志记录输出,日志文件输出默认为
<server-name>.log缓存服务器的工作目录。如果重新启动具有相同服务器名称的服务器,则会自动重命名现有日志文件,例如,server1-01-01.log和server1-02-01.log。您可以通过--log-level在启动服务器时在参数中指定级别来修改此文件中的日志记录详细信息的级别。 -
默认情况下,服务器将在
gfsh执行目录下的服务器指定名称后面的子目录中启动。该子目录被视为当前工作目录。您还可以在启动缓存服务器时指定其他工作目录gfsh。 -
默认情况下,由于网络分区事件或成员无响应而已关闭和断开连接的服务器进程将自行重新启动并自动尝试重新连接到现有群集。有关更多详细信息,请参阅使用自动重新连接处理强制缓存断开连接。
-
您可以使用
--J=-Dproperty.name=valueon server server启动将JVM参数传递到服务器的JVM 。这些参数可以是Java属性或Geode属性,例如gemfire.jmx-manager。例如:gfsh>start server --name=server1 --J=-Dgemfire.jmx-manager=true \ --J=-Dgemfire.jmx-manager-start=true --J=-Dgemfire.http-port=8080 -
我们建议您在启动服务器时不要使用
-XX:+UseCompressedStrings和-XX:+UseStringCacheJVM配置属性。这些JVM选项可能会导致数据损坏和兼容性问题。
使用gfsh启动服务器
有关gfsh start server语法信息,请参阅命令参考页面。
这些示例gfsh start server启动命令指定cache.xml用于缓存配置的文件,并使用不同的传入客户端连接端口:
gfsh>start server --name=server1 \
--cache-xml-file=../ServerConfigs/cache.xml --server-port=40404
gfsh>start server --name=server2 \
--cache-xml-file=../ServerConfigs/cache.xml --server-port=40405
cache.xml可以在gemfire.properties文件中定义文件的位置和客户端连接端口的设置 。然后,启动指定gemfire.properties文件的服务器,如示例命令中所示:
gfsh>start server --name=server1 \
--properties-file=/home/username/cluster/gemfire.properties
要使用嵌入式JMX Manager启动服务器:
<span style="color:#333333"><code>gfsh>start server --name=server2 \
--J=-Dgemfire.jmx-manager=true --J=-Dgemfire.jmx-manager-start=true
</code></span>
如果在服务器启动期间指定了--max-heap和,--initial-heap则代表您指定其他GC参数。如果您不想设置其他默认GC属性,请使用-Xms&-XmxJVM选项仅设置这些参数。有关详细信息,请参阅使用资源管理器控制堆使用。要启动服务器,请提供JVM配置设置:
gfsh>start server --name=server3 \
--J=-Xms80m,-Xmx80m --J=-XX:+UseConcMarkSweepGC,-XX:CMSInitiatingOccupancyFraction=65
以编程方式启动服务器
使用org.apache.geode.distributed.ServerLauncherAPI在代码中启动缓存服务器进程。使用ServerLauncher.Builder该类构造一个实例ServerLauncher,然后使用该start()方法启动服务器服务。ServerLauncher该类中的其他方法提供有关服务器的状态信息,并允许您停止服务器。
import org.apache.geode.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");
}
}
检查服务器状态
连接到群集后gfsh,通过提供服务器名称来检查正在运行的缓存服务器的状态:
gfsh>status server --name=server1
如果未连接到群集,则可以通过提供进程ID或服务器的当前工作目录来检查本地缓存服务器的状态。例如:
gfsh>status server --pid=2484
要么
gfsh status server --dir=server1
如果成功,输出将提供此示例中的信息:
gfsh status server --dir=server4
Server in /home/username/server4 on 192.0.2.0[40404] as server4 is currently online.
Process ID: 49008
Uptime: 2 minutes 4 seconds
Geode Version: 1.9
Java Version: 1.8.0_144
Log File: /home/username/server4/server4.log
JVM Arguments:
...
停止服务器
连接到群集时gfsh,通过提供服务器名称来停止正在运行的缓存服务器:
gfsh>stop server --name=server1
如果未连接,则可以通过指定服务器的当前工作目录或进程ID来停止本地缓存服务器。例如:
gfsh>stop server --pid=2484
要么
gfsh>stop server --dir=server1
您还可以使用该gfsh shutdown命令以有序的方式关闭所有缓存服务器。shutdown对具有持久区域的系统执行a 是正确的方法。有关详细信息,请参阅启动和关闭系统。
本文围绕Geode服务器进程展开,介绍其是客户端/服务器系统的长期可配置成员。阐述了默认服务器配置和日志文件情况,还说明了使用gfsh和编程两种方式启动服务器的方法,同时介绍了检查服务器状态以及停止服务器的操作。
4112

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



