Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
HBaseÔ­Àí ¨C ·Ö²¼Ê½ÏµÍ³ÖÐsnapshotÊÇÔõÃ´ÍæµÄ£¿
 
  2866  次浏览      27
 2018-6-1 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚhbasefly.com£¬ÎÄÖнéÉÜÁËsnapshot»ù´¡Ô­Àí£¬snapshotÄÜʵÏÖʲô¹¦ÄÜ£¿hbase snapshotÓ÷¨´óÈ«£¬hbase snapshot·Ö²¼Ê½¼Ü¹¹µÈ¡£

snapshot£¨¿ìÕÕ£©»ù´¡Ô­Àí

snapshotÊÇºÜ¶à´æ´¢ÏµÍ³ºÍÊý¾Ý¿âϵͳ¶¼Ö§³ÖµÄ¹¦ÄÜ¡£Ò»¸ösnapshotÊÇÒ»¸öÈ«²¿Îļþϵͳ¡¢»òÕßij¸öĿ¼ÔÚijһʱ¿ÌµÄ¾µÏñ¡£ÊµÏÖÊý¾ÝÎļþ¾µÏñ×î¼òµ¥´Ö±©µÄ·½Ê½ÊǼÓËø¿½±´£¨Ö®ËùÒÔÐèÒª¼ÓËø£¬ÊÇÒòΪ¾µÏñµÃµ½µÄÊý¾Ý±ØÐëÊÇijһʱ¿ÌÍêȫһÖµÄÊý¾Ý£©£¬¿½±´µÄÕâ¶Îʱ¼ä²»ÔÊÐí¶ÔÔ­Êý¾Ý½øÐÐÈκÎÐÎʽµÄ¸üÐÂɾ³ý£¬½öÌṩֻ¶Á²Ù×÷£¬¿½±´Íê³ÉÖ®ºóÔÙÊÍ·ÅËø¡£ÕâÖÖ·½Ê½Éæ¼°Êý¾ÝµÄʵ¼Ê¿½±´£¬Êý¾ÝÁ¿´óµÄÇé¿öϱØÈ»»á»¨·Ñ´óÁ¿Ê±¼ä£¬³¤Ê±¼äµÄ¼ÓËø¿½±´±ØÈ»µ¼Ö¿ͻ§¶Ë³¤Ê±¼ä²»ÄܸüÐÂɾ³ý£¬ÕâÊÇÉú²úÏßÉϲ»ÄÜÈÝÈ̵ġ£

snapshot»úÖÆ²¢²»»á¿½±´Êý¾Ý£¬¿ÉÒÔÀí½âΪËüÊÇÔ­Êý¾ÝµÄÒ»·ÝÖ¸Õë¡£ÔÚHBaseÕâÖÖLSMÀàÐÍϵͳ½á¹¹ÏÂÊDZȽÏÈÝÒ×Àí½âµÄ£¬ÎÒÃÇÖªµÀHBaseÊý¾ÝÎļþÒ»µ©Âäµ½´ÅÅÌÖ®ºó¾Í²»ÔÙÔÊÐí¸üÐÂɾ³ýµÈÔ­µØÐ޸IJÙ×÷£¬Èç¹ûÏë¸üÐÂɾ³ýµÄ»°¿ÉÒÔ×·¼ÓдÈëÐÂÎļþ£¨HBaseÖиù±¾Ã»Óиüнӿڣ¬É¾³ýÃüÁîÒ²ÊÇ×·¼ÓдÈ룩¡£ÕâÖÖ»úÖÆÏÂʵÏÖij¸ö±íµÄsnapshotÖ»ÐèÒª¸øµ±Ç°±íµÄËùÓÐÎļþ·Ö±ðн¨Ò»¸öÒýÓã¨Ö¸Õ룩£¬ÆäËûÐÂдÈëµÄÊý¾ÝÖØÐ´´½¨Ò»¸öÐÂÎļþдÈë¼´¿É¡£ÈçÏÂͼËùʾ£º

snapshotÁ÷³ÌÖ÷񻃾¼°3¸ö²½Ö裺

1. ¼ÓÒ»°ÑÈ«¾ÖËø£¬´Ëʱ²»ÔÊÐíÈκεÄÊý¾ÝдÈë¸üÐÂÒÔ¼°É¾³ý

2. ½«MemstoreÖеĻº´æÊý¾Ýflushµ½ÎļþÖУ¨¿ÉÑ¡£©

3. ΪËùÓÐHFileÎļþ·Ö±ðн¨ÒýÓÃÖ¸Õ룬ÕâЩָÕëÔªÊý¾Ý¾ÍÊÇsnapshot

À©Õ¹Ë¼¿¼£ºLSMÀàϵͳȷʵ±È½ÏÈÝÒ×Àí½â£¬ÄÇÆäËû·ÇLSMϵͳԭµØ¸üеĴ洢ϵͳÈçºÎʵÏÖsnapshotÄØ£¿

snapshotÄÜʵÏÖʲô¹¦ÄÜ£¿

snapshotÊÇHBase·Ç³£ºËÐĵÄÒ»¸ö¹¦ÄÜ£¬Ê¹ÓÃsnapshotµÄ²»Í¬Ó÷¨¿ÉÒÔʵÏֺܶ๦ÄÜ£¬±ÈÈ磺

1. È«Á¿/ÔöÁ¿±¸·Ý£ºÈκÎÊý¾Ý¿â¶¼ÐèÒªÓб¸·ÝµÄ¹¦ÄÜÀ´ÊµÏÖÊý¾ÝµÄ¸ß¿É¿¿ÐÔ£¬snapshot¿ÉÒԷdz£·½±ãµÄʵÏÖ±íµÄÔÚÏß±¸·Ý¹¦ÄÜ£¬²¢ÇÒ¶ÔÔÚÏßÒµÎñÇëÇóÓ°Ïì·Ç³£Ð¡¡£Ê¹Óñ¸·ÝÊý¾Ý£¬Óû§¿ÉÒÔÔÚÒì³£·¢ÉúµÄÇé¿öÏ¿ìËٻعöµ½Ö¸¶¨¿ìÕյ㡣ÔöÁ¿±¸·Ý»áÔÚÈ«Á¿±¸·ÝµÄ»ù´¡ÉÏʹÓÃbinlog½øÐÐÖÜÆÚÐÔµÄÔöÁ¿±¸·Ý¡£

ʹÓó¡¾°Ò»£ºÍ¨³£Çé¿öÏ£¬¶ÔÖØÒªµÄÒµÎñÊý¾Ý£¬½¨ÒéÖÁÉÙÿÌìÖ´ÐÐÒ»´ÎsnapshotÀ´±£´æÊý¾ÝµÄ¿ìÕռǼ£¬²¢ÇÒ¶¨ÆÚÇåÀí¹ýÆÚ¿ìÕÕ£¬ÕâÑùÈç¹ûÒµÎñ·¢ÉúÖØÒª´íÎóÐèÒª»Ø¹öµÄ»°ÊÇ¿ÉÒԻعöµ½Ö®Ç°µÄÒ»¸ö¿ìÕÕµãµÄ¡£

ʹÓó¡¾°¶þ£ºÈç¹ûÒª¶Ô¼¯Èº×öÖØ´óµÄÉý¼¶µÄ»°£¬½¨ÒéÉý¼¶Ç°¶ÔÖØÒªµÄ±íÖ´ÐÐÒ»´Îsnapshot£¬Ò»µ©Éý¼¶ÓÐÈκÎÒì³£¿ÉÒÔ¿ìËٻعöµ½Éý¼¶Ç°¡£

2. Êý¾ÝÇ¨ÒÆ£º¿ÉÒÔʹÓÃExportSnapshot¹¦Äܽ«¿ìÕÕµ¼³öµ½ÁíÒ»¸ö¼¯Èº£¬ÊµÏÖÊý¾ÝµÄÇ¨ÒÆ

ʹÓó¡¾°Ò»£º»ú·¿ÔÚÏßÇ¨ÒÆ£¬Í¨³£Çé¿öÊÇÊý¾ÝÔÚA»ú·¿£¬ÒòΪA»ú·¿»úλ²»¹»»òÕß»ú¼Ü²»¹»ÐèÒª½«Õû¸ö¼¯ÈºÇ¨ÒƵ½ÁíÒ»¸öÈÝÁ¿¸ü´óµÄB¼¯Èº£¬¶øÇÒÔÚÇ¨ÒÆ¹ý³ÌÖв»ÄÜÍ£·þ¡£»ù±¾Ç¨ÒÆË¼Â·ÊÇÏÈʹÓÃsnapshotÔÚB¼¯Èº»Ö¸´³öÒ»¸öÈ«Á¿Êý¾Ý£¬ÔÙʹÓÃreplication¼¼ÊõÔöÁ¿¸´ÖÆA¼¯ÈºµÄ¸üÐÂÊý¾Ý£¬µÈ´ýÁ½¸ö¼¯ÈºÊý¾ÝÒ»ÖÂÖ®ºó½«¿Í»§¶ËÇëÇóÖØ¶¨Ïòµ½B»ú·¿¡£¾ßÌå²½Öè¿ÉÒԲο¼£ºhttps://www.cloudera.com/documentation/enterprise/5-5-x/topics/cdh_bdr_hbase_replication.html#topic_20_11_7

ʹÓó¡¾°¶þ£ºÊ¹ÓÃsnapshot½«±íÊý¾Ýµ¼³öµ½HDFS£¬ÔÙʹÓÃHive\SparkµÈ½øÐÐÀëÏßOLAP·ÖÎö£¬±ÈÈçÉ󼯱¨±í¡¢Ô¶ȱ¨±íµÈ

hbase snapshotÓ÷¨´óÈ«

snapshot×î³£ÓõÄÃüÁîÓÐsnapshot¡¢restore_snapshot¡¢clone_snapshotÒÔ¼°ExportSnapshotÕâ¸ö¹¤¾ß£¬¾ßÌåʹÓ÷½·¨ÈçÏ£º

Ϊ±í¡¯sourceTable¡¯´òÒ»¸ö¿ìÕÕ¡¯snapshotName¡¯£¬¿ìÕÕ²¢²»Éæ¼°Êý¾ÝÒÆ¶¯£¬¿ÉÒÔÔÚÏßÍê³É¡£

hbase > snapshot 'sourceTable', ¡®snapshotName'

»Ö¸´Ö¸¶¨¿ìÕÕ£¬»Ö¸´¹ý³Ì»áÌæ´úÔ­ÓÐÊý¾Ý£¬½«±í»¹Ô­µ½¿ìÕյ㣬¿ìÕÕµãÖ®ºóµÄËùÓиüн«»á¶ªÊ§¡£ÐèҪעÒâµÄÊÇÔ­±íÐèÒªÏÈdisableµô£¬²ÅÄÜÖ´ÐÐrestore_snapshot²Ù×÷¡£

hbase > restore_snapshot ¡®snapshotName'

¸ù¾Ý¿ìÕÕ»Ö¸´³öÒ»¸öÐÂ±í£¬»Ö¸´¹ý³Ì²»Éæ¼°Êý¾ÝÒÆ¶¯£¬¿ÉÒÔÔÚÃë¼¶Íê³É¡£ºÜºÃÆæÊÇÔõô×öµÄ°É£¬ÇÒÌýÏÂÎķֽ⡣

hbase > clone_snapshot 'snapshotName', ¡®tableName'

ʹÓÃExportSnapshotÃüÁî¿ÉÒÔ½«A¼¯ÈºµÄ¿ìÕÕÊý¾ÝÇ¨ÒÆµ½B¼¯Èº£¬ExportSnapshotÊÇHDFS²ãÃæµÄ²Ù×÷£¬»áʹÓÃMR½øÐÐÊý¾ÝµÄ²¢ÐÐÇ¨ÒÆ£¬Òò´ËÐèÒªÔÚ¿ªÆôMRµÄ»úÆ÷ÉϽøÐÐÇ¨ÒÆ¡£HMasterºÍHRegionServer²¢²»²ÎÓëÕâ¸ö¹ý³Ì£¬Òò´Ë²»»á´øÀ´¶îÍâµÄÄڴ濪ÏúÒÔ¼°GC¿ªÏú¡£Î¨Ò»µÄÓ°ÏìÊÇDNÔÚ¿½±´Êý¾ÝµÄʱºòÐèÒª¶îÍâµÄ´ø¿íÒÔ¼°IO¸ºÔØ£¬ExportSnapshotÒ²Õë¶ÔÕâ¸öÎÊÌâÉèÖÃÁ˲ÎÊý-bandwidthÀ´ÏÞÖÆ´ø¿íµÄʹÓá£

hbase org. apache. hadoop .hbase. snapshot .Export Snapshot \
- snapshot MySnapshot - copy- from hdfs: //srv2 : 8082 /hbase \
- copy- to hdfs: //srv1: 50070/hbase - mappers 16 - bandwidth 1024\

hbase snapshot·Ö²¼Ê½¼Ü¹¹£­Á½½×¶ÎÌá½»

hbaseΪָ¶¨±íÖ´ÐÐsnapshot²Ù×÷£¬Êµ¼ÊÉÏÕæÕýÖ´ÐÐsnapshotµÄÊǶÔÓ¦±íµÄËùÓÐregion¡£ÕâЩregionÒòΪ·Ö²¼ÔÚ¶à¸öRegionServerÉÏ£¬ËùÒÔÐèÒªÒ»ÖÖ»úÖÆÀ´±£Ö¤ËùÓвÎÓëÖ´ÐÐsnapshotµÄregionҪôȫ²¿Íê³É£¬ÒªÃ´¶¼Ã»ÓпªÊ¼×ö£¬²»ÄܳöÏÖÖмä״̬£¬±ÈÈçijЩregionÍê³ÉÁË£¬Ä³Ð©regionδÍê³É¡£

HBaseʹÓÃÁ½½×¶ÎÌύЭÒ飨2PC£©À´±£Ö¤snapshotµÄ·Ö²¼Ê½Ô­×ÓÐÔ¡£2PCÒ»°ãÓÉÒ»¸öЭµ÷ÕߺͶà¸ö²ÎÓëÕß×é³É£¬Õû¸öÊÂÎñÌá½»·ÖΪÁ½¸ö½×¶Î£ºprepare½×¶ÎºÍcommit½×¶Î¡£ÆäÖÐprepare½×¶ÎЭµ÷Õß»áÏòËùÓвÎÓëÕß·¢ËÍprepareÃüÁËùÓвÎÓëÕß¿ªÊ¼»ñÈ¡ÏàÓ¦×ÊÔ´£¨±ÈÈçËø×ÊÔ´£©²¢Ö´ÐÐprepare²Ù×÷È·ÈÏ¿ÉÒÔÖ´Ðгɹ¦£¬Í¨³£ºËÐŤ×÷¶¼ÊÇÔÚprepare²Ù×÷ÖÐÍê³ÉµÄ¡£²¢·µ»Ø¸øÐ­µ÷ÕßpreparedÓ¦´ð¡£Ð­µ÷Õß½ÓÊÕµ½ËùÓвÎÓëÕß·µ»ØµÄpreparedÓ¦´ðÖ®ºó£¨±íÃ÷ËùÓвÎÓëÕß¶¼ÒѾ­×¼±¸ºÃÌá½»£©£¬ÔÚ±¾µØ³Ö¾Ã»¯commit״̬£¬½øÈëcommit½×¶Î£¬Ð­µ÷Õß»áÏòËùÓвÎÓëÕß·¢ËÍcommitÃüÁ²ÎÓëÕß½ÓÊÕµ½commitÃüÁîÖ®ºó»áÖ´ÐÐcommit²Ù×÷²¢ÊÍ·Å×ÊÔ´£¬Í¨³£commit²Ù×÷¶¼·Ç³£¼òµ¥¡£

½ÓÏÂÀ´¾Í¿´¿´hbaseÊÇÈçºÎʹÓÃ2PCЭÒéÀ´¹¹½¨snapshot¼Ü¹¹µÄ£¬»ù±¾²½ÖèÈçÏ£º

1. prepare½×¶Î£ºHMasterÔÚzookeeper´´½¨Ò»¸ö¡¯/acquired-snapshotname¡¯½Úµã£¬²¢Ôڴ˽ڵãÉÏдÈësnapshotÏà¹ØÐÅÏ¢£¨snapshot±íÐÅÏ¢£©¡£ËùÓÐregionserver¼à²âµ½Õâ¸ö½ÚµãÖ®ºó£¬¸ù¾Ý/acquired-snapshotname½ÚµãЯ´øµÄsnapshot±íÐÅÏ¢²é¿´µ±Ç°regionserverÉÏÊÇ·ñ´æÔÚÄ¿±ê±í£¬Èç¹û²»´æÔÚ£¬¾ÍºöÂÔ¸ÃÃüÁî¡£Èç¹û´æÔÚ£¬±éÀúÄ¿±ê±íÖеÄËùÓÐregion£¬·Ö±ðÕë¶Ôÿ¸öregionÖ´ÐÐsnapshot²Ù×÷£¬×¢Òâ´Ë´¦snapshot²Ù×÷µÄ½á¹û²¢Ã»ÓÐдÈë×îÖÕÎļþ¼Ð£¬¶øÊÇдÈëÁÙʱÎļþ¼Ð¡£regionserverÖ´ÐÐÍê³ÉÖ®ºó»áÔÚ/acquired-snapshotname½ÚµãÏÂн¨Ò»¸ö×Ó½Úµã/acquired-snapshotname/nodex£¬±íʾnodex½ÚµãÍê³ÉÁ˸ÃregionserverÉÏËùÓÐÏà¹ØregionµÄsnapshot×¼±¸¹¤×÷¡£

2. commit½×¶Î£ºÒ»µ©ËùÓÐregionserver¶¼Íê³ÉÁËsnapshotµÄprepared¹¤×÷£¬¼´¶¼ÔÚ/acquired-snapshotname½ÚµãÏÂн¨Á˶ÔÓ¦×ӽڵ㣬hmaster¾ÍÈÏΪsnapshotµÄ×¼±¸¹¤×÷ÍêÈ«Íê³É¡£master»áн¨Ò»¸öеĽڵã/reached-snapshotname£¬±íʾ·¢ËÍÒ»¸öcommitÃüÁî¸ø²ÎÓëµÄregionserver¡£ËùÓÐregionserver¼à²âµ½/reached-snapshotname½ÚµãÖ®ºó£¬Ö´ÐÐsnapshot commit²Ù×÷£¬commit²Ù×÷·Ç³£¼òµ¥£¬Ö»ÐèÒª½«prepare½×¶ÎÉú³ÉµÄ½á¹û´ÓÁÙʱÎļþ¼ÐÒÆ¶¯µ½×îÖÕÎļþ¼Ð¼´¿É¡£Ö´ÐÐÍê³ÉÖ®ºóÔÚ/reached-snapshotname½ÚµãÏÂн¨×Ó½Úµã/reached-snapshotname/nodex£¬±íʾ½ÚµãnodexÍê³Ésnapshot¹¤×÷¡£

3. abort½×¶Î£ºÈç¹ûÔÚÒ»¶¨Ê±¼äÄÚ/acquired-snapshotname½Úµã¸öÊýûÓÐÂú×ãÌõ¼þ£¨»¹ÓÐregionserverµÄ×¼±¸¹¤×÷ûÓÐÍê³É£©£¬hmasterÈÏΪsnapshotµÄ×¼±¸¹¤×÷³¬Ê±¡£hmaster»áн¨ÁíÒ»ÖÖеĽڵã/abort-snapshotname£¬ËùÓÐregionserver¼àÌýµ½Õâ¸öÃüÁîÖ®ºó»áÇåÀísnapshotÔÚÁÙʱÎļþ¼ÐÖÐÉú³ÉµÄ½á¹û¡£

¿ÉÒÔ¿´µ½£¬ÔÚÕâ¸öϵͳÖÐHMaster³äµ±ÁËЭµ÷ÕߵĽÇÉ«£¬RegionServer³äµ±Á˲ÎÓëÕߵĽÇÉ«¡£HMasterºÍRegionServerÖ®¼äµÄͨÐÅͨ¹ýZookeeperÀ´Íê³É£¬Í¬Ê±£¬ÊÂÎñ״̬ҲÊǼǼÔÚZookeeperÉϵĽڵãÉÏ¡£HMaster¸ß¿ÉÓÃÇé¿öÏÂÖ÷HMasterå´»úÁË£¬´ÓHMasterÇгÉÖ÷ºó¸ù¾ÝZookeeperÉϵÄ״̬¿ÉÒÔ¾ö¶¨ÊÂÎñÊ®·Ö¼ÌÐøÌá½»»òÕßabort¡£

snapshotºËÐÄʵÏÖ

ÉϽڴӼܹ¹²ãÃæ½éÉÜÁËsnapshotÈçºÎÔÚ·Ö²¼Ê½ÌåϵÖÐÍê³ÉÔ­×ÓÐÔ²Ù×÷¡£ÄÇÿ¸öregionÊÇÈçºÎÕæÕýʵÏÖsnapshotÄØ£¿hmasterÓÖÊÇÈçºÎ»ã×ÜËùÓÐregion snapshot½á¹û£¿

regionÈçºÎʵÏÖsnapshot£¿

ÔÚ»ù±¾Ô­ÀíÒ»½ÚÎÒÃÇÌáµ½¹ýsnapshot²»»áÕæÕý¿½±´Êý¾Ý£¬¶øÊÇʹÓÃÖ¸ÕëÒýÓõķ½Ê½´´½¨Ò»ÏµÁÐÔªÊý¾Ý¡£ÄÇÔªÊý¾Ý¾ßÌåÊÇʲôÑùµÄÔªÊý¾ÝÄØ£¿Êµ¼ÊÉÏsnapshotµÄÕû¸öÁ÷³Ì»ù±¾ÈçÏ£º

·Ö±ð¶ÔÓ¦debugÈÕÖ¾ÖÐÈçÏÂÆ¬¶Î£º

snapshot.FlushSnapshotSubprocedure: Flush Snapshotting region yixin :yunxin, user1359, 1502949275629. 77f4ac61c4db0be9075669726f3b72e6. started ...
snapshot.SnapshotManifest : Storing 'yixin: yunxin,user1359 , 1502949275629 . 77f4ac61c4db0be9075669726f3b72e6.' region- info for snapshot.
snapshot.SnapshotManifest : Creating references for hfiles
snapshot.SnapshotManifest : Adding snapshot references for [] hfiles

×¢Ò⣺regionÉú³ÉµÄsnapshotÎļþÊÇÁÙʱÎļþ£¬Éú³ÉĿ¼ÔÚ/hbase/.hbase-snapshot/.tmpÏ£¬Ò»°ãÒòΪsnapshot¹ý³ÌÌØ±ð¿ì£¬ËùÒÔºÜÄÑ¿´µ½µ¥¸öregionÉú³ÉµÄsnapshotÎļþ¡£

hmasterÈçºÎ»ã×ÜËùÓÐregion snapshotµÄ½á¹û£¿

hmaster»áÔÚËùÓÐregionÍê³ÉsnapshotÖ®ºóÖ´ÐÐÒ»¸ö»ã×ܲÙ×÷£¨consolidate£©£¬½«ËùÓÐregion snapshot manifest»ã×ܳÉÒ»¸öµ¥¶Àmanifest£¬»ã×ܺóµÄsnapshotÎļþÊÇ¿ÉÒÔÔÚHDFSĿ¼Ï¿´µ½µÄ£¬Â·¾¶Îª£º/hbase/.hbase-snapshot/snapshotname/data.manifest¡£×¢Ò⣬snapshotĿ¼ÏÂÓÐ3¸öÎļþ£¬ÈçÏÂͼËùʾ£º

ÆäÖÐ.snapshotinfoΪsnapshot»ù±¾ÐÅÏ¢£¬°üº¬´ýsnapshotµÄ±íÃû³ÆÒÔ¼°snapshotÃû£»data.manifestΪsnapshotÖ´ÐкóÉú³ÉµÄÔªÊý¾ÝÐÅÏ¢£¬¼´snapshot½á¹ûÐÅÏ¢¡£¿ÉÒÔʹÓÃhadoop dfs -cat /hbase/.hbase-snapshot/snapshotname/data.manifest ²é¿´£º

clone_snapshotÈçºÎʵÏÖÄØ£¿

ǰÎÄÌáµ½snapshot¿ÉÒÔÓÃÀ´¸ãºÜ¶à´óÊÂÇ飬±ÈÈçrestore_snapshot¡¢clone_snapshotÒÔ¼°export snapshotµÈµÈ£¬Õâ½Ú¾ÍÀ´¿´¿´clone_snapshotÕâ¸ö¹¦ÄܾßÌåÊÇÈçºÎʵÏֵġ£Ö±½Ó½øÈëÕýÌ⣬Õû¸ö²½Öè¿ÉÒÔ¸ÅÀ¨ÎªÈçÏ£º

1.Ô¤¼ì²é£ºÈ·ÈÏÄ¿±ê±íûÓнøÐÐsnapshot²Ù×÷ÒÔ¼°restore²Ù×÷£¬·ñÔòÖ±½Ó·µ»Ø´íÎó

2.ÔÚtmpÎļþ¼ÐÏÂн¨±íĿ¼²¢ÔÚ±íĿ¼ÏÂн¨.tabledescÎļþ£¬ÔÚ¸ÃÎļþÖÐдÈë±íschemaÐÅÏ¢

3.н¨regionĿ¼£ºÕâ¸ö²½ÖèÊÇclone_snapshotºÍcreate table×î´óµÄ²»Í¬£¬Ð½¨µÄregionĿ¼ÊÇÒÀ¾Ýsnapshot manifestÖÐÐÅϢȷ¶¨µÄ£¬regionÖÐÓÐÄÄЩÁÐ×壿ÁÐ×åÖÐÓÐÄÄЩHFileÎļþ£¿¶¼À´Ô´ÓÚ´Ë¡£

´Ë´¦ÓÐÒ»¸öºÜÓÐÒâ˼µÄÊÂÇéÊÇclone_snapshot¿Ë¡±íµÄ¹ý³ÌÖв¢²»Éæ¼°Êý¾ÝµÄÒÆ¶¯£¬ÄDz»½ûÒªÎʿˡ³öµÄ±íÖÐÎļþÊÇʲôÎļþ£¿ÓëÔ­±íÖÐÊý¾ÝÎļþÖ®¼äµÄ¶ÔÓ¦¹ØÏµÈçºÎ½¨Á¢£¿Õâ¸öÎÊÌâµÄ½â¾öºÍsplit¹ý³ÌÖÐreferenceÎļþµÄ½â¾ö˼·»ù±¾Ò»Ö£¬²»¹ýÔÚclone_snapshotÖв¢²»³Æ×÷referenceÎļþ£¬¶ø½Ð×ölinkfile£¬ºÍreferenceÎļþ²»Ò»ÑùµÄÊÇlinkfileÎļþûÓÐÈκÎÄÚÈÝ£¬Ö»ÊÇÔÚÎļþÃûÉÏ×öÁËÎÄÕ£¬±ÈÈçÔ­ÎļþÃûÊÇabc£¬Éú³ÉµÄlinkfile¾ÍΪ£ºtable=region-abc£¬Í¨¹ýÕâÖÖ·½Ê½¾Í¿ÉÒÔºÜÈÝÒ×¶¨Î»µ½Ô­±íÖÐԭʼÎļþµÄ¾ßÌå·¾¶£ºxxx/table/region/hfile£¬Òò´Ë¾Í¿ÉÒÔ²»ÐèÒªÒÆ¶¯Êý¾ÝÁË¡£

ÉÏͼÖÐLinkFileÎļþÃûΪmusic=5e54d8620eae123761e5290e618d556b-f928e045bb1e41ecbef6fc28ec2d5712£¬¸ù¾Ý¶¨ÒåÎÒÃÇÖªµÀmusicΪԭʼÎļþµÄ±íÃû£¬5e54d8620eae123761e5290e618d556bΪÒýÓÃÎļþËùÔÚµÄregion£¬f928e045bb1e41ecbef6fc28ec2d5712ΪÒýÓÃÎļþ£¬ÈçÏÂͼËùʾ£º

ÎÒÃÇ¿ÉÒÔÒÀ¾Ý¹æÔò¿ÉÒÔÖ±½Ó¸ù¾ÝLinkFileµÄÎļþÃû¶¨Î»µ½ÒýÓÃÎļþËùÔÚλÖãº***/music/5e54d8620eae123761e5290e618d556b/cf/f928e045bb1e41ecbef6fc28ec2d5712£¬ÈçÏÂͼËùʾ£º

4. ½«±íĿ¼´ÓtmpÎļþ¼ÐÏÂÒÆ¶¯µ½hbase root location

5. ÐÞ¸Ämeta±í£¬½«¿Ë¡±íµÄregionÐÅÏ¢Ìí¼Óµ½meta±íÖУ¬×¢Òâ¿Ë¡±íµÄregionÃû³ÆºÍÔ­Êý¾Ý±íµÄregionÃû³Æ²¢²»Ïàͬ£¨regionÃû³ÆÓëtableÃû³ÆÏà¹Ø£¬tableÃû²»Í¬£¬regionÃû³Æ¾Í¿Ï¶¨²»»áÏàͬ£©

6. ½«ÕâЩregionͨ¹ýround-robin·½Ê½Á¢¿Ì¾ùÔÈ·ÖÅäµ½Õû¸ö¼¯ÈºÖУ¬²¢ÔÚzkÉϽ«¿Ë¡±íµÄ״̬ÉèÖÃΪenabled£¬Õýʽ¶ÔÍâÌṩ·þÎñ

ÆäËûÐèҪעÒâµÄ

²»ÖªµÀ´ó¼ÒÓÐûÓйØ×¢ÁíÒ»¸öÎÊÌ⣬°´ÕÕÉÏÎĵÄ˵·¨ÎÒÃÇÖªµÀsnapshotʵ¼ÊÉÏÊÇһϵÁÐԭʼ±íµÄÔªÊý¾Ý£¬Ö÷Òª°üÀ¨±íschemaÐÅÏ¢¡¢Ô­Ê¼±íËùÓÐregionµÄregion infoÐÅÏ¢£¬region°üº¬µÄÁÐ×åÐÅÏ¢ÒÔ¼°regionÏÂËùÓеÄhfileÎļþÃûÒÔ¼°Îļþ´óСµÈ¡£ÄÇÈç¹ûԭʼ±í·¢ÉúÁËcompactionµ¼ÖÂhfileÎļþÃû·¢ÉúÁ˱仯»òÕßregion·¢ÉúÁË·ÖÁÑ£¬ÉõÖÁɾ³ýÁËԭʼ±í£¬Ö®Ç°Ëù×öµÄsnapshotÊÇ·ñ¾ÍʧЧÁË£¿

´Ó¹¦ÄÜʵÏֵĽǶÈÀ´½²¿Ï¶¨²»»áÈÃÓû§ÈκÎʱ¼äµãËù×÷µÄsnapshotʧЧ£¬ÄÇÈçºÎ±ÜÃâÉÏÊöËùÁеĸ÷ÖÖÇé¿öÏÂsnapshotÊ§Ð§ÄØ£¿HBaseµÄʵÏÖÒ²±È½Ï¼òµ¥£¬ÔÚԭʼ±í·¢ÉúcompactµÄ²Ù×÷ǰ»á½«Ô­Ê¼±í¸´ÖƵ½archiveĿ¼ÏÂÔÙÖ´ÐÐcompact£¨¶ÔÓÚ±íɾ³ý²Ù×÷£¬Õý³£Çé¿öÒ²»á½«É¾³ý±íÊý¾ÝÒÆ¶¯µ½archiveĿ¼Ï£©£¬ÕâÑùsnapshot¶ÔÓ¦µÄÔªÊý¾Ý¾Í²»»áʧȥÒâÒ壬ֻ²»¹ýԭʼÊý¾Ý²»ÔÙ´æÔÚÓÚÊý¾ÝĿ¼Ï£¬¶øÊÇÒÆ¶¯µ½ÁËarchiveĿ¼Ï¡£

´ó¼Ò¿ÉÒÔ×öÒ»ÏÂÕâÑùÒ»¸öʵÑé¿´¿´£º

1. ʹÓÃsnapshot¸øÒ»Õűí×ö¿ìÕÕ£¬±ÈÈç snapshot ¡¯test¡¯,¡¯test_ snapshot¡¯
2. ²é¿´archive Ŀ¼£¬È·Èϲ»´æÔÚĿ¼£º/ hbase-root - dir / archive /data /default /test
3. ¶Ô±ítest Ö´ÐÐmajor_ compact ²Ù×÷£ºmajor_ compact ¡¯test¡¯
4. Ôٴβ鿴archive Ŀ¼£¬¾Í»á·¢ÏÖtest ԭʼ±íÒÆ¶¯µ½Á˸ÃĿ¼£¬/hbase - root- dir /archive /data /default /test¾Í»á´æÔÚ

ͬÀí£¬Èç¹û¶Ôԭʼ±íÖ´ÐÐdelete²Ù×÷£¬±ÈÈçdelete ¡¯test¡¯£¬Ò²»áÔÚarchiveĿ¼ÏÂÕÒµ½¸ÃĿ¼¡£ºÍÆÕͨ±íɾ³ýµÄÇé¿ö²»Í¬µÄÊÇ£¬ÆÕͨ±íÒ»µ©É¾³ý£¬¸Õ¿ªÊ¼ÊÇ¿ÉÒÔÔÚarchiveÖп´µ½É¾³ý±íµÄÊý¾ÝÎļþ£¬µ«ÊǵȴýÒ»¶Îʱ¼äºóarchiveÖеÄÊý¾Ý¾Í»á±»³¹µ×ɾ³ý£¬ÔÙÒ²ÎÞ·¨Õһء£ÕâÊÇÒòΪmasterÉÏ»áÆô¶¯Ò»¸ö¶¨ÆÚÇåÀíarchiveÖÐÀ¬»øÎļþµÄỊ̈߳¨HFileCleaner£©£¬¶¨ÆÚ»á¶ÔÕâЩ±»É¾³ýµÄÀ¬»øÎļþ½øÐÐÇåÀí¡£µ«ÊÇsnapshotԭʼ±í±»É¾³ýÖ®ºó½øÈëarchive£¬²¢²»¿ÉÒÔ±»¶¨ÆÚÇåÀíµô£¬ÉÏÎÄ˵¹ýclone³öÀ´µÄÐÂ±í²¢Ã»ÓÐcloneÕæÕýµÄÎļþ£¬¶øÊÇÉú³ÉµÄÖ¸ÏòԭʼÎļþµÄÁ¬½Ó£¬ÕâÀàÎļþ³ÆÖ®ÎªLinkFile£¬ºÜÏÔÈ»£¬Ö»ÒªLinkFile»¹Ö¸ÏòÕâЩԭʼÎļþ£¬ËüÃǾͲ»¿ÉÒÔ±»É¾³ý¡£ºÃÁË£¬ÕâÀïÓÐÁ½¸öÎÊÌ⣺

1. ʲôʱºòLinkFile»á±ä³ÉÕæÊµµÄÊý¾ÝÎļþ£¿

Èç¹û¿´¹ý±ÊÕßÉÏÆªÎÄÕ¡¶HBaseÔ­Àí ¨C ËùÓÐRegionÇзֵÄϸ½Ú¶¼ÔÚÕâÀïÁË¡·µÄͬѧ£¬¿Ï¶¨¿´×ÅÕâ¸öÎÊÌâÓÐÖÖËÆÔøÏàʶµÄ¸Ï½Å¡£²»´í£¬HBaseÖÐÒ»¸öregion·ÖÁѳÉÁ½¸ö×Óregionºó£¬×ÓregionµÄÎļþÒ²ÊÇÒýÓÃÎļþ£¬ÕâЩÒýÓÃÎļþÊÇÔÚÖ´ÐÐcompactµÄʱºò²ÅÕæÕý½«¸¸regionÖеÄÎļþÇ¨ÒÆµ½×Ô¼ºµÄÎļþĿ¼Ï¡£LinkFileÒ²Ò»Ñù£¬ÔÚclone³öµÄбíÖ´ÐÐcompactµÄʱºò²Å½«ºÏ²¢ºóµÄÎļþдµ½ÐÂĿ¼²¢½«Ïà¹ØµÄLinkFileɾ³ý£¬ÀíÂÛÉÏÒ²Êǽè×Åcompact˳±ã×öÁËÕâ¼þÊ¡£

2. ϵͳÔÚɾ³ýarchiveÖÐԭʼ±íÎļþµÄʱºòÔõô֪µÀÕâЩÎļþ»¹±»Ò»Ð©LinkFileÒýÓÃ×Å£¿

HBase SplitºóϵͳҪɾ³ý¸¸regionµÄÊý¾ÝÎļþ£¬ÊÇÊ×ÏÈҪȷÈÏÁ½¸ö×ÓregionÒѾ­Ã»ÓÐÒýÓÃÎļþÖ¸ÏòËüÁË£¬ÏµÍ³ÔõôȷÈÏÕâµãµÄÄØ£¿ÉϽÚÎÒÃÇ·ÖÎö¹ý£¬meta±íÖÐ»á´æ´¢¸¸region¶ÔÓ¦µÄÁ½¸ö×Óregion£¬ÔÙɨÃèÁ½¸ö×ÓregionµÄËùÓÐÎļþÈ·ÈÏÊÇ·ñ»¹ÓÐÒýÓÃÎļþ£¬Èç¹ûÒѾ­Ã»ÓÐÒýÓÃÎļþÁË£¬¾Í¿ÉÒÔ·ÅÐĵؽ«¸¸regionµÄÊý¾ÝÎļþɾµôÁË£¬µ±È»£¬Èç¹û»¹ÓÐÒýÓÃÎļþ´æÔÚ¾ÍÖ»ÄÜ×÷°Õ¡£

ÄÇɾ³ýcloneºóµÄԭʼ±íÎļþ£¬ÊDz»ÊÇÒ²ÊÇÒ»ÑùµÄÌ×·£¿´ð°¸²¢²»ÊÇ£¬HBaseÓÃÁËÁíÒ»ÖÖ·½Ê½À´¸ù¾Ýԭʼ±íÎļþÕÒµ½ÒýÓÃÎļþ£¬Õâ¾ÍÊÇback-reference»úÖÆ¡£HBaseϵͳÔÚarchiveĿ¼ÏÂн¨ÁËÒ»ÖÖеÄback-referenceÎļþ£¬À´°ïÖúԭʼ±íÎļþÕÒµ½ÒýÓÃÎļþ¡£À´¿´¿´back-referenceÎļþÊÇÒ»ÖÖʲôÑùµÄÎļþ£¬ËüÊÇÈçºÎ¸ù¾ÝԭʼÎļþ¶¨Î»µ½LinkFileµÄ£º

£¨1£©Ô­Ê¼Îļþ£º/hbase /data /table-x /region-x /cf /file-x
£¨2£©cloneÉú³ÉµÄLinkFile£º/hbase /data /table-cloned / region- y/cf /{table-x}- {region-x}- {file-x}£¬Òò´Ë¿ÉÒÔºÜÈÝÒ׸ù¾ÝLinkFile ¶¨Î»µ½Ô­Ê¼Îļþ
£¨3£©back-referenceÎļþ£º/hbase/.archive /data /table-x/region-x /cf/.links-file-x /{region-y}.{table-cloned}£¬¿ÉÒÔ¿´µ½£¬back-reference Îļþ·¾¶Öаüº¬ËùÓÐԭʼÎļþºÍLinkFile µÄÐÅÏ¢£¬Òò´Ë¿ÉÒÔÓÐЧµÄ¸ù¾ÝԭʼÎļþ/table-x/ region-x/cf /file-x ¶¨Î»µ½LinkFile£º/table-cloned /region-y /cf/ {table-x}- {region-x}-{ file-x}

µ½ÕâÀÓÐÐËȤµÄͯЬ¿ÉÒÔ½«Õâ¿é֪ʶµã´®ÆðÀ´×ö¸ö¼òµ¥µÄСʵÑ飺

£¨1£©Ê¹ÓÃsnapshot¸øÒ»Õűí×ö¿ìÕÕ£¬±ÈÈçsnapshot ¡¯table-x¡¯,¡¯table-x-snapshot¡¯

£¨2£©Ê¹ÓÃclone_snapshot¿Ë¡³öÒ»ÕÅÐÂ±í£¬±ÈÈçclone_snapshot ¡¯table-x-snapshot¡¯,¡¯table-x-cloned¡¯¡£²¢²é¿´Ð±ítest_cloneµÄHDFSÎļþĿ¼£¬È·ÈÏ»á´æÔÚLinkFile

£¨3£©É¾³ýÔ­±ítable-x£¨É¾±í֮ǰÏÈÈ·ÈÏarchiveÏÂûÓÐÔ­±íÎļþ£©£¬²é¿´È·ÈÏÔ­±íÎļþ½øÈëarchive£¬²¢ÔÚarchiveÖдæÔÚback-referenceÎļþ¡£×¢Òâ³ò³òback-referenceÎļþ¸ñʽ¹þ¡£

£¨4£©¶Ô±í¡¯table-x-clone¡¯Ö´ÐÐmajor_compact£¬ÃüÁîΪmajor_compact ¡¯test_clone¡¯¡£Ö´ÐÐÃüÁîǰȷÈÏtable-x-cloneÎļþĿ¼ÏÂLinkFile´æÔÚ¡£

£¨5£©major_compactÖ´ÐÐÍê³ÉÖ®ºó²é¿´table-x-cloneµÄHDFSÎļþĿ¼£¬È·ÈÏËùÓÐLinkFileÒѾ­²»ÔÙ´æÔÚ£¬È«²¿±ä³ÉÁËÕæÊµÊý¾ÝÎļþ¡£

   
2866 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ