最近在研究开源内存数据库,apache ignite用了一段时间感觉还行因为资料太少,因此只是用了它的rpc功能做了一个分布式框架。
前天发现apache geode这个框架,据说是12306的Gemfire的开源版本。
官网地址:http://geode.apache.org/
一、安装
安装之前,服务器上必须要安装jdk(最好是jdk1.8),配置好JAVA_HOME
下载
1
2
3
|
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
在最后一行新增
1
|
export PATH=$PATH: /opt/apache-geode-1 .2.1 /bin
|
使环境变量生效
测试是否安装成功
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@master ~]
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
1
2
3
4
5
6
7
8
9
10
11
|
[root@master ~]
_________________________ __
/ _____/ ______/ ______/ /____/ /
/ / __/ /___ /_____ / _____ /
/ /__/ / ____/ _____/ / / / /
/______/_/ /______/_/ /_/ 1.2.1
Monitor and Manage Apache Geode
gfsh>
gfsh>start locator --name=locator50
|
启动server
1
|
gfsh>start server --name=server50 --server-port=40411
|
查看集群情况,这里只有一台
1
2
3
4
5
|
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命令不带任何参数的话表示连接本机
1
2
3
4
|
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可以认为数据库里的表,
1
|
create region --name=regionA -- type =REPLICATE_PERSISTENT
|
3.2查看region列表
1
2
3
4
|
gfsh>list regions
List of regions
---------------
regionA
|
3.3插入两条kv数据
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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 查询数据
1
2
3
4
5
6
7
8
9
|
gfsh>query --query= "select * from /regionA"
Result : true
Limit : 100
Rows : 2
Result
------
two
one
|
本文转自yifangyou 51CTO博客,原文链接:http://blog.51cto.com/yifangyou/1969110,如需转载请自行联系原作者