Geode/Gemfire学习笔记(一)环境搭建、快速上手

摘要:
Geode/Gemfire是Pivotal开发的开源分布式NoSql内存数据库,可用于完成分布式缓存、数据持久化、分布式事务、动态扩展等功能。由于使用了grade编译,客户端需要安装grade编译环境。有关生成过程,请参阅How to Command and Quick Start Tutorial。学习Geode的最终目标是阅读源代码,了解Geode是如何实现如此强大的分布式数据库的。

Geode/Gemfire 是Pivotal公司开发的一款开源的、分布式NoSql内存数据库,可用来进行完成分布式缓存,数据持久化,分布式事物、动态扩展等功能。

他的优点和特性:

  • 性能扩展,线性扩展,事物和读写低延迟

  • 通过全局的分布式应用进行一致的数据库操作

  • 高可用性和高伸缩性,全局规模

  • 强大的开发者特性

  • 简单的分布式节点管理

  • 动态复制和分区技术
  • 可快速并行恢复的持久化
  • 快速内存存储,优化的大堆内存,数据压缩,磁盘溢出回收和数据超时机制
  • 分布式位置感知功能
  • 分布式事物ACID
  • 支持类SQL和索引
  • 服务器可以将数据事件通知客户端,同步或者异步的响应客户端,保证事件顺序
  • 高可扩展高健壮性的集群技术,失败检测、网络分区检测

作为世界规模最大的实时交易系统之一12306就是使用的#GemFire#

 

github源代码下载地址:https://github.com/apache/incubator-geode

geode文档地址:http://geode-docs.cfapps.io/

 

Geode是Gemfire的开源版本,GemFire是商业版本,最初被应用于对实时数据处理要求很高的华尔街的金融部门。

 

安装调试:

1、所需环境: jdk1.8

2、编译:

1)如果使用Geode,则需要编译 后方可使用。

由于使用gradle编译,客户端需要安装gradle编译环境。gradle需要下载大量的依赖包进行编译,所以这一步必须翻*墙才能下载。建议使用最新版的自*由*men,很好用。

我最初使用了XX-net,虽然可以翻**墙,但是下载依赖包却总是报错,可能代理有某些限制,换了自*由*men就一切顺利了。

2)如果使用GemFire已编译好的版本,则无需理会上述麻烦,可直接使用。

 

3、分布式环境搭建

至少两台机器,同时保证两台机器使用相同版本,要么都用Geode,要么都用Gemfire,不然无法启动server。

增加环境变量 GEODE_HOME=F:devBigDataincubator-geode-developgemfire-assemblyuildinstallapache-geode

Path里增加:%GEODE_HOME%in;

编译后的文件都放在F:devBigDataincubator-geode-developgemfire-assemblyuildinstall目录下。

搭建过程参考如何命令和快速上手教程。

4、概念介绍

gfsh  geode的命令行shell工具,用于执行如下命令

locator 定位器,相当于master-slave中的master,或者zookeeper,主要用于管理集群,和链接不同的server。

  gfsh> start locator --name=locator1

server 服务器,可以部署在同一台机器,也可以部署在不同机器。在不同的机器上启动时,需要先用connect连接已启动的locator

  connect --locator=ip[locator的port]

  start server --name=server1

region 数据区域,或者叫表,是数据存储的基本单位,以下创建一个在集群内自动复制的,自动持久化的region,并持久化数据

  create region --name=regionA --type=REPLICATE_PERSISTENT

  put --region=regionA --key="1" --value="one"

OQL 类SQL的脚本,用来查数

  query --query="select * from /regionA"

以上命令的执行默认是以集群为范围的,如果要单机执行,需要修改apache-geodeconfiggemfire.properties文件中的属性:enable-cluster-configuration=true,改为false。

5、快速上手教程:

http://geode-docs.cfapps.io/docs/getting_started/15_minute_quickstart_gfsh.html

 

下一篇,我将讲解应用程序如何使用Geode进行缓存。

对于Geode的学习,最终目的是源代码阅读,看看Geode如何实现了这么强大的分布式数据库。

欢迎大家一起学习,交流经验,不吝指教,谢谢!

免责声明:文章转载自《Geode/Gemfire学习笔记(一)环境搭建、快速上手》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何获取url访问历史记录Linux下安装LoadRunner LoadGenerator下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python3.6安装教程

文章目录 Windows安装python3.6教程 1.下载安装包 2.安装 3.运行python 4.配置环境变量 Windows安装python3.6教程 Python代码要运行,必须要有Python解释器。 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。 Python3.x的版本是没有什...

vue 单页应用 seo 优化之 预渲染(prerender-spa-plugin)

前言:当前 SPA 架构流行的趋势如日中天,前后端分离的业务模式已经成为互联网开发的主流方式,但是 单页面 应用始终存在一个痛点,那就是 SEO, 对于那些需要推广,希望能在百度搜索时排名靠前的网站而言,使用单页面应用的是无法被 百度的 蜘蛛 爬到的,为此,众多流行的 MVVM 框架都推出了 很多解决方案,有官方的也有三方的,VUE也不例外,本文章就来分享...

APP 安全测试点概述

一、安装包测试 1.1 关于反编译   目的是为了保护公司的知识产权和安全方面的考虑等,一些程序开发人员会在源码中硬编码一些敏感信息,如密码。而且若程序内部一些设计欠佳的逻辑,也可能隐含漏洞,一旦源码泄漏,安全隐患巨大。   为了避免这些问题,除了代码审核外,通常开发的做法是对代码进行混淆,混淆后源代码通过反软件生成的源代码是很难读懂的,测试中,我们可以...

OpenFaceswap 入门教程(1):软件安装篇

---恢复内容开始--- 众多换脸软件中,DeepFaceLab其实是安装和使用最方便,更新最快的,但是由于其没有可是化界面,对于很新手来说,可能入门还是有点难度。那么今天就来介绍一款操作极其直观和简单的换脸软件OpenFaceSwap。这款软件的安装和使用体验和Fakeapp类似,但是软件内核“先进”很多,因为Fakeapp已经停更很久了,而OpenFa...

HBuilder打包App方法

HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。该软件既可以支持web代码编写,也可以将已经编写好的项目代码打包为手机APP。 HBuilder提供的打包有云端打包和本地打包两种,云端打包的特点是DCloud官方配置好了原生的打包环境,可以把HTML等文件编译为原生安装包。 1,下载HBuilder,注册并登陆。首先打...

【自动化测试】使用Java+selenium填写验证码成功登录

  这是我第一次发博客,若有问题,请多多指教!   本次是为了帮忙解决,如果在平时自动化遇到有验证码填写的情况,我们如何成功登录情况。 思路:     首先我们先将验证码复制并保存成一个图片,然后使用tesseract-ocr这个光学软件识别成txt文件,接着我们只要读取txt文件的内容即可    2. 使用工具:     Eclipse、selenium...