最近在研究开源内存数据库,apache ignite用了一段时间感觉还行因为资料太少,因此只是用了它的rpc功能做了一个分布式框架。
前天发现apache geode这个框架,据说是12306的Gemfire的开源版本。
官网地址:http://geode.apache.org/
一、安装
安装之前,服务器上必须要安装jdk(最好是jdk1.8),配置好JAVA_HOME
下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/geode/1.2.1/apache-geode-1.2.1.tar.gz tar -zxvf apache-geode-1.2.1.tar.gz -C /opt/ cd /opt/apache-geode-1.2.1/
添加bin到PATH
vi /etc/profile
在最后一行新增
export PATH=$PATH:/opt/apache-geode-1.2.1/bin
使环境变量生效
source /etc/profile
测试是否安装成功
gfsh version --full
[root@master ~]# gfsh version --full Build-Date: 2017-09-16 07:20:46 -0700 Build-Id: abaker 0 Build-Java-Version: 1.8.0_121 Build-Platform: Mac OS X 10.12.3 x86_64 Product-Name: Apache Geode Product-Version: 1.2.1 Source-Date: 2017-09-08 11:57:38 -0700 Source-Repository: release/1.2.1 Source-Revision: 0b881b515eb1dcea974f0f5c1b40da03d42af9cf Native version: native code unavailable Running on: /192.168.60.50, 4 cpu(s), amd64 Linux 3.10.0-327.el7.x86_64
二、启动
启动locator,locator我理解类似一个请求转发器负责转发各种查询到各个server上,默认端口为:10334
[root@master ~]# gfsh _________________________ __ / _____/ ______/ ______/ /____/ / / / __/ /___ /_____ / _____ / / /__/ / ____/ _____/ / / / / /______/_/ /______/_/ /_/ 1.2.1 Monitor and Manage Apache Geode gfsh> gfsh>start locator --name=locator50
启动server
gfsh>start server --name=server50 --server-port=40411
查看集群情况,这里只有一台
gfsh>list members Name | Id --------- | --------------------------------------------------- locator50 | 192.168.60.50(locator50:32148:locator)<ec><v0>:1024 server50 | 192.168.60.50(server50:32411)<v3>:1025
三、试用命令行
可以参考文档:http://geode.apache.org/docs/guide/12/getting_started/15_minute_quickstart_gfsh.html
3.1作为客户端连接locator
connect命令不带任何参数的话表示连接本机
gfsh>connect --locator=192.168.60.50[10334] Connecting to Locator at [host=192.168.60.50, port=10334] .. Connecting to Manager at [host=master, port=1099] .. Successfully connected to: [host=master, port=1099]
3.2创建region
region可以认为数据库里的表,
create region --name=regionA --type=REPLICATE_PERSISTENT
3.2查看region列表
gfsh>list regions List of regions --------------- regionA
3.3插入两条kv数据
gfsh>put --region=regionA --key="1" --value="one" Result : true Key Class : java.lang.String Key : 1 Value Class : java.lang.String Old Value : <NULL> gfsh>put --region=regionA --key="2" --value="two" Result : true Key Class : java.lang.String Key : 2 Value Class : java.lang.String Old Value : <NULL>
3.4 查询数据
gfsh>query --query="select * from /regionA" Result : true Limit : 100 Rows : 2 Result ------ two one
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。