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
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。