Apache Geode 快速入门(15分钟

你需要一个Apache Geode快速介绍吗?让我们通过试用它的基本特点和功能进行简短的旅行吧。

 

第1步: 安装Apache Geode.

查看 如何安装Apache Geode

 

第2步: 使用 gfsh命令启动Locator.

 

     在命令窗口,用gfsh命令行界面启动一个locator。apache geode gfsh 提供一个单一,直观的命令行界面,你查以在里面运行,管理,监控 geode进程,数据,和应用。查看 gfsh (Geode SHell).

locator是一个geode进程,它告诉一个新连接的成员其它正在运行的成员的位置,并为服务器提供负载均衡。

默认情况下,locator,启动一个JMX管理器,用于监测和管理geode集群。集群配置服务使用locator为所有

成员来保存和分发信群配置信息。看查运行geode locator进程 和 集群配置服务概述。

    1.创建工作目录(例如gemfire),并切换到此目录。gfsh 命令保存locator和server的工作目录和日志在这个目录中。

    2.在命令行中键入gfsh启动它,(如果你是在windows系统中则使用 gfsh.bat)。

   

Java代码   收藏代码
  1.     _________________________     __  
  2.    / _____/ ______/ ______/ /____/ /  
  3.   / /  __/ /___  /_____  / _____  /  
  4.  / /__/ / ____/  _____/ / /    / /  
  5. /______/_/      /______/_/    /_/    v8.2.0  
  6.   
  7. Monitor and Manage GemFire  
  8. gfsh>  
   3.在提示下键入

 

 

Java代码   收藏代码
  1. gfsh>start locator --name=locator1  
  2. Starting a GemFire Locator in /home/username/my_gemfire/locator1...  
  3. .................................  
  4. Locator in /home/username/my_gemfire/locator1 on ubuntu.local[10334] as locator1 is currently online.  
  5. Process ID: 3529  
  6. Uptime: 18 seconds  
  7. GemFire Version: 8.2.0  
  8. Java Version: 1.8.0_60  
  9. Log File: /home/username/my_gemfire/locator1/locator1.log  
  10. JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false  
  11. -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true  
  12. -Dsun.rmi.dgc.server.gcInterval=9223372036854775806  
  13. Class-Path: /home/username/Pivotal_GemFire_820_b17919_Linux/lib/gemfire.jar:  
  14. /home/username/Pivotal_GemFire_820_b17919_Linux/lib/locator-dependencies.jar  
  15.   
  16. Successfully connected to: [host=ubuntu.local, port=1099]  
  17.   
  18. Cluster configuration service is up and running.  
  4.启动pulse

 

     启动基于浏览器的pulse监控工具,pulse是一个web应用,它提供了图形化的监控界面,监控着geode集群、成员、数据区域的重要的健康状态和性能。查看 Geode Pulse。
Java代码   收藏代码
  1. gfsh>start pulse  
 这个命令启动pulse并自动连接到locator的JMX管理器,在pulse的登录页面,使用默认的用户名admin和密码admin进行登录.
pulse现在显示了你刚刚启动的locator1

第4步:启动服务器.

        一个geode服务器是一个进程,它作为一个长期的,可配置的集群(也被称为分布式系统)中的一个成员运行着。geode服务器主要用于存放长期存放的数据区域,也用于运行标准的geode进程,例如在客户端/服务器配置中的服务器。查看 运行geode服务器进程。

 

启动缓存服务器

Java代码   收藏代码
  1. gfsh>start server --name=server1 --server-port=40411  

此命令启动一个服务器,名称为server1,运行在40411端口

在Pulse观察变化(新的成员和服务器)试着展开分布式系统图标来以图形化方式查看locator和服务器。

第5步:创建一个复制的,持久化的区域. 

  在这一步你使用gfsh命令行创建数据区域。区域是geode集群的核心基石并提供了管理数据的方法。

你用来练习的区域使用了复制功能在集群成员中复制数据,并使用了持久化装数据保存到了磁盘。

1.创建一个复制,持久的区域。

Java代码   收藏代码
  1. gfsh>create region --name=regionA --type=REPLICATE_PERSISTENT  
  2. Member  | Status  
  3. ------- | --------------------------------------  
  4. server1 | Region "/regionA" created on "server1"  

 注意到 regionA存放到了 server1

2.用gfsh命令来查看集群中的区域

Java代码   收藏代码
  1. gfsh>list regions  
  2. List of regions  
  3. ---------------  
  4. regionA  

 3.列出集群上的成员,你开启的locator和缓存服务器出现在列表中

Java代码   收藏代码
  1. gfsh>list members  
  2.   Name   | Id  
  3. -------- | ---------------------------------------  
  4. locator1 | ubuntu(locator1:3529:locator)<v0>:59926  
  5. server1  | ubuntu(server1:3883)<v1>:65390  

 4.查看区域说明,键入

Java代码   收藏代码
  1. gfsh>describe region --name=regionA  
  2. ..........................................................  
  3. Name            : regionA  
  4. Data Policy     : persistent replicate  
  5. Hosting Members : server1  
  6.   
  7. Non-Default Attributes Shared By Hosting Members  
  8.   
  9.  Type  | Name | Value  
  10. ------ | ---- | -----  
  11. Region | size | 0  

 5.在pulse中,点击绿色的集群图标来查看所有的新成员和新区域,这些都是你刚刚为你的集群添加的。

注意:将此提示保持在开着的状态,以便进行下一步。

 

第6步: 操作区域中的数据并演示持久化.

geode以键值方式管理数据,在大多数应用程序中,java应用添加,删除和修改保存的数据,你也可以用gfsh

命令来添加或查询。查看数据命令。

1.运行如下的put命令来将数据添加到区域中

 

Java代码   收藏代码
  1. gfsh>put --region=regionA --key="1" --value="one"  
  2. Result      : true  
  3. Key Class   : java.lang.String  
  4. Key         : 1  
  5. Value Class : java.lang.String  
  6. Old Value   : <NULL>  
  7.   
  8. gfsh>put --region=regionA --key="2" --value="two"  
  9. Result      : true  
  10. Key Class   : java.lang.String  
  11. Key         : 2  
  12. Value Class : java.lang.String  
  13. Old Value   : <NULL>  
 2.运行如下命令查询数据

 

 

Java代码   收藏代码
  1. gfsh>query --query="select * from /regionA"  
  2.   
  3. Result     : true  
  4. startCount : 0  
  5. endCount   : 20  
  6. Rows       : 2  
  7.   
  8. Result  
  9. ------  
  10. two  
  11. one  
 注意:结果显示了你用put命令添加的两条数据。3.用如下的命令停止缓存服务器

 

 

Java代码   收藏代码
  1. gfsh>stop server --name=server1  
  2. Stopping Cache Server running in /home/username/my_gemfire/server1 on ubuntu.local[40411] as server1...  
  3. Process ID: 3883  
  4. Log File: /home/username/my_gemfire/server1/server1.log  
  5. ....  
 4.用如下命令重启服务器

 

 

Java代码   收藏代码
  1. gfsh>start server --name=server1 --server-port=40411  
 5.用如下命令从区域中查询数数,注意到数据仍然是可用的。

 

 

Java代码   收藏代码
  1. gfsh>query --query="select * from /regionA"  
  2.   
  3. Result     : true  
  4. startCount : 0  
  5. endCount   : 20  
  6. Rows       : 2  
  7.   
  8. Result  
  9. ------  
  10. two  
  11. one  
 因为regionA使用了持久化,它把一份考贝写入到磁盘。当一个存有reginA的服务器启动,数据将存在缓存中,注意到显示的两条数据是在你运行停止命令之前用put命令存放进去的。

 

第7步: 检查复制效果.

在这一步中,你开启第二台缓存服务器,因为regionA是可复制的,数据将在任何一台存有regionA区域的服务器中可用。

1.开启第二台缓存服务器

 

Java代码   收藏代码
  1. gfsh>start server --name=server2 --server-port=40412  
 2.运行 describe region查看regionA信息

 

 

Java代码   收藏代码
  1. gfsh>describe region --name=regionA  
  2. ..........................................................  
  3. Name            : regionA  
  4. Data Policy     : persistent replicate  
  5. Hosting Members : server1  
  6.                   server2  
  7.   
  8. Non-Default Attributes Shared By Hosting Members  
  9.   
  10.  Type  | Name | Value  
  11. ------ | ---- | -----  
  12. Region | size | 2  
 注意到你不需要为server2再次创建regionA,命令输出显示regionA存在于server1和server2上。当gfsh启动服务器时,它从群集配置服务请求配置,然后分发共享的配置到任何一台加入到集群的新服务器。
3.添加第三条数据
Java代码   收藏代码
  1. gfsh>put --region=regionA --key="3" --value="three"  
  2. Result      : true  
  3. Key Class   : java.lang.String  
  4. Key         : 3  
  5. Value Class : java.lang.String  
  6. Old Value   : <NULL>  
 4.打开pulse应用程序(在一个Web浏览器中),并观察集群拓扑。你应该可以看到一个locator和两个server。点击数据选项卡来查看regionA的信息。
5.用如下命令停止缓存服务器
Java代码   收藏代码
  1. gfsh>stop server --name=server1  
  2. Stopping Cache Server running in /home/username/my_gemfire/server1 on ubuntu.local[40411] as server1...  
  3. Process ID: 4064  
  4. Log File: /home/username/my_gemfire/server1/server1.log  
  5. ....  
 6.从剩余的服务器中查询数据
Java代码   收藏代码
  1. gfsh>query --query="select * from /regionA"  
  2.   
  3. Result     : true  
  4. startCount : 0  
  5. endCount   : 20  
  6. Rows       : 3  
  7.   
  8. Result  
  9. ------  
  10. two  
  11. one  
  12. three  
 注意到数据有三条,包括了你刚才添加的。
7.添加第四条数据
Java代码   收藏代码
  1. gfsh>put --region=regionA --key="4" --value="four"  
  2. Result      : true  
  3. Key Class   : java.lang.String  
  4. Key         : 3  
  5. Value Class : java.lang.String  
  6. Old Value   : <NULL>  
 注意到只有server2在运行。因为数据是可复制的和持久化的,所有的数据都是可用的,但是当前这条数据仅在server2上可用。
Java代码   收藏代码
  1. gfsh>describe region --name=regionA  
  2. ..........................................................  
  3. Name            : regionA  
  4. Data Policy     : persistent replicate  
  5. Hosting Members : server2  
  6.   
  7. Non-Default Attributes Shared By Hosting Members  
  8.   
  9.  Type  | Name | Value  
  10. ------ | ---- | -----  
  11. Region | size | 4  
 
8.停止剩余的服务器
Java代码   收藏代码
  1. gfsh>stop server --name=server2  
  2. Stopping Cache Server running in /home/username/my_gemfire/server2 on ubuntu.local[40412] as server2...  
  3. Process ID: 4185  
  4. Log File: /home/username/my_gemfire/server2/server2.log  
  5. .....  
 

第8步: 并行重启缓存服务器.

在这一步中并行重新启动缓存服务器。由于数据是持久化的,当服务器重新启动时,数据可用。由于数据被复制,您必须并行启动服务器,以便在启动前同步他们的数据。

1.启动server1,因为regionA是可复制和持久化的,它需要其它服务器上的数据来启动并等待其它服务器启动。

 

Java代码   收藏代码
  1. gfsh>start server --name=server1 --server-port=40411  
  2. Starting a GemFire Server in /home/username/my_gemfire/server1...  
  3. ............................................................................  
  4. ............................................................................  
 注意到如果你在server1.log文件中查找启动服务器的信息,你会看到一个类似下面的日志信息:

 

 

Java代码   收藏代码
  1. [info 2015/01/14 09:08:13.610 PST server1 <main> tid=0x1] Region /regionA has pot  
  2. entially stale data. It is waiting for another member to recover the latest data.  
  3.   My persistent id:  
  4.   
  5.     DiskStore ID: 8e2d99a9-4725-47e6-800d-28a26e1d59b1  
  6.     Name: server1  
  7.     Location: /192.0.2.0:/home/username/my_gemfire/server1/.  
  8.   
  9.   Members with potentially new data:  
  10.   [  
  11.     DiskStore ID: 2e91b003-8954-43f9-8ba9-3c5b0cdd4dfa  
  12.     Name: server2  
  13.     Location: /192.0.2.0:/home/username/my_gemfire/server2/.  
  14.   ]  
  15.   Use the "gemfire list-missing-disk-stores" command to see all disk stores that  
  16. are being waited on by other members.  
 2.在第二个命令行窗口中,切换到工作目录(例如 my_gemfire)并且启动gfsh.

 

 

Java代码   收藏代码
  1. [username@localhost ~/my_gemfire]$ gfsh  
  2.     _________________________     __  
  3.    / _____/ ______/ ______/ /____/ /  
  4.   / /  __/ /___  /_____  / _____  /  
  5.  / /__/ / ____/  _____/ / /    / /  
  6. /______/_/      /______/_/    /_/    v8.2.0  
  7.   
  8. Monitor and Manage GemFire  
 3.进行如下命令连接集群

 

 

Java代码   收藏代码
  1. gfsh>connect --locator=localhost[10334]  
  2. Connecting to Locator at [host=localhost, port=10334] ..  
  3. Connecting to Manager at [host=ubuntu.local, port=1099] ..  
  4. Successfully connected to: [host=ubuntu.local, port=1099]  
 4.启动server2

 

 

Java代码   收藏代码
  1. gfsh>start server --name=server2 --server-port=40412  
 注意到当server2启动时注意server2在第一个gfsh命令窗口中完成启动。

 

 

Java代码   收藏代码
  1. Server in /home/username/my_gemfire/server1 on ubuntu.local[40411] as server1 is currently online.  
  2. Process ID: 3402  
  3. Uptime: 1 minute 46 seconds  
  4. GemFire Version: 8.2.0  
  5. Java Version: 1.8.0_60  
  6. Log File: /home/username/my_gemfire/server1/server1.log  
  7. JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334] -Dgemfire.use-cluster-configuration=true  
  8. -XX:OnOutOfMemoryError=kill -KILL %p -Dgemfire.launcher.registerSignalHandlers=true  
  9. -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806  
  10. Class-Path: /home/username/Pivotal_GemFire_820_b17919_Linux/lib/gemfire.jar:  
  11. /home/username/Pivotal_GemFire_820_b17919_Linux/lib/server-dependencies.jar  
 5.验证locator和两台server已经启动

 

 

Java代码   收藏代码
  1. gfsh>list members  
  2.   Name   | Id  
  3. -------- | ---------------------------------------  
  4. server2  | ubuntu(server2:3992)<v8>:21507  
  5. server1  | ubuntu(server1:3402)<v7>:36532  
  6. locator1 | ubuntu(locator1:2813:locator)<v0>:46644  
 6.运行查询命令验证你用put命令所放置的所有数据是可用的。

 

 

Java代码   收藏代码
  1. gfsh>query --query="select * from /regionA"  
  2.   
  3. Result     : true  
  4. startCount : 0  
  5. endCount   : 20  
  6. Rows       : 5  
  7.   
  8. Result  
  9. ------  
  10. one  
  11. two  
  12. four  
  13. Three  
  14.   
  15. NEXT_STEP_NAME : END  
 7.用以下命令停止server2

 

 

Java代码   收藏代码
  1. gfsh>stop server --dir=server2  
  2. Stopping Cache Server running in /home/username/my_gemfire/server2 on 192.0.2.0[40412] as server2...  
  3. Process ID: 3992  
  4. Log File: /home/username/my_gemfire/server2/server2.log  
  5. ....  
 8.运行查询命令验证你用put命令所放置的所有数据是可用的。

 

 

Java代码   收藏代码
  1. gfsh>query --query="select * from /regionA"  
  2.   
  3. Result     : true  
  4. startCount : 0  
  5. endCount   : 20  
  6. Rows       : 5  
  7.   
  8. Result  
  9. ------  
  10. one  
  11. two  
  12. four  
  13. Three  
  14.   
  15. NEXT_STEP_NAME : END  
 

 

第9步: 关闭系统包括你的locator.

按以下步骤来关闭集群

1.在当前的gfsh会话中,停止集群

 

Java代码   收藏代码
  1. gfsh>shutdown --include-locators=true  
 2.当出现提示时键入Y来确认关闭集群

 

 

Java代码   收藏代码
  1. As a lot of data in memory will be lost, including possibly events in queues,  
  2. do you really want to shutdown the entire distributed system? (Y/n): Y  
  3. Shutdown is triggered  
  4.   
  5. gfsh>  
  6. No longer connected to ubuntu.local[1099].  
  7. gfsh>  
 3.键入 exit来退出gfsh

 

 

第10步: 下步做什么…

关于下一步将探索geode什么,这里有一些建议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值