




已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
GemFire 數據存儲,GemFire 中國社區(qū)發(fā)起人 楊旭鈞(微信號:theseusyang),數據存儲,數據存儲可用于如下的緩存類型: Cached regions. 從緩存region中持久化/溢出數據。See Using Disk for Backup and Overflow in the GemFire Enterprise Developers Guide. Servers client subscription queues. 溢出訂閱消息隊列來維持內存利用率. See Overflowing the Client Queue to Disk in the GemFire Enterprise Developers Guide. Gateway messaging queues.持久化消息隊列用于HA高可用.這些隊列通常是溢出隊列. See Gateway Queue Persistence in the GemFire Enterprise Developers Guide. 你可以在緩存級別上定義磁盤存儲. 每一個磁盤存儲可供多個region和隊列來使用.,磁盤存儲的使用,每一個成員都有自己的磁盤存儲. 對于每一個磁盤存儲來說, 你可以定義何時和怎樣存儲數據到磁盤中. 你也能夠為多個region和queue存儲數據. 下圖顯示了一個緩存服務器有region A、B和X。Region A和B使用磁盤存儲D,RegionX和客戶端訂閱隊列使用磁盤存儲R GemFire寫入磁盤存儲的信息 成員列表、狀態(tài)信息, 例如運行、離線和時間戳 寫入磁盤存儲中的Region列表 對于每個region來說: Region 加載和容量管理屬性, 在啟動時可快速加載 Region 數據操作,磁盤存儲文件名稱和擴展,示例,Example files for Disk Stores persistDS1 and overflowDS1 bash-2.05$ ls -tlra persistData1/ total 8 -rw-rw-r- 1 jpearson users 188 Mar 4 06:17 BACKUPpersistDS1.if drwxrwxr-x 2 jpearson users 512 Mar 4 06:17 . -rw-rw-r- 1 jpearson users 0 Mar 4 06:18 BACKUPpersistDS1_1.drf -rw-rw-r- 1 jpearson users 38 Mar 4 06:18 BACKUPpersistDS1_1.crf drwxrwxr-x 8 jpearson users 512 Mar 4 06:20 bash-2.05$ bash-2.05$ ls -ltra overflowData1/ total 1028 drwxrwxr-x 8 jpearson users 512 Mar 4 06:20 -rw-rw-r- 1 jpearson users 0 Mar 4 06:21 DRLK_IFoverflowDS1.lk -rw-rw-r- 1 jpearson users 0 Mar 4 06:21 BACKUPoverflowDS1.if -rw-rw-r- 1 jpearson users 1073741824 Mar 4 06:21 OVERFLOWoverflowDS1_1.crf drwxrwxr-x 2 jpearson users 512 Mar 4 06:21 . Default Disk Store Files for Persistent Region bash-2.05$ ls -tlra total 106 drwxrwxr-x 8 jpearson users 1024 Mar 8 14:51 -rw-rw-r- 1 jpearson users 1010 Mar 8 15:01 defTest.xml drwxrwxr-x 2 jpearson users 512 Mar 8 15:01 backupDirectory -rw-rw-r- 1 jpearson users 0 Mar 8 15:01 DRLK_IFDEFAULT.lk -rw-rw-r- 1 jpearson users 107374183 Mar 8 15:01 BACKUPDEFAULT_1.drf -rw-rw-r- 1 jpearson users 966367641 Mar 8 15:01 BACKUPDEFAULT_1.crf -rw-rw-r- 1 jpearson users 172 Mar 8 15:01 BACKUPDEFAULT.if drwxrwxr-x 3 jpearson users 512 Mar 8 15:01 .,磁盤存儲oplog文件,在創(chuàng)建時, 每一個oplog文件利用 max-oplog-size初始化,大小在crf 和 drf 文件之間切分. 當 oplog關閉時, GemFire 回收未用完的文件空間. 當一個oplog文件用完之后, GemFire 會自動關閉它,同時使用下一個序列號創(chuàng)建新的log文件. 這個被稱為oplog滾動. 你也能夠通過API強制調用一個oplog滾動, DiskStore.forceRoll. 在壓縮磁盤存儲之前做這個操作,將滾動到最新的oplog進行壓縮. 日志壓縮能夠改變磁盤存儲文件的名稱. 文件序列號經常被替換, 一些現有的日志被刪除或替換成最新的log日志文件. 如果oplog文件已經用完, GemFire怎樣處理是否開啟自動壓縮功能: 如果自動壓縮開啟, GemFire 在文件目錄中創(chuàng)建一個新的oplog文件, 如果超過規(guī)定大小,則記錄一個告警信息: Even though the configured directory size limit has been exceeded a new oplog will be created. The current limit is of XXX. The current space used in the directory is YYY. 因此當自動壓縮開啟時, dir-size 并不限制磁盤空間的使用. GemFire 將執(zhí)行自動壓縮, 來清空空間, 但是系統(tǒng)可能超過磁盤的配置限制. 如果自動壓縮禁用, GemFire不創(chuàng)建新的oplog文件, 后續(xù)的操作將被阻塞,同時GemFire 記錄日志錯誤: Disk is full and rolling is disabled. No space can be created.,壓縮磁盤存儲log文件,當緩存操作被添加到磁盤存儲上時, 任何現存的操作記錄都將淘汰, 同時GemFire將其標記為垃圾. 例如,當你創(chuàng)建一個條目時, 創(chuàng)建操作被添加到存儲上. 如果你更新條目, 更新操作將被添加,同時創(chuàng)建操作變?yōu)槔涗? GemFire 并不刪除垃圾記錄, 但是在每個操作日志中,它跟蹤垃圾百分比, 同時一個提供刪除垃圾記錄、壓縮日志文件的機制. GemFire 通過拷貝所有非垃圾記錄到當前日志來壓縮舊垃圾日志,同時丟棄舊文件. 當記錄日志時, oplogs按需滾動,進行壓縮。 你可以配置自動壓縮任何已關閉的操作日志,當垃圾內容達到一個特定百分比時,可人工請求磁盤存儲的壓縮. 對于在線磁盤存儲,當前的操作日志并不進行壓縮操作,無論垃圾的比率是多少.,在線壓縮和離線壓縮,在線壓縮 當垃圾超過了文件配置大小的比率時,舊 log 文件將進行在線壓縮。當這個操作被更新的操作所替代時,這個記錄將變成垃圾。在壓縮過程中,非垃圾記錄被添加到當前的日志中,新的緩存操作按順序進行排列。 在線壓縮并不阻塞當前的系統(tǒng)操作。 Automatic 當 auto-compact 置為 true時, GemFire自動壓縮每一個oplog,當它的壓縮內容超過了 compaction-threshold時。 自動壓縮可能自動執(zhí)行壓縮動作, 你也可以禁用自動壓縮,執(zhí)行人工壓縮,來節(jié)省時間和提高性能。 Manual 為了運行手動壓縮, 設置 allow-force-compaction 為 true. GemFire將按需進行文件壓縮. 缺省情況下它是禁用的. 當系統(tǒng)運行時,在任何時間你都能運行手動壓縮. Oplogs 基于compaction-threshold 進行壓縮,. 用戶可進行如下操作: 通過API為單個在線存儲進行日志壓縮: myCache.getDiskStore(“myDiskStore“).forceCompaction(); 此方法滾動oplogs日志,然后進行壓縮. gemfire compact-all-disk-stores 使用命令行,在分布式系統(tǒng)中壓縮所有在線磁盤存儲: 保證 gemfire 調用能夠找到 perties 文件. 離線壓縮 離線壓縮是手動壓縮的一種. 所有的日志文件會盡可能壓縮,而不考慮有多少垃圾存在. 離線壓縮創(chuàng)建了一個新的日志文件,對于已經壓縮的日志進行記錄. 使用下列命令壓縮離線的磁盤存儲. gemfire compact-disk-store myDiskStoreName /firstDir /secondDir maxOplogSize=maxMegabytesForOplog 你必須提供磁盤存儲的所有目錄. 如果沒有指定oplog最大值, GemFire則使用缺省值. 離線壓縮會消耗大量內存. 在運行時,如果報出內存溢出錯誤 java.lang.OutOfMemory , 你則需要增加內存堆的大小。 離線壓縮和在線壓縮的方式大致相同,但是沒有壓縮時的緩存操作。因為沒有當前的日志文件,壓縮將創(chuàng)建新的日志文件開始壓縮,手動壓縮的性能考慮,如果你關閉了自動壓縮,在繁忙時,你能夠提升性能,同時運行手動壓縮,系統(tǒng)負載更低。 在應用執(zhí)行大量的數據操作之后,你能通過調用API的方式來執(zhí)行。 在系統(tǒng)使用率低的時候,可以執(zhí)行 gemfire compactalldiskstores 命令. 為了實施這個策略,所需的磁盤空間要足夠大,用來容納非壓縮磁盤數據。通過系統(tǒng)監(jiān)控來防止磁盤空間過量使用. 你可能只運行離線壓縮. 因此,需設置allowforcecompaction為 false ,避免存儲手動在線壓縮的所需信息. 目錄大小限制 在壓縮時,如果已經達到了磁盤目錄大小限制: 對于自動化壓縮, 系統(tǒng)記錄警告, 但是并不停止 對于手動壓縮, 操作停止,同時返回 DiskAccessException 異常錯誤, 記錄系統(tǒng)已經超出了磁盤空間的限制,示例,磁盤存儲壓縮 bash-2.05$ ls -ltra backupDirectory total 28 -rw-rw-r- 1 jpearson users 3 Apr 7 14:56 BACKUPds1_3.drf -rw-rw-r- 1 jpearson users 25 Apr 7 14:56 BACKUPds1_3.crf drwxrwxr-x 3 jpearson users 1024 Apr 7 15:02 -rw-rw-r- 1 jpearson users 7085 Apr 7 15:06 BACKUPds1.if -rw-rw-r- 1 jpearson users 18 Apr 7 15:07 BACKUPds1_4.drf -rw-rw-r- 1 jpearson users 1070 Apr 7 15:07 BACKUPds1_4.crf drwxrwxr-x 2 jpearson users 512 Apr 7 15:07 . bash-2.05$ gemfire validate-disk-store ds1 backupDirectory /root: entryCount=6 /partitioned_region entryCount=1 bucketCount=10 Disk store contains 12 compactable records. Total number of region entries in this disk store is: 7 bash-2.05$ gemfire compact-disk-store ds1 backupDirectory Offline compaction removed 12 records. Total number of region entries in this disk store is: 7 bash-2.05$ ls -ltra backupDirectory total 16 -rw-rw-r- 1 jpearson users 3 Apr 7 14:56 BACKUPds1_3.drf -rw-rw-r- 1 jpearson users 25 Apr 7 14:56 BACKUPds1_3.crf drwxrwxr-x 3 jpearson users 1024 Apr 7 15:02 -rw-rw-r- 1 jpearson users 0 Apr 7 15:08 BACKUPds1_5.drf -rw-rw-r- 1 jpearson users 638 Apr 7 15:08 BACKUPds1_5.crf -rw-rw-r- 1 jpearson users 2788 Apr 7 15:08 BACKUPds1.if drwxrwxr-x 2 jpearson users 512 Apr 7 15:09 . bash-2.05$,配置磁盤存儲,你可以不用配置任何的磁盤存儲來保存數據條目到磁盤. 這將使用GemFire的缺省磁盤存儲. 缺省的名稱為DEFAULT ,同時在初始化的時候,使用所有的磁盤存儲設置都是缺省的.,磁盤存儲API,DiskStoreFactory 用于配置和創(chuàng)建一個磁盤存儲,同時使用 DiskStore API 來管理它. com.g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 政治生活+第二課第四框《民主監(jiān)督+守望公共家園》教學課件
- 2025年精神衛(wèi)生理論試題
- 2025年公司上半年工作總結模版
- 全面釋放新質生產力
- 豐淚溝的臨床護理
- 腫瘤防治宣傳
- 某藥業(yè)四季三黃軟膠囊提案
- 某地產工程全過程“四化”管理
- 人教部編版三年級語文下冊《口語交際:春游去哪兒玩》教學課件
- 產后盆底功能康復治療
- 安徽省1號卷A10聯盟2025屆高三5月最后一卷物理試題及答案
- 2025雅思考試寫作專項預測試卷:時態(tài)與語態(tài)運用試題
- 高中生物易錯點
- 2025租賃合同續(xù)簽協(xié)議書
- 《聚碳酸酯合成》課件
- 3.2基因工程的基本操作程序課件 高二下學期生物人教版(2019)選擇性必修3
- 23.《海底世界》課件
- 2025年醫(yī)療行業(yè)反壟斷監(jiān)管政策變化與合規(guī)經營關鍵指引報告
- 礦產資源開采與銷售協(xié)議
- 《支氣管鏡檢查技術》課件
- 育肥豬考試試題及答案
評論
0/150
提交評論