Geode 集群搭建,快速上手使用


Geode 介紹:

Geode是一個提供實時、一致訪問大型分布式雲平台下數據密集型應用的數據管理平台。

Geode 通過跨多進程,把內存、CPU、網絡資源和可選的本地磁盤匯集起來,來管理應用程序對象及其行為。它使用動態復制和數據分片技術,來實現高可用性,改善性能、可伸縮性和容錯。Geode 除了是一個分布式數據容器,它還是一個內存數據管理系統,提供了可靠的異步事件通知和有保證的消息傳遞。

Geode 是一個非常成熟、健壯的產品,多個華爾街交易平台首次將 Geode(稱為GemFire™)部署在金融部門。如今已有超過 600 家企業用戶將 Geode 用於大規模、7*24 業務核心應用程序中。其中一個應用案例--就是中國國家鐵路將 Geode 用於整個國家的鐵路票務系統,10 個節點集群管理着 2TB 的內存熱數據,以及 10 個備份節點作為高可用性和彈性擴展。

 

安裝環境准備:

1.jdk1.8及以上版本,並配置環境變量

2.主機名和主機名和主機文件已針對機器進行了正確配置,主機名和主機文件配置可以影響gfsh和Pulse功能。(本人在未進行正確配置遇到UnknowHostException異常)

3. 禁用TCP SYN Cookie 具體步驟:

    將etc/sysctl.conf 中 sysnet.ipv4.tcp_syncookies 設為 0 ,  sysctl -p立即生效 

4.設置服務器時間同步服務,例如網絡時間協議(NTP),在多台服務器集群多站點中尤為重要

   

環境搭建:

 ( 提示:若搭建分布式則至少兩台機器,同時保證兩台機器使用相同版本)

1.安裝包 從 http://geode.apache.org/releases/ 下載二進制包

2.解壓安裝包到 指定的安裝路徑下,設置geotd環境變量

   例如安裝到/usr/local/下:

$ tar -xvf apache-geode-1.1.0.tar -C /usr/local/

   在 /etc/profile 中PATH 添加

:/usr/local/bin


3.驗證是否安裝成功和查看版本信息 

$ gfsh version --full

 快速熟悉使用參考 http://geode.apache.org/docs/guide/16/getting_started/15_minute_quickstart_gfsh.html

 

基本概念:

定位器(Locator): 提供發現服務和負載均衡服務。您可通過定位器服務列表來配置客戶端,定位器管理維護着一個動態成員服務器(server)列表,和鏈接不同的server。

服務器(server) : 主要用於托管長期數據區域和運行標准Geode進程,例如客戶端/服務器配置中的服務器。服務器(server),可以部署在同一台機器,也可以部署在不同機器。在不同的機器上啟動時,需要先用connect連接已啟動的locator

區域(region) :   類似於關系型數據庫的表,並且作為“name/value 對”以分布式方式管理數據。復制區域(replicated region)存儲着 {分布式系統中每個緩存成員數據的} 相同副本。分區區域(partitioned region)在緩存成員之間傳播數據。系統配置之后,客戶端應用 {在不了解底層系統架構的情況下} 也可訪問區域中的分布式數據。當數據發生改變的時候,您可以定義監聽器來接收通知,並且您也可以定義過期條件,來刪除區域中的過期數據。

 

常用操作命令:

1.創建定位器Locator           

  【提示: name 、port、 不指定也會自動創建,  不指定locators則默認為當前連接的locator(連接已啟動的ocator命令為:connect --locator=ip[locator的port])  , hostname 代表主機名】:

gfhs> start locator --name=locator1 --port=10334 --locators=hostname[10334]

2.創建服務器server

  【提示: server可以部署在不同機器 】:

gfsh> start server --name=server1 --server-port=40401 --locators=hostname[10334]

3.創建持久化復制的region  

gfsh>create region --name=region1 --type=REPLICATE_PERSISTENT

4.向region中添加、查詢數據

put --region=regionA --key="1" --value="one"
query --query="select * from /regionA"  

5.查看有關區域的詳細信息

 【提示:regionName為region的名稱】

gfsh>describe region --name=regionName

6.列出集群成員:

gfsh>list members

7.開啟監控web界面:

 【提示:默認地址   為http://localhost:7070/pulse/login.html,賬號 密碼為admin,admin】

gfsh>start pulse

8.停止server

gfsh>stop server --name=server1

9.停止集群

 【提示–include-locators 參數可以停止localtor,如果沒有這個參數,則只停止數據節點,–time-out=60 停止的超時時間,避免長時間等待】

gfsh>shutdown –include-locators=true

10.導入集群

export cluster-configuration --zip-file-name=/home/username/configs/myClusterConfig.zip

11.導出集群

import cluster-configuration --zip-file-name=/home/username/configs/myClusterConfig.zip

擴展:  

 geode 抗壓測試shell腳本

#!/bin/bash
nowtime=$(date +%Y-%m-%d-%H-%M-%S)
gfshPath="/usr/local/apache-geode-1.6.0/bin/gfsh"

for ((j=0 ; j<5000 ; j++));do
echo -e "$gfshPath -e \"connect --locator=192.168.5.75[30001]\" \c" > datatmp+${j}.sh
for ((i=0; i<=10000; i++));do
echo -e " -e \"put --region=region1 --key=${j}.${i} --value=${nowtime}+data${i}+-+${j}\"\c" >> datatmp+${j}.sh
done
echo thread:${j}
nohup sh datatmp+${j}.sh > /dev/null 2>&1 &
done

其他操作參考官網文檔:http://geode.apache.org/docs/


作者:skychi
出處:https://www.cnblogs.com/ytc6/p/9214948.html
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

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



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