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:\dev\BigData\incubator-geode-develop\gemfire-assembly\build\install\apache-geode

Path里增加:%GEODE_HOME%\bin;

編譯后的文件都放在F:\dev\BigData\incubator-geode-develop\gemfire-assembly\build\install目錄下。

搭建過程參考如何命令和快速上手教程。

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-geode\config\gemfire.properties文件中的屬性:enable-cluster-configuration=true,改為false。

5、快速上手教程:

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

 

下一篇,我將講解應用程序如何使用Geode進行緩存。

對於Geode的學習,最終目的是源代碼閱讀,看看Geode如何實現了這么強大的分布式數據庫。

歡迎大家一起學習,交流經驗,不吝指教,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM