`
bewithme
  • 浏览: 430614 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Apache Geode 运行服务器进程

 
阅读更多

       一个Geode服务器是一个进程,它作为长期运行的,客户端/服务器系统可配置的成员。Geode服务器主要用作保存长期存活的数据区域和运行标准的Geode进程例如在客户端/服务器配置中的服务器。你可以用以下方法来停止服务器:

  • gfsh工具允许你用命令行方式管理你的Geode服务器进程。
  • 你也可以通过com.gemstone.gemfire.distributed.ServerLauncher API来启动,停止和管理Geode服务器。ServerLauncher API 仅可以用作用gfsh启动的服务器或是ServerLauncher类自己启动的。查看《JavaDocs》来获得额外的ServerLauncher API使用说明。

默认的服务器配置和日志文件

gfsh实用工具使用一个工作目录来保存配置文件和日志文件。如下这些是默认和配置选项:

  • 当你用gfsh启动一个独立的服务器,gfsh会自动的加载需要的jar文件$GEMFIRE/lib/server-dependencies.jar$JAVA_HOME/lib/tools.jar到jvm进程的类路径。如果你是使用 ServerLauncher API来启动一个独立的服务器,你必须在你的运行进程命令内指定$GEMFIRE/lib/server-dependencies.jar。查看《Geode进程类路径设置》来获取更多的类路径设置信息。
  • 服务器和其它Geode进程的配置一样,带有gemfire.properties和共享的集群配置文件。它是不可编程的,除了通过应用程序插件。通常地,你提供
    gemfire.properties 文件和 gfsecurity.properties 文件(如果您使用的是单独的,受限制的访问安全设置文件)。你也可以在缓存服务器的工作目录指定一个cache.xml文件。
  • 默认情况下,假设定位器正在运行集群配置服务,那么一个使用gfsh启动的新服务器会从集群配置服务接收它的初始缓存配置。如果你在启动服务器的时候指定了一个组,该服务器还接收应用于组的配置。共享的配置包括了cache.xml 文件, gemfire.properties 文件,和部署的jar文件。你可以在用gfsh启动服务器的时候指定 --use-cluster-configuration=false来禁用集群配置服务。查看《群集配置服务概述》

  • 如果你使用了spring框架,你可以在使用gfsh启动服务器时使用--spring-xml-location 命令行选项指定一个Spring ApplicationContext XML文件。这个选项允许你用你的spring应用配置重启你的geode服务器进程。查看《spring文档》来获得在这个文件上的更多信息。

  • 对于日志输出,日志文件输出为默认为缓存服务器工作目录下的server_name.log。如果你使用相同的服务器名重启一个服务器,已有的server_name.log文件会自动的为你重命名(例如, server1-01-01.logserver1-02-01.log)。你可以在启动服务器时通过在--log-level参数中指定一个级别来实现在这个文件中修改日志级别。

  • 默认情况下,服务器会在gfsh执行目录下的一个子目录(在服务器之后命名)中启动。这个子目录被认为是当前的工作目录。你也可以在用gfsh启动服务器时指定一个不同的工作目录。

  •  默认情况下,一个因为网络断开或是成员没有响应而被关闭和断开连接的服务器会自己重启并且自动尝试重新连接到分布式系统。查看《使用自动重连接处理被动缓存掉线》获得更多详情。

  •  你可以在启动服务器时使用--J=-Dproperty.name=value将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

  Pivotal推荐你在启动服务器时不要用 -XX:+UseCompressedStrings-XX:+UseStringCache JVM配置参数。 这些JVM选项可能会导致数据损坏和兼容性问题。

 

 启动Geode服务器的gfsh语法是:

 

start server --name=value [--assign-buckets(=value)] [--bind-address=value]
    [--cache-xml-file=value] [--classpath=value] [--disable-default-server(=value)]
    [--disable-exit-when-out-of-memory(=value)] [--enable-time-statistics(=value)]
    [--force(=value)] [--include-system-classpath(=value)] [--properties-file=value]
    [--security-properties-file=value]
    [--group=value] [--locators=value] [--locator-wait-time=value] [--log-level=value]
    [--mcast-address=value] [--mcast-port=value] [--memcached-port=value]
    [--memcached-protocol=value] [--rebalance(=value)] [--server-bind-address=value]
    [--server-port=value] [--spring-xml-location=value]
    [--statistic-archive-file=value] [--dir=value] [--initial-heap=value]
    [--max-heap=value] [--use-cluster-configuration(=value)] [--J=value(,value)*]
    [--critical-heap-percentage=value] [--critical-off-heap-percentage=value] 
    [--eviction-heap-percentage=value] [--eviction-off-heap-percentage=value]
    [--hostname-for-clients=value] [--max-connections=value]
    [--message-time-to-live=value] [--max-message-count=value] [--max-threads=value]
    [--socket-buffer-size=value] [--lock-memory=value] [--off-heap-memory-size=value] 
 

 

注意: 当在服务器启动期间指定了--max-heap--initial-heap,额外的GC参数由Geode的资源管理器的内部指定。如果你不想要资源管理器设置的额外的默认GC属性,那就使用e -Xms & -Xmx JVM选项。查看《源管理器堆使用控制》来获得更多信息。

 

如下的gfsh start server启动序列为每个缓存配置指定一个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

 这是gemfire.properties的一部份,它设置了一个cache.xml位置并且设置多播端口:

mcast-port=10338 
cache-xml-file=D:\gfeserver\cacheCS.xml

  使用gemfire.properties文件启动服务器,键入:

gfsh>start server --name=server1 \
--properties-file=D:\gfeserver\gemfire.properties

启动一个嵌入了JMX管理器的服务器,你可以输入如下命令:

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

 启动一个服务器并提供JVM配置设置,你可以发出如下命令:

gfsh>start server --name=server3 \
--J=-Xms80m,-Xmx80m --J=-XX:+UseConcMarkSweepGC,-XX:CMSInitiatingOccupancyFraction=65

 

编程方式启动服务器

    在你的代码中使用com.gemstone.gemfire.distributed.ServerLauncher API来启动缓存服务器进程。使用ServerLauncher.Builder类来构建ServerLauncher实例,然后用start()方法来启动服务器服务。ServerLauncher类中的其它方法提交了服务器状态信息并可以允许你停止服务器。

 

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");
        }
    }

 

检查服务器状态

如果你用gfsh连接到分布式系统,你可以通过提供服务器名称检查一个正在运行的缓存服务器的状态。例如:

gfsh>status server --name=server1

如果你没有连接到分布式系统,你可以通过提供进程ID或是服务器的当前工作目录来检查本地缓存的状态。例如:

gfsh>status server --pid=2484

 或

% gfsh status server --dir=<server_working_directory>

 

<server_working_directory> 对应的是哪里,哪里就是服务器运行的工作目录。如果成功,命令会返回如下的信息(带着启动时提供的jvm参数):
% gfsh status server --dir=server4
Server in /home/stymon/server4 on ubuntu.local[40404] as server4 is currently online.
Process ID: 3324
Uptime: 1 minute 5 seconds
GemFire Version: 8.0.0
Java Version: 1.7.0_65
Log File: /home/stymon/server4/server4.log
JVM Arguments: 
...
 

停止服务器

如果你用gfsh连接到了分布式系统,你可以通过提供服务器名来停止一个正在运行的服务器。例如:

gfsh>stop server --name=server1

 如果你没有连接到一个分布式系统,你可以通过进程ID或是服务器当前工作目录来停止一个本地的服务器。例如:

gfsh>stop server --pid=2484

 或

gfsh>stop server --dir=<server_working_directory>

 <server_working_directory> 对应的是哪里,哪里就是服务器运行的工作目录。

 你也可以使用gfsh shutdown命令来以有序的方式关闭所有的缓存服务器。如果你是使用持久化区域,这会很有用的。查看《启动和关闭你的系统》获取更多详情。

 
分享到:
评论

相关推荐

    Apache Geode权威指南(中文版).pdf

    Apache Geode是一个数据管理平台,可在广泛分布的云架构中实时,一致地访问数据密集型应用程序。 Apache Geode 和 Redis的比较: geode是java生态圈,目的是高性能高可用,除了缓存,更像数据库,可以sql查询,硬盘...

    Apache Geode入门指导(中文版) 电子版

    Apache Geode是一个数据管理平台,可在广泛分布的云架构中实时,一致地访问数据密集型应用程序。 Apache Geode 和 Redis的比较: geode是java生态圈,目的是高性能高可用,除了缓存,更像数据库,可以sql查询,...

    apache-geode-1.2.1官方编译版

    在"apache-geode-1.2.1"压缩包中,包含了运行和管理Geode所需的所有核心组件。以下是对主要知识点的详细说明: 1. **Geode的架构**:Apache Geode采用分布式架构,将数据存储在多个节点上,实现了数据的复制和分区...

    Spring Data for Apache Geode API(Spring Data for Apache Geode 开发文档).CHM

    Spring Data for Apache Geode API。 Spring Data for Apache Geode 开发文档

    数据管理平台 Apache Geode.zip

    概览Apache Geode 是一个数据管理平台,提供实时的、一致的、贯穿整个云架构地访问数据关键型应用.Geode 池化了服务器上的内存, CPU, 网络资源, 和本地磁盘,跨多个进程来管理应用对象和应用行为. 它使用了动态数据...

    geode:阿帕奇·乔德(Apache Geode)

    Apache Geode将内存,CPU,网络资源以及可选的本地磁盘跨多个进程池化,以管理应用程序对象和行为。 它使用动态复制和数据分区技术来实现高可用性,改进的性能,可伸缩性和容错能力。 除了作为分布式数据容器之外,...

    apache-geode-1.12.0.zip

    apache-geode-1.12.0 win环境下的运行包 ,配置步骤网上搜索; 项目关联链接:https://blog.csdn.net/Glen_guilin/article/details/109722619

    基于Apache Geode的实时数据管理平台设计源码

    该项目是一款基于Apache Geode的实时数据管理平台设计源码,包含7343个文件,涵盖5803个Java源代码文件、543个ERB模板文件、188个PNG图片文件、139个XML配置文件、99个文本文件、62个JavaScript文件、60个HTML文件、...

    apache-geode-1.4.0

    在“apache-geode-1.4.0”这个压缩包中,你将找到构建和运行Geode集群所需的所有组件。 1. **Apache Geode概述**: Apache Geode是基于GemFire开源的,由Apache软件基金会维护。它提供了一个内存数据网格(IMDG)...

    apache-geode-1.12.0.tgz

    系统管理员可以在运行时更改安全态势。提供的实现包括:RestrictedMethodAuthorizer、UnstratedMethodAuthorizer、RegExMethodAuthorizer和JavaBeanAccessorMethodAuthorizer。 在RESTAPI for Management中引入了新...

    java版电商源码-geode-examples:ApacheGeode示例

    服务器相同或旧版本的 Geode。 将-PgeodeRepositoryUrl= -PgeodeVersion=1.12.0添加到您的./gradlew命令以指定要链接的 Geode 客户端库,否则默认值可能太新。 如果最新的示例不能使用您首选的 Geode 版本编译,请...

    中间件-apache-geode-1.6.0

    Apache Geode是一款强大的分布式内存数据网格系统,常被用作中间件来提供高可用性、高性能的数据存储和处理服务。在版本1.6.0中,这个开源项目提供了许多关键特性,旨在支持大规模分布式应用程序的需求。 Apache ...

    geode.apache.org.zip

    Apache Geode是一款分布式的数据管理平台,它提供了实时的应用程序数据存储和处理能力,适用于构建高性能、高可用性和可扩展的分布式系统。这个压缩包“geode.apache.org.zip”包含了Apache Geode 1.9版本的用户指南...

    yardstick-geode:Apache Geode的Yardstick基准

    为Yardstick Apache Geode POM运行mvn package命令 提供的基准 提供了以下基准: GeodeGetBenchmark基准原子分布式缓存获取操作 GeodePutBenchmark基准原子分布式缓存放置操作 GeodePutGetBenchmark对原子分布式...

    geode-demo-application:如何使用Apache Geode的示例低延迟,水平可扩展的数据源

    单节点独立模式在AWS上运行的Geode集群单节点独立模式介绍使用此选项,可以下载所有工件以在Mac OSX或Linux机器上运行Geode集群以及示例应用程序。 目前不支持Windows。先决条件运行示例的所有脚本都是用Bash编写的...

    基于Spring boot 的geode 单节点客服端及服务端项目

    基于Spring boot 的geode 单节点客服端及服务端项目,本地启动apache-geode创建好locator, 项目关联链接:https://blog.csdn.net/Glen_guilin/article/details/109722619 apache-geode链接:...

    apace geode官网翻译

    ### Apache Geode 知识点概述 #### 一、Apache Geode 概述 - **定义**:Apache Geode 是一款高性能的分布式内存数据管理平台,适用于数据密集型的应用场景,尤其是在云架构环境下能展现出其独特的优势。它通过在多...

    geode-native:Apache Geode本机

    目录概述本机客户端是的客户端实现,不需要Java服务器JAR。从源头建造从源代码构建Native Client的说明可以在的源代码分发中找到。应用开发可以使用以下客户端技术编写本机客户端应用程序: 版本控制Geode Native...

    PyPI 官网下载 | Geode_Common-12.3.0-cp37-cp37m-win_amd64.whl

    标签中提到了“python 开发语言 后端 Python库”,这表明“Geode_Common”是一个Python后端开发库,可能被用于构建服务器端应用。Python是一种高级、动态类型的编程语言,常用于后端开发,因为它具有丰富的库支持和...

    apache 工程(最新)

    Apache是世界上最流行的开源Web服务器软件,它以其稳定性、可扩展性和高效性著称。这篇博客“apache 工程(最新)”可能详细介绍了Apache的最新发展动态、源码分析以及如何利用工具进行优化和管理。在本文中,我们将...

Global site tag (gtag.js) - Google Analytics