目錄
什么是Snapshot?
零拷贝snapshot,恢复,克隆
导出Snapshot vs Copy/Export Table
HBase Shell: Snapshot 操作
当前存在的限制
总结
首頁 資料庫 mysql教程 HBase的Snapshots功能介绍

HBase的Snapshots功能介绍

Jun 07, 2016 pm 04:30 PM
hbase 介紹 功能

hbase的snapshot功能还是挺有用的,本文翻译自cloudera的一篇博客,希望对想了解snapshot?的朋友有点作用,如果翻译得不好的地方,请查看原文 Introduction to Apache HBase Snapshots? 对照。 在之前,备份或者拷贝一个表只能用copy/export表,或者disable

hbase的snapshot功能还是挺有用的,本文翻译自cloudera的一篇博客,希望对想了解snapshot?的朋友有点作用,如果翻译得不好的地方,请查看原文 Introduction to Apache HBase Snapshots? 对照。

在之前,备份或者拷贝一个表只能用copy/export表,或者disable表后,从hdfs中拷贝出所有hfile。copy/export表用的是MapReduce来scan和copy表,这会对Region Server产生直接的性能影响,而用disable后拷贝文件则是直接不能访问了。

以此相反,HBase的snapshots功能可以让管理员不用拷贝数据的情况下轻松拷贝table,并且只会对RS造成很小影响。导出snapshots到另一个集群不会直接作用于RS,只是添加一些额外的逻辑。

下面是一些实用snapshots的场景:

  • 从用户/app错误中恢复
    • 从某个已知的安全状态恢复/还原。
    • 查看之前的snapshots并选择性地从merge到产线中。
    • 在重大升级或者修改之前保存snapshots。
  • 审查和/或报告指定时间的数据视图
    • 有目的性地按月采集数据。
    • 运行每天/每月/一刻时间报表。
  • 应用测试
    • 用snapshots在产线测试schema或者程序改变对数据相似度的影响,然后丢弃它。例如,获取一个snapshot,然后用该snapshot的内容创建一个表,然后对该表进行操作。
  • 离线作业
    • 获取一个snapshot,导到另外一个集群并用MapReduce作业来分析它。由于导出snapshot的操作发生在HDFS级别,你不会像拷贝表那样拖慢HBase。

什么是Snapshot?

一个snapshot其实就是一组metadata信息的集合,它可以让管理员将表恢复到以前的一个状态。snapshot并不是一份拷贝,它只是一个文件名的列表,并不拷贝数据。一个全的snapshot恢复以为着你可以回滚到原来的表schema和创建snapshot之前的数据。

操作

  • 获取:该操作尝试从指定的表中获取一个snapshot。该操作在regions作balancing,split或者merge等迁移工作的时候可能会失败。
  • 拷贝:该操作用指定snapshot的schema和数据来创建一个新表。该操作会不会对 原表或者该snapshot造成任何影响。
  • 恢复:?该操作将一个表的schema和data回滚到创建该snapshot时的状态。?
  • 删除:该操作将一个snapshot从系统中移除,释放磁盘空间,不会对其他拷贝或者snapshot造成任何影响。
  • 导出:该操作拷贝这个snapshot的data和metadata到另一个集群。该操作仅影响HDFS,并不会和hbase的Master或者Region Server通信(这些操作可能会导致集群挂掉)。

零拷贝snapshot,恢复,克隆

snapshot和CopyTable/ExportTable最大的区别是snapshot仅涉及metadata,不涉及数据拷贝。

Hbase一个重要的设计就是一旦写到一个文件就不会修改了。有不可修改的文件意味着一个snapshot仅需保持当前文件的使用相关信息就可以了, 并且,当compaction发生的时候,snapshot通知hbase系统仅把这些文件归档而不要删除它。

同样,当克隆或者恢复操作发生的时候,由于这些不变的文件,当用snapshot创建新表的时候仅需链接向这些不变的文件就行了。

导出snapshot是唯一需要拷贝数据的操作,这是因为其它的集群并没有这些数据文件。

导出Snapshot vs Copy/Export Table

除去更加好的一致性保证外,和Copy/Export作业相比,最大的不同是导出snapshot操作是在HDFS层级进行的。这就意味着hbase的master和Region Server是不参与该操作的,因此snapshot导出不会创建一些不必要的数据缓存,并且也不会因为由于很多scan操作导致的GC。snapshot导出操作产生的网络和磁盘开销都被HDFS的datanode分摊吸收了。

HBase Shell: Snapshot 操作

要想使用snapshot功能,请确认你的hbase-site.xml中的hbase.snapshot.enabled 配置项为true,如下:

?
???
hbase.snapshot.enabled
??? true
?
登入後複製

?创建一个snapshot用如下命令,该操作没有文件拷贝操作:

hbase> snapshot ‘tableName’, ‘snapshotName’
登入後複製

要想知道系统中创建了哪些snapshot,可以用list_snapshot命令,它会显示snapshot名,源表和创建时间日期。?

hbase> list_snapshots
SNAPSHOT               TABLE + CREATION TIME
 TestSnapshot          TestTable (Mon Feb 25 21:13:49 +0000 2013)
登入後複製

要想移除snapshot,用delete_snapshot命令,移除snapshot不会对已经克隆好的表胡总和随后发生的snapshot造成任何影响。

hbase> delete_snapshot ‘snapshotName’
登入後複製

?要想使用snapshot来创建一个新表,用clone_snapshot命令。该操作也无任何数据拷贝操作发生。

hbase> clone_snapshot ‘snapshotName’, ‘newTableName’
登入後複製

要是想恢复或者替换当前表的schema和数据,用restore_snapshot命令。

hbase> restore_snapshot ‘snapshotName’
登入後複製

要想导出一个snapshot到另外的集群,用ExportSnapshot工具。导出操作不会对Region server造成额外的负担。因为它工作在HDFS层级,你仅需指定HDFS的位置(其它集群的hbase.rootdir)即可,如下。

hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot
SnapshotName -copy-to hdfs:///srv2:8082/hbase
登入後複製

当前存在的限制

Snapshots依赖于一些想当然的地方,当前还有很多新特性并没有完全集成到工具里:

  • 做snapshot或者克隆表时如果发生Merging region操作时数据可能丢失。
  • 恢复表的时候,由于是对一个replication进行的,这可能导致两个集群数据不同步。

总结

当前的snapshot特性以及包括了所有基本功能,但是依然还有很多工作要做,例如质量(metrics),Web UI集成,磁盘使用优化等。

要想了解更多snapshot相关信息,请看官方文档的snapshot一节。

非特别说明,均为原创文章,转载请注明: 转载自邓的博客

本文链接地址: HBase的Snapshots功能介绍

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
豆包app有什麼功能 豆包app有什麼功能 Mar 01, 2024 pm 10:04 PM

豆包app裡會有很多ai創作的功能,那麼豆包app有什麼功能呢?使用者可以透過這個軟體來創作繪畫,和ai進行聊天,也能夠為用戶生成文章,幫助大家搜尋歌曲等。這篇豆包app功能介紹就能夠告訴大家具體的操作方法,以下就是具體內容,趕快看看吧!豆包app有什麼功能答:可以畫畫、聊天、寫文、找歌。功能介紹:1、問題查詢:可以透過ai來更快的找到問題的答案,什麼樣的問題都是可以詢問。 2.圖片生成:可以有ai來為大家創造不同的圖片,只需要告訴大家大概的要求。 3.ai聊天:能夠為用戶創建一個可以聊天的ai,

vivox100s和x100區別:效能比較及功能解析 vivox100s和x100區別:效能比較及功能解析 Mar 23, 2024 pm 10:27 PM

vivox100s和x100手機都是vivo手機產品線中的代表機型,它們分別代表了vivo在不同時間段內的高端技術水平,因此這兩款手機在設計、性能和功能上均有一定區別。本文將從效能比較和功能解析兩個面向對這兩款手機進行詳細比較,幫助消費者更好地選擇適合自己的手機。首先,我們來看vivox100s和x100在效能上的比較。 vivox100s搭載了最新的

自媒體到底是什麼?它的主要特點和功能有哪些? 自媒體到底是什麼?它的主要特點和功能有哪些? Mar 21, 2024 pm 08:21 PM

隨著網路的快速發展,自媒體這個概念已經深入人心。那麼,自媒體到底是什麼呢?它有哪些主要特點和功能呢?接下來,我們將一一探討這些問題。一、自媒體到底是什麼?自媒體,顧名思義,就是自己就是媒體。它是指透過網路平台,個人或團隊可以自主創建、編輯、發布和傳播內容的資訊載體。不同於傳統媒體,如報紙、電視、電台等,自媒體具有更強的互動性和個人化,讓每個人都能成為訊息的生產者和傳播者。二、自媒體的主要特色和功能有哪些? 1.低門檻:自媒體的崛起降低了進入媒體產業的門檻,不再需要繁瑣的設備和專業的團隊,一部手

小紅書帳號管理軟體有哪些功能?怎麼經營小紅書帳號? 小紅書帳號管理軟體有哪些功能?怎麼經營小紅書帳號? Mar 21, 2024 pm 04:16 PM

隨著小紅書在年輕人中的流行,越來越多的人開始利用這個平台分享各方面的經驗和生活見解。如何有效管理多個小紅書帳號成為關鍵問題。在本文中,我們將討論一些小紅書帳號管理軟體的功能,並探討如何更好地經營小紅書帳號。隨著社群媒體的發展,許多人發現自己需要管理多個社群帳號。對於小紅書用戶來說,這也是一個挑戰。一些小紅書帳號管理軟體可以幫助使用者更輕鬆地管理多個帳號,包括自動發佈內容、定時發布、資料分析等功能。透過這些工具,使用者可以更有效率地管理他們的帳號,提高帳號的曝光率和關注。另一、小紅書帳號管理軟體有

什麼是Discuz? Discuz的定義與功能介紹 什麼是Discuz? Discuz的定義與功能介紹 Mar 03, 2024 am 10:33 AM

《探索Discuz:定義、功能及程式碼範例》隨著網路的快速發展,社群論壇已成為人們獲取資訊、交流觀點的重要平台。在眾多的社群論壇系統中,Discuz作為國內較知名的一種開源論壇軟體,備受廣大網站開發者和管理員的青睞。那麼,什麼是Discuz?它又有哪些功能,能為我們的網站提供怎樣的幫助呢?本文將對Discuz進行詳細介紹,並附上具體的程式碼範例,幫助讀者更

PHP技巧:快速實現返回上一頁功能 PHP技巧:快速實現返回上一頁功能 Mar 09, 2024 am 08:21 AM

PHP技巧:快速實現回到上一頁功能在網頁開發中,常常會遇到需要實作返回上一頁的功能。這樣的操作可以提高使用者體驗,讓使用者更方便地在網頁之間進行導航。在PHP中,我們可以透過一些簡單的程式碼來實現這項功能。本文將介紹如何快速實現返回上一頁功能,並提供具體的PHP程式碼範例。在PHP中,我們可以使用$_SERVER['HTTP_REFERER']來取得上一頁的URL

Linux下GDM的功能與作用詳解 Linux下GDM的功能與作用詳解 Mar 01, 2024 pm 04:18 PM

Linux下GDM的功能和作用詳解在Linux作業系統中,GDM(GNOMEDisplayManager)是一種圖形化登入管理器,它提供了使用者在系統中登入和登出的介面。 GDM通常是GNOME桌面環境的一部分,但也可以被其他桌面環境所使用。 GDM的功能不僅是提供一個登入介面,還包括使用者會話管理、螢幕保護、自動登入等功能。 GDM的功能主要包括以下幾個面向:

什麼是狗狗幣 什麼是狗狗幣 Apr 01, 2024 pm 04:46 PM

狗狗幣是一種基於網路迷因創建的加密貨幣,沒有固定的供應上限,交易時間快速,交易費用低,擁有龐大的迷因社群。用途包括小額交易、打賞和慈善捐贈。然而,其無限供應量、市場波動和作為笑話幣的地位也帶來風險和擔憂。什麼是狗狗幣?狗狗幣是一種基於網路迷因和笑話創建的加密貨幣。起源與歷史:2013年12月,兩位軟體工程師BillyMarkus和JacksonPalmer創立狗狗幣。靈感來自於當時流行的"Doge"模因,一個以一隻柴犬為特徵的滑稽照片加上破碎英語。特徵與優勢:無限供應量:與比特幣等其他加密貨

See all articles