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

Apache Geode 部署jar包到成员

 
阅读更多

      你可以动态的部署你的应用jar文件到分布式系统中指定的成员或是所有的成员。Geode自动的追踪jar文件的版本;自动加载部署的jar文件到类路径;并且自动注册jar文件所包含的所有函数。

 

      为了在Apache Geode中部署或卸载jar文件,使用gfsh部署或卸载命令。你可以部署单个jar或是多个jar(通过指定jar文件名或指定一个包含jar文件的目录),你同样可以将部署的目标指定为一个成员组或多个成员组。例如,在连接到你想要部署jar文件的分布式系统之后,你可以在gfsh提示窗口中键入如下命令:

    

gfsh> deploy --jar=group1_functions.jar

     这个命令group1_functions.jar文件布署到了分布式系统中的所有成员中,为了部署jar文件到部份

 

成员,使用 --group参数,例如:

  

gfsh> deploy --jar=group1_functions.jar --group=MemberGroup1

 在这个例子中,假设你启动时已经定义了你想使用的成员组

。查看《配置并运行一个集群》来获得有关如何定义成员组并添加成员到一个组中的更多信息。 

 

部署位于指定目录下的所有jar文件到所有的成员:

 

gfsh> deploy --dir=libs/group1-libs
部署时你可以提供jar文件名或是jar文件的目录,但你不能一次指定两个。

 

 

卸载分布式系统中所有之前部署的jar文件:

 

gfsh> undeploy
卸载指定的的jar文件:

 

 

gfsh> undeploy --jar=group1_functions.jar
以指定的成员组为目标卸载所有jar文件:

 

 

gfsh> undeploy --group=MemberGroup1
只有在MemberGroup1这个成员组中之前部署的所有jar文件会被卸载。

 

查看在你的分布式系统中部署的所有jar文件:

 

gfsh> list deployed
查看在指定组中部署的所有所有jar文件:

 

 

gfsh> list deployed --group=MemberGroup1
示例输出:

 

 

 Member   |     Deployed JAR     |                JAR Location            
--------- | -------------------- | ---------------------------------------------------
datanode1 | group1_functions.jar | /usr/local/gemfire/deploy/vf.gf#group1_functions.jar#1
datanode2 | group1_functions.jar | /usr/local/gemfire/deploy/vf.gf#group1_functions.jar#1
 更多 gfsh使用信息,请查看gfsh (Geode SHell).

 

JAR文件的部署位置

在每个成员上写入jar文件的系统位置取决于Geode为每个成员配置的deploy-working-dir属性。例如,你可以在你的成员中的gemfire.properties文件中使用如下配置:

 

#gemfire.properties
deploy-working-dir=/usr/local/gemfire/deploy
 这个部署位置可以是本地的也可以是为了节约磁盘空间而在多个成员中共享的网络资源(例如一个挂载的位置)。如果你使用一个共享的目录,你仍然需要在每个成员上部署你想要在应用中访问的jar文件,因为部署会更新类路径并自动注册函数。

 

有关jar文件部署和集群配置服务

       默认情况下,集群配置服务分部署的jar文件到分布式系统中所有的定位器。当你用gfsh启动一个新服务器,定位器提供配置文件并部署jar文件到成员并把它们写入到服务器的目录。查看《集群配置服务概述》

 

JAR 文件版本控制

       当你部署jar文件到分布式系统或是成员组,jar文件会被修改以实现文件名中显示版本信息。每个jar文件名以vf.gf#为前辍并且在文件名结尾包含一个版本号。例如,如果你部署MyClasses.jar五次,当你列出所有部署的jar包时文件名显示为vf.gf#MyClasses.jar#5。
      当你部署一个jar文件,接收到部署的成员检查jar文件是否重复,要么是因为已经在这个成员中部署过,要么就是因为这个jar文件已经在其它成员也使用的共享的部署目录。如果其它成员已经部署了这个jar文件到共享目录(用字节比对方法来与它目录中最新的版本作比较),接收最新部署的成员不会将文件写到磁盘。相反的,成员会更新类路径加载器来使用已经部署的jar文件。如果一个比较新的版本的jar文件在磁盘中被检测到并已经在使用中,部署会被取消。
      当一个成员开始使用jar文件,成员会在文件上获得一个共享锁。如果成员通过部署收到了一个更新版本的文件,成员释放共享所并试着删掉这个已经存在的jar文件并以这个新版本取代。如果没有其它成员在这个已经存在的jar文件上拥有共享锁,那么这个已存在的,老版本的jar文件会被删除。

自动的类路径加载

     当一个缓存启动,新的缓存在当前的工作目录下请求将每个jar文件的最新版本添加到类路径加载器上。如果一个jar文件己经部署到了类路径加载器上,如果新的版本被发现,类路径加载器会更新它已加载的版本;否则,不会有更改。如果检测出没有其它成员在老版本的jar文件上拥有共享锁,这些文件将被删除。

 

      卸载一个jar文件不会自动卸载在部署中已经加载的类。你需要重启你的成员来卸载这些类。

    

      当一个缓存关闭时它请求所有当前部署的jar文件从类路径加载器中删除。

 

      当你使用一个共享部署工作目录,所有共享这个目录的成员应属于同一个成员组。在启动之前,所有共享这个目录成员将部署并自动加载他们的类路径和所有在当前工作目录发现的jar包。这意味着一些成员可能加载这些jar包,即使它们不是这个成员组的接收过之前部署的一部份。

 

自动函数注册

 

       当你部署一个包含一个函数的jar包(换句话说,包括一个实现了函数接口的类)这个函数会自动的通过FunctionService.registerFunction方法注册。如果另外一个有相同函数的jar文件被部署(有相同的jar文件名或是别的文件名),这个新的函数的实现会被注册,覆盖掉旧的。如果一个jar文件被卸载,任何在部署时注册的函数将会被取消注册。每次当多次部署一个相同名字的jar文件会倒致正在卸载或是重复部署的的jar文件,

它们中的函数被取消注册并再次注册。如果一个有相同的ID函数从不同名称的jar包中被注册,那么重复部署的或是已卸载的jar包中的函数将被取消注册。

 

        在cache.xml加载期间,任何被声明的参数被保存。如果在jar文件中发现的函数也是被声明过的,并且与在加载cache.xml时声明的参数有相同的类名,那么函数实例将使用参数被创建并被注册。因此,如果相当的函数在cache.xml中用不同的参数集合被声明多次

当jar被部署时,一个函数会为每个参数集合被实例化。如果任何函数被注册时使用来自加载cache.xml时的参数,默认的,没有参数的函数不会被注册。

 

分享到:
评论

相关推荐

    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官方编译版

    8. **持续集成与部署**:与现代开发流程兼容,Geode可以轻松地与其他CI/CD工具(如Jenkins、Git等)集成,实现自动化部署和测试。 9. **性能监控**:Geode内置了丰富的监控指标,包括内存使用、CPU负载、网络延迟等...

    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

    水平扩展到数千个缓存成员, 具有多种缓存拓扑结构来满足不同的企业级部署需求. 缓存能够跨多台机器进行分布.异步和同步缓存更新传播.Delta 传播只分发新版本和旧版本的变化量 (delta) , 而不是整个对象, 从而可以...

    apache-geode-1.12.0.zip

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

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

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

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

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

    apache-geode-1.12.0.tgz

    在RESTAPI for Management中引入了新的端点,包括创建和删除索引、列出已部署的JAR、显示PDX配置和显示支持RESTAPI的版本。 从Spring 4迁移到Spring 5。 更新第三方库到最新的安全补丁。 修正了定位器可能无法完全...

    apache-geode-1.4.0

    Apache Geode是一款分布式内存数据平台,它提供了实时的数据存储和处理能力,广泛应用于构建高性能、高可用性的分布式应用程序。在“apache-geode-1.4.0”这个压缩包中,你将找到构建和运行Geode集群所需的所有组件...

    中间件-apache-geode-1.6.0

    9. **GemFire for Pivotal Cloud Foundry**:Pivotal Cloud Foundry是流行的云平台,Geode 1.6.0可能集成了对它的支持,允许用户在云环境中轻松部署和管理Geode实例。 10. **监控和管理工具**:Geode提供了一套强大...

    geode.apache.org.zip

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

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

    Apache Geode 示例 这是与项目捆绑在一起的 Apache Geode 示例的主页。 欢迎贡献[2]和更正。 请与我们讨论您的建议或提交 。 Apache Geode 版本 Geode 客户端代码必须链接到与其将连接到的 Geode 服务器相同或旧版本...

    apace geode官网翻译

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

    yardstick-geode:Apache Geode的Yardstick基准

    Yardstick Apache Geode是在Yardstick框架之上编写的一组基准测试。 码尺框架 访问以获取有关如何运行Yardstick基准测试以及如何生成图形的详细信息。 除标准Yardstick参数外,以下文档还介绍了配置参数。 安装 ...

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

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

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

    geode-demo应用这是一个示例: 启动和管理Spring配置的Geode集群包含将Geode用作数据存储或利用其计算功能的Geode客户端的应用程序有两种方法可以运行此演示: 单节点独立模式在AWS上运行的Geode集群单节点独立模式...

    gemfire、geode多节点集群部署踩坑大全.docx

    然后,下载 GemFire/Geode 的 tar 包,解压到自己喜欢的目录,添加 bin 到 PATH,添加 Geode 的环境变量。在 Linux 系统中,可以使用 vi /etc/profile 命令添加环境变量。 二、单节点集群的部署 在安装好 GemFire/...

    geode-native:Apache Geode本机

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

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

    总结来说,"Geode_Common-12.3.0-cp37-cp37m-win_amd64.whl" 是一个针对Python 3.7和64位Windows的Apache Geode Python库的二进制包,它允许Python开发者在后端应用中集成Geode的功能,实现高效的数据管理和处理。...

Global site tag (gtag.js) - Google Analytics