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


    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如何实现了这么强大的分布式数据库。

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

  • 相关阅读:
    docker使用
    window版docker安装及配置
    mysql命令
    xshell
    git 命令
    分页器原理
    PCL-Kinfu编译手册
    cmake-add_definitions
    cmake-include_directories
    cmake-source_group
  • 原文地址:https://www.cnblogs.com/ldw85/p/5173162.html
Copyright © 2020-2023  润新知