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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
HBase Region×Ô¶¯ÇзֵÄËùÓÐϸ½Ú¶¼ÔÚÕâÀïÁË
 
  2821  次浏览      27
 2018-2-28 
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚ36´óÊý¾Ý£¬ÕâÆªÎÄÕ½«»á¶ÔÕâЩϸ½Ú½øÐлù±¾µÄ˵Ã÷£¬Ò»·½Ãæ¿ÉÒÔÈôó¼Ò¶ÔHBaseÖÐRegion×Ô¶¯ÇзÖÓиü¼ÓÉîÈëµÄÀí½â£¬ÁíÒ»·½ÃæÈç¹ûÏëʵÏÖÀàËÆµÄ¹¦ÄÜÒ²¿ÉÒԲο¼HBaseµÄʵÏÖ·½°¸¡£

Region×Ô¶¯ÇзÖÊÇHBaseÄܹ»ÓµÓÐÁ¼ºÃÀ©ÕÅÐÔµÄ×îÖØÒªÒòËØÖ®Ò»£¬Ò²±ØÈ»ÊÇËùÓзֲ¼Ê½ÏµÍ³×·ÇóÎÞÏÞÀ©Õ¹ÐÔµÄÒ»¸±Á¼Ò©¡£HBaseϵͳÖÐRegion×Ô¶¯ÇзÖÊÇÈçºÎʵÏֵģ¬ÕâÀïÃæÉæ¼°ºÜ¶à֪ʶµã£¬±ÈÈçRegionÇзֵĴ¥·¢Ìõ¼þÊÇʲô¡¢RegionÇзֵÄÇзֵãÔÚÄÄÀï¡¢ÈçºÎÇзֲÅÄÜ×î´óµÄ±£Ö¤RegionµÄ¿ÉÓÃÐÔ¡¢ÈçºÎ×öºÃÇзֹý³ÌÖеÄÒì³£´¦Àí¡¢Çзֹý³ÌÖÐÒª²»Òª½«Êý¾ÝÒÆ¶¯µÈ£¬ÕâÆªÎÄÕ½«»á¶ÔÕâЩϸ½Ú½øÐлù±¾µÄ˵Ã÷£¬Ò»·½Ãæ¿ÉÒÔÈôó¼Ò¶ÔHBaseÖÐRegion×Ô¶¯ÇзÖÓиü¼ÓÉîÈëµÄÀí½â£¬ÁíÒ»·½ÃæÈç¹ûÏëʵÏÖÀàËÆµÄ¹¦ÄÜÒ²¿ÉÒԲο¼HBaseµÄʵÏÖ·½°¸¡£

RegionÇзִ¥·¢²ßÂÔ

ÔÚ×îÐÂÎȶ¨°æ£¨1.2.6£©ÖУ¬HBaseÒѾ­Óжà´ï6ÖÖÇзִ¥·¢²ßÂÔ¡£µ±È»£¬Ã¿ÖÖ´¥·¢²ßÂÔ¶¼Óи÷×ÔµÄÊÊÓó¡¾°£¬Óû§¿ÉÒÔ¸ù¾ÝÒµÎñÔÚ±í¼¶±ðÑ¡Ôñ²»Í¬µÄÇзִ¥·¢²ßÂÔ¡£³£¼ûµÄÇзֲßÂÔÈçÏÂͼ£º

ConstantSizeRegionSplitPolicy£º0.94°æ±¾Ç°Ä¬ÈÏÇзֲßÂÔ¡£ÕâÊÇ×îÈÝÒ×Àí½âµ«Ò²×îÈÝÒײúÉúÎó½âµÄÇзֲßÂÔ£¬´Ó×ÖÃæÒâ˼À´¿´£¬µ±region´óС´óÓÚij¸öãÐÖµ£¨hbase.hregion.max.filesize£©Ö®ºó¾Í»á´¥·¢Çз֣¬Êµ¼ÊÉϲ¢²»ÊÇÕâÑù£¬ÕæÕýʵÏÖÖÐÕâ¸öãÐÖµÊǶÔÓÚij¸östoreÀ´ËµµÄ£¬¼´Ò»¸öregionÖÐ×î´óstoreµÄ´óС´óÓÚÉèÖÃãÐÖµÖ®ºó²Å»á´¥·¢Çз֡£

ÁíÍâÒ»¸ö´ó¼Ò±È½Ï¹ØÐĵÄÎÊÌâÊÇÕâÀïËù˵µÄstore´óСÊÇѹËõºóµÄÎļþ×Ü´óС»¹ÊÇδѹËõÎļþ×Ü´óС£¬Êµ¼ÊʵÏÖÖÐstore´óСΪѹËõºóµÄÎļþ´óС£¨²ÉÓÃѹËõµÄ³¡¾°£©¡£ConstantSizeRegionSplitPolicyÏà¶ÔÀ´À´Ëµ×îÈÝÒ×Ïëµ½£¬µ«ÊÇÔÚÉú²úÏßÉÏÕâÖÖÇзֲßÂÔÈ´ÓÐÏ൱´óµÄ±×¶Ë£ºÇзֲßÂÔ¶ÔÓÚ´ó±íºÍС±íûÓÐÃ÷ÏÔµÄÇø·Ö¡£ãÐÖµ£¨hbase.hregion.max.filesize£©ÉèÖýϴó¶Ô´ó±í±È½ÏÓѺ㬵«ÊÇС±í¾ÍÓпÉÄܲ»»á´¥·¢·ÖÁÑ£¬¼«¶ËÇé¿öÏ¿ÉÄܾÍ1¸ö£¬Õâ¶ÔÒµÎñÀ´Ëµ²¢²»ÊÇʲôºÃÊ¡£Èç¹ûÉèÖýÏСÔò¶ÔС±íÓѺ㬵«Ò»¸ö´ó±í¾Í»áÔÚÕû¸ö¼¯Èº²úÉú´óÁ¿µÄregion£¬Õâ¶ÔÓÚ¼¯ÈºµÄ¹ÜÀí¡¢×ÊԴʹÓá¢failoverÀ´Ëµ¶¼²»ÊÇÒ»¼þºÃÊ¡£

IncreasingToUpperBoundRegionSplitPolicy: 0.94°æ±¾~2.0°æ±¾Ä¬ÈÏÇзֲßÂÔ¡£ÕâÖÖÇзֲßÂÔ΢΢ÓÐЩ¸´ÔÓ£¬×ÜÌåÀ´¿´ºÍConstantSizeRegionSplitPolicy˼·Ïàͬ£¬Ò»¸öregionÖÐ×î´óstore´óС´óÓÚÉèÖÃãÐÖµ¾Í»á´¥·¢Çз֡£µ«ÊÇÕâ¸öãÐÖµ²¢²»ÏñConstantSizeRegionSplitPolicyÊÇÒ»¸ö¹Ì¶¨µÄÖµ£¬¶øÊÇ»áÔÚÒ»¶¨Ìõ¼þϲ»¶Ïµ÷Õû£¬µ÷Õû¹æÔòºÍregionËùÊô±íÔÚµ±Ç°regionserverÉϵÄregion¸öÊýÓйØÏµ £º(#regions) * (#regions) * (#regions) * flush size * 2£¬µ±È»ãÐÖµ²¢²»»áÎÞÏÞÔö´ó£¬×î´óֵΪÓû§ÉèÖõÄMaxRegionFileSize¡£

ÕâÖÖÇзֲßÂԺܺõØÃÖ²¹ÁËConstantSizeRegionSplitPolicyµÄ¶Ì°å£¬Äܹ»×ÔÊÊÓ¦´ó±íºÍС±í¡£¶øÇÒÔÚ´ó¼¯ÈºÌõ¼þ϶ÔÓںܶà´ó±íÀ´Ëµ±íÏÖºÜÓÅÐ㣬µ«²¢²»ÍêÃÀ£¬ÕâÖÖ²ßÂÔϺܶàС±í»áÔÚ´ó¼¯ÈºÖвúÉú´óÁ¿Ð¡region£¬·ÖÉ¢ÔÚÕû¸ö¼¯ÈºÖС£¶øÇÒÔÚ·¢ÉúregionÇ¨ÒÆÊ±Ò²¿ÉÄܻᴥ·¢region·ÖÁÑ¡£

SteppingSplitPolicy: 2.0°æ±¾Ä¬ÈÏÇзֲßÂÔ¡£ÕâÖÖÇзֲßÂÔµÄÇзÖãÐÖµÓÖ·¢ÉúÁ˱仯£¬Ïà±ÈIncreasingToUpperBoundRegionSplitPolicy¼òµ¥ÁËһЩ£¬ÒÀÈ»ºÍ´ý·ÖÁÑregionËùÊô±íÔÚµ±Ç°regionserverÉϵÄregion¸öÊýÓйØÏµ£¬Èç¹ûregion¸öÊýµÈÓÚ1£¬ÇзÖãÐֵΪflush size * 2£¬·ñÔòΪMaxRegionFileSize¡£ÕâÖÖÇзֲßÂÔ¶ÔÓÚ´ó¼¯ÈºÖеĴó±í¡¢Ð¡±í»á±ÈIncreasingToUpperBoundRegionSplitPolicy¸ü¼ÓÓѺã¬Ð¡±í²»»áÔÙ²úÉú´óÁ¿µÄСregion£¬¶øÊÇÊʿɶøÖ¹¡£

ÁíÍ⣬»¹ÓÐһЩÆäËü·ÖÁѲßÂÔ£¬±ÈÈçʹÓÃDisableSplitPolicy:¿ÉÒÔ½ûÖ¹region·¢Éú·ÖÁÑ£»¶øKeyPrefixRegionSplitPolicy£¬DelimitedKeyPrefixRegionSplitPolicy¶ÔÓÚÇзֲßÂÔÒÀÈ»ÒÀ¾ÝĬÈÏÇзֲßÂÔ£¬µ«¶ÔÓÚÇзֵãÓÐ×Ô¼ºµÄ¿´·¨£¬±ÈÈçKeyPrefixRegionSplitPolicyÒªÇó±ØÐëÈÃÏàͬµÄPrefixKey´ýÔÚÒ»¸öregionÖС£

ÔÚÓ÷¨ÉÏ£¬Ò»°ãÇé¿öÏÂʹÓÃĬÈÏÇзֲßÂÔ¼´¿É£¬Ò²¿ÉÒÔÔÚcf¼¶±ðÉèÖÃregionÇзֲßÂÔ£¬ÃüÁîΪ£º

create ¡¯table¡¯, {NAME => ¡®cf¡¯, SPLIT_POLICY => ¡®org.apache.hadoop.hbase.regionserver. ConstantSizeRegionSplitPolicy'}

RegionÇзÖ×¼±¸¹¤×÷£ºÑ°ÕÒSplitpoint

regionÇзֲßÂԻᴥ·¢regionÇз֣¬ÇзֿªÊ¼Ö®ºóµÄµÚÒ»¼þÊÂÊÇѰÕÒÇзֵ㣭splitpoint¡£ËùÓÐĬÈÏÇзֲßÂÔ£¬ÎÞÂÛÊÇConstantSizeRegionSplitPolicy¡¢IncreasingToUpperBoundRegionSplitPolicyÒÖ»òÊÇSteppingSplitPolicy£¬¶ÔÓÚÇзֵãµÄ¶¨Òå¶¼ÊÇÒ»Öµġ£µ±È»£¬Óû§ÊÖ¶¯Ö´ÐÐÇзÖʱÊÇ¿ÉÒÔÖ¸¶¨ÇÐ·Öµã½øÐÐÇзֵģ¬ÕâÀï²¢²»ÌÖÂÛÕâÖÖÇé¿ö¡£

ÄÇÇзֵãÊÇÈçºÎ¶¨Î»ÄØ£¿Õû¸öregionÖÐ×î´óstoreÖеÄ×î´óÎļþÖÐ×îÖÐÐĵÄÒ»¸öblockµÄÊ׸örowkey¡£ÕâÊÇÒ»¾ä±È½ÏÏûºÄÄÔÁ¦µÄÓï¾ä£¬ÐèҪϸϸƷζ¡£ÁíÍ⣬HBase»¹¹æ¶¨£¬Èç¹û¶¨Î»µ½µÄrowkeyÊÇÕû¸öÎļþµÄÊ׸örowkey»òÕß×îºóÒ»¸örowkeyµÄ»°£¬¾ÍÈÏΪûÓÐÇзֵ㡣

ʲôÇé¿öÏ»á³öÏÖûÓÐÇзֵãµÄ³¡¾°ÄØ£¿×î³£¼ûµÄ¾ÍÊÇÒ»¸öÎļþÖ»ÓÐÒ»¸öblock£¬Ö´ÐÐsplitµÄʱºò¾Í»á·¢ÏÖÎÞ·¨Çз֡£ºÜ¶àÐÂͬѧÔÚ²âÊÔsplitµÄʱºòÍùÍù¶¼ÊÇн¨Ò»ÕÅÐÂ±í£¬È»ºóÍùбíÖвåÈ뼸ÌõÊý¾Ý²¢Ö´ÐÐÒ»ÏÂflush£¬ÔÙÖ´ÐÐsplit£¬Ææ¼£°ãµØ·¢ÏÖÊý¾Ý±í²¢Ã»ÓÐÕæÕýÖ´ÐÐÇз֡£Ô­Òò¾ÍÔÚÕâÀÕâ¸öʱºò×ÐϸµÄ»°Äã·­¿´debugÈÕÖ¾ÊÇ¿ÉÒÔ¿´µ½ÕâÑùµÄÈÕÖ¾µÎ£º

RegionºËÐÄÇзÖÁ÷³Ì

HBase½«Õû¸öÇзֹý³Ì°ü×°³ÉÁËÒ»¸öÊÂÎñ£¬ÒâͼÄܹ»±£Ö¤ÇзÖÊÂÎñµÄÔ­×ÓÐÔ¡£Õû¸ö·ÖÁÑÊÂÎñ¹ý³Ì·ÖΪÈý¸ö½×¶Î£ºprepare ¨C execute ¨C (rollback) £¬²Ù×÷Ä£°æÈçÏ£º

prepare½×¶Î£ºÔÚÄÚ´æÖгõʼ»¯Á½¸ö×Óregion£¬¾ßÌåÊÇÉú³ÉÁ½¸öHRegionInfo¶ÔÏ󣬰üº¬tableName¡¢regionName¡¢startkey¡¢endkeyµÈ¡£Í¬Ê±»áÉú³ÉÒ»¸ötransaction journal£¬Õâ¸ö¶ÔÏóÓÃÀ´¼Ç¼ÇзֵĽøÕ¹£¬¾ßÌå¼ûrollback½×¶Î¡£

execute½×¶Î£ºÇзֵĺËÐIJÙ×÷¡£¼ûÏÂͼ£¨À´×ÔHortonworks£©£º

1¡¢regionserver ¸ü¸ÄZK½Úµã /region-in-transition ÖиÃregionµÄ״̬ΪSPLITING¡£

2¡¢masterͨ¹ýwatch½Úµã/region-in-transition¼ì²âµ½region״̬¸Ä±ä£¬²¢ÐÞ¸ÄÄÚ´æÖÐregionµÄ״̬£¬ÔÚmasterÒ³ÃæRITÄ£¿é¾Í¿ÉÒÔ¿´µ½regionÖ´ÐÐsplitµÄ״̬ÐÅÏ¢¡£

3¡¢ÔÚ¸¸´æ´¢Ä¿Â¼ÏÂн¨ÁÙʱÎļþ¼Ð.split±£´æsplitºóµÄdaughter regionÐÅÏ¢¡£

4¡¢¹Ø±Õparent region£ºparent region¹Ø±ÕÊý¾ÝдÈë²¢´¥·¢flush²Ù×÷£¬½«Ð´ÈëregionµÄÊý¾ÝÈ«²¿³Ö¾Ã»¯µ½´ÅÅÌ¡£´Ëºó¶Ìʱ¼äÄÚ¿Í»§¶ËÂäÔÚ¸¸regionÉϵÄÇëÇó¶¼»áÅ׳öÒì³£NotServingRegionException¡£

5¡¢ºËÐÄ·ÖÁѲ½Ö裺ÔÚ.splitÎļþ¼ÐÏÂн¨Á½¸ö×ÓÎļþ¼Ð£¬³ÆÖ®Îªdaughter A¡¢daughter B£¬²¢ÔÚÎļþ¼ÐÖÐÉú³ÉreferenceÎļþ£¬·Ö±ðÖ¸Ïò¸¸regionÖжÔÓ¦Îļþ¡£Õâ¸ö²½ÖèÊÇËùÓв½ÖèÖÐ×îºËÐĵÄÒ»¸ö»·½Ú£¬Éú³ÉreferenceÎļþÈÕÖ¾ÈçÏÂËùʾ£º

ÆäÖÐreferenceÎļþÃûΪ

d24415c4fb44427b8f6 98143e5c4d9dc.00bb6239169411e4d 0ecb6ddfdbacf66£¬¸ñʽ¿´ÆðÀ´±È½ÏÌØÊ⣬ÄÇÕâÖÖÎļþÃû¾ßÌåʲôº¬ÒåÄØ£¿ÄÇÀ´¿´¿´¸ÃreferenceÎļþÖ¸ÏòµÄ¸¸regionÎļþ£¬¸ù¾ÝÈÕÖ¾¿ÉÒÔ¿´µ½£¬Çзֵĸ¸regionÊÇ00bb6239169411e4d 0ecb6ddfdbacf66£¬¶ÔÓ¦µÄÇзÖÎļþÊÇd24415c4fb44427b8f 698143e5c4d9dc£¬¿É¼ûreferenceÎļþÃûÊǸöÐÅÏ¢Á¿ºÜ´óµÄÃüÃû·½Ê½£¬ÈçÏÂËùʾ£º

³ý´ËÖ®Í⣬»¹ÐèÒª¹Ø×¢referenceÎļþµÄÎļþÄÚÈÝ£¬referenceÎļþÊÇÒ»¸öÒýÓÃÎļþ£¨²¢·ÇlinuxÁ´½ÓÎļþ£©£¬ÎļþÄÚÈݺÜÏÔÈ»²»ÊÇÓû§Êý¾Ý¡£ÎļþÄÚÈÝÆäʵ·Ç³£¼òµ¥£¬Ö÷ÒªÓÐÁ½²¿·Ö¹¹³É£ºÆäÒ»ÊÇÇзֵãsplitkey£¬Æä¶þÊÇÒ»¸öbooleanÀàÐ͵ıäÁ¿£¨true»òÕßfalse£©£¬true±íʾ¸ÃreferenceÎļþÒýÓõÄÊǸ¸ÎļþµÄÉϰ벿·Ö£¨top£©£¬¶øfalse±íʾÒýÓõÄÊÇϰ벿·Ö £¨bottom£©¡£ÎªÊ²Ã´´æ´¢µÄÊÇÕâÁ½²¿·ÖÄÚÈÝ£¿ÇÒÌýÏÂÎķֽ⡣

¿´¹Ù¿ÉÒÔʹÓÃHadoopÃüÁîÇ××ÔÀ´²é¿´referenceÎļþµÄ¾ßÌåÄÚÈÝ£º

6. ¸¸region·ÖÁÑΪÁ½¸ö×Óregionºó£¬½«daughter A¡¢daughter B¿½±´µ½HBase¸ùĿ¼Ï£¬ÐγÉÁ½¸öеÄregion¡£

7. parent region֪ͨÐÞ¸Ä hbase.meta ±íºóÏÂÏߣ¬²»ÔÙÌṩ·þÎñ¡£ÏÂÏߺóparent regionÔÚmeta±íÖеÄÐÅÏ¢²¢²»»áÂíÉÏɾ³ý£¬¶øÊDZê×¢splitÁС¢offlineÁÐΪtrue£¬²¢¼Ç¼Á½¸ö×Óregion¡£ÎªÊ²Ã´²»Á¢Âíɾ³ý£¿ÇÒÌýÏÂÎķֽ⡣

8. ¿ªÆôdaughter A¡¢daughter BÁ½¸ö×Óregion¡£Í¨ÖªÐÞ¸Ä hbase.meta ±í£¬Õýʽ¶ÔÍâÌṩ·þÎñ¡£

rollback½×¶Î£ºÈç¹ûexecute½×¶Î³öÏÖÒì³££¬ÔòÖ´ÐÐrollback²Ù×÷¡£ÎªÁËʵÏֻعö£¬Õû¸öÇзֹý³Ì±»·ÖΪºÜ¶à×ӽ׶Σ¬»Ø¹ö³ÌÐò»á¸ù¾Ýµ±Ç°½øÕ¹µ½Äĸö×Ó½×¶ÎÇåÀí¶ÔÓ¦µÄÀ¬»øÊý¾Ý¡£´úÂëÖÐʹÓà JournalEntryType À´±íÕ÷¸÷¸ö×ӽ׶Σ¬¾ßÌå¼ûÏÂͼ£º

RegionÇзÖÊÂÎñÐÔ±£Ö¤

Õû¸öregionÇзÖÊÇÒ»¸ö±È½Ï¸´ÔӵĹý³Ì£¬Éæ¼°µ½¸¸regionÖÐHFileÎļþµÄÇз֡¢Á½¸ö×ÓregionµÄÉú³É¡¢ÏµÍ³metaÔªÊý¾ÝµÄ¸ü¸ÄµÈºÜ¶à×Ó²½Ö裬Òò´Ë±ØÐë±£Ö¤Õû¸öÇзֹý³ÌµÄÊÂÎñÐÔ£¬¼´ÒªÃ´ÇзÖÍêÈ«³É¹¦£¬ÒªÃ´ÇзÖÍêȫδ¿ªÊ¼£¬ÔÚÈκÎÇé¿öÏÂÒ²²»ÄܳöÏÖÇзÖÖ»Íê³ÉÒ»°ëµÄÇé¿ö¡£

ΪÁËʵÏÖÊÂÎñÐÔ£¬HBaseÉè¼ÆÁËʹÓÃ״̬»ú£¨¼ûSplitTransactionÀࣩµÄ·½Ê½±£´æÇзֹý³ÌÖеÄÿ¸ö×Ó²½Öè״̬£¬ÕâÑùÒ»µ©³öÏÖÒì³££¬ÏµÍ³¿ÉÒÔ¸ù¾Ýµ±Ç°Ëù´¦µÄ״̬¾ö¶¨ÊÇ·ñ»Ø¹ö£¬ÒÔ¼°ÈçºÎ»Ø¹ö¡£Òź¶µÄÊÇ£¬Ä¿Ç°ÊµÏÖÖÐÕâЩÖмä״̬¶¼Ö»´æ´¢ÔÚÄÚ´æÖУ¬Òò´ËÒ»µ©ÔÚÇзֹý³ÌÖгöÏÖregionserverå´»úµÄÇé¿ö£¬ÓпÉÄÜ»á³öÏÖÇзִ¦ÓÚÖмä״̬µÄÇé¿ö£¬Ò²¾ÍÊÇRIT״̬¡£ÕâÖÖÇé¿öÏÂÐèҪʹÓÃhbck¹¤¾ß½øÐоßÌå²é¿´²¢·ÖÎö½â¾ö·½°¸¡£ÔÚ2.0°æ±¾Ö®ºó£¬HBaseʵÏÖÁËеķֲ¼Ê½ÊÂÎñ¿ò¼ÜProcedure V2(HBASE-12439)£¬Ð¿ò¼Ü½«»áʹÓÃHLog´æ´¢ÕâÖÖµ¥»úÊÂÎñ£¨DDL²Ù×÷¡¢Split²Ù×÷¡¢Move²Ù×÷µÈ£©µÄÖмä״̬£¬Òò´Ë¿ÉÒÔ±£Ö¤¼´Ê¹ÔÚÊÂÎñÖ´Ðйý³ÌÖвÎÓëÕß·¢ÉúÁËå´»ú£¬ÒÀÈ»¿ÉÒÔʹÓÃHLog×÷ΪЭµ÷Õß¶ÔÊÂÎñ½øÐлعö²Ù×÷»òÕßÖØÊÔÌá½»£¬´ó´ó¼õÉÙÉõÖÁ¶Å¾øRITÏÖÏó¡£ÕâÒ²ÊÇÊÇ2.0ÔÚ¿ÉÓÃÐÔ·½Ãæ×îÖµµÃÆÚ´ýµÄÒ»¸öÁÁµã£¡

RegionÇÐ·Ö¶ÔÆäËüÄ£¿éµÄÓ°Ïìͨ¹ýregionÇзÖÁ÷³ÌµÄÁ˽⣬ÎÒÃÇÖªµÀÕû¸öregionÇзֹý³Ì²¢Ã»ÓÐÉæ¼°Êý¾ÝµÄÒÆ¶¯£¬ËùÒÔÇзֳɱ¾±¾Éí²¢²»ÊǺܸߣ¬¿ÉÒԺܿìÍê³É¡£Çзֺó×ÓregionµÄÎļþʵ¼ÊûÓÐÈκÎÓû§Êý¾Ý£¬ÎļþÖд洢µÄ½öÊÇһЩԪÊý¾ÝÐÅÏ¢£­ÇзֵãrowkeyµÈ£¬ÄÇͨ¹ýÒýÓÃÎļþÈçºÎ²éÕÒÊý¾ÝÄØ£¿×ÓregionµÄÊý¾Ýʵ¼ÊÔÚʲôʱºòÍê³ÉÕæÕýÇ¨ÒÆ£¿Êý¾ÝÇ¨ÒÆÍê³ÉÖ®ºó¸¸regionʲôʱºò»á±»É¾µô£¿

1. ͨ¹ýreferenceÎļþÈçºÎ²éÕÒÊý¾Ý£¿

ÕâÀï¾Í»á¿´µ½referenceÎļþÃû¡¢ÎļþÄÚÈݵÄʵ¼ÊÒâÒåÀ²¡£Õû¸öÁ÷³ÌÈçÏÂͼËùʾ£º

¸ù¾ÝreferenceÎļþÃû£¨regionÃû+ÕæÊµÎļþÃû£©¶¨Î»µ½ÕæÊµÊý¾ÝËùÔÚÎļþ·¾¶¡£

¶¨Î»µ½ÕæÊµÊý¾ÝÎļþ¾Í¿ÉÒÔÔÚÕû¸öÎļþÖÐɨÃè´ý²éKVÁËô£¿·ÇÒ²¡£ÒòΪreferenceÎļþͨ³£¶¼Ö»ÒýÓÃÁËÊý¾ÝÎļþµÄÒ»°ëÊý¾Ý£¬ÒÔÇзֵãΪ½ç£¬ÒªÃ´Éϰ벿·ÖÎļþÊý¾Ý£¬ÒªÃ´Ï°벿·ÖÊý¾Ý¡£Äǵ½µ×ÄIJ¿·ÖÊý¾Ý£¿ÇзֵãÓÖÊÇÄĸöµã£¿»¹¼ÇµÃÉÏÎÄÓÖÌáµ½referenceÎļþµÄÎļþÄÚÈݰɣ¬Ã»´í£¬¾Í¼Ç¼ÔÚÎļþÖС£

2. ¸¸regionµÄÊý¾Ýʲôʱºò»áÇ¨ÒÆµ½×ÓregionĿ¼£¿

´ð°¸ÊÇ×Óregion·¢Éúmajor_compactionʱ¡£ÎÒÃÇÖªµÀcompactionµÄÖ´ÐÐʵ¼ÊÉÏÊǽ«storeÖÐËùÓÐСÎļþÒ»¸öKVÒ»¸öKV´ÓСµ½´ó¶Á³öÀ´Ö®ºóÔÙ˳ÐòдÈëÒ»¸ö´óÎļþ£¬Íê³ÉÖ®ºóÔÙ½«Ð¡Îļþɾµô£¬Òò´Ëcompaction±¾Éí¾ÍÐèÒª¶ÁÈ¡²¢Ð´Èë´óÁ¿Êý¾Ý¡£×ÓregionÖ´ÐÐmajor_compactionºó»á½«¸¸Ä¿Â¼ÖÐÊôÓÚ¸Ã×ÓregionµÄËùÓÐÊý¾Ý¶Á³öÀ´²¢Ð´Èë×ÓregionĿ¼Êý¾ÝÎļþÖС£¿É¼û½«Êý¾ÝÇ¨ÒÆ·Åµ½compactionÕâ¸ö½×¶ÎÀ´×ö£¬ÊÇÒ»¼þ˳±ãµÄÊ¡£

3. ¸¸regionʲôʱºò»á±»É¾³ý£¿

ʵ¼ÊÉÏHMaster»áÆô¶¯Ò»¸öÏ̶߳¨ÆÚ±éÀú¼ì²éËùÓд¦ÓÚsplitting״̬µÄ¸¸region£¬È·¶¨¼ì²é¸¸regionÊÇ·ñ¿ÉÒÔ±»ÇåÀí¡£¼ì²âÏß³ÌÊ×ÏÈ»áÔÚmeta±íÖо¾³öËùÓÐsplitÁÐΪtrueµÄregion£¬²¢¼ÓÔØ³öÆä·ÖÁѺóÉú³ÉµÄÁ½¸ö×Óregion£¨meta±íÖÐsplitAÁкÍsplitBÁУ©£¬Ö»ÐèÒª¼ì²é´ËÁ½¸ö×ÓregionÊÇ·ñ»¹´æÔÚÒýÓÃÎļþ£¬Èç¹û¶¼²»´æÔÚÒýÓÃÎļþ¾Í¿ÉÒÔÈÏΪ¸Ã¸¸region¶ÔÓ¦µÄÎļþ¿ÉÒÔ±»É¾³ý¡£ÏÖÔÚÔÙÀ´¿´¿´ÉÏÎÄÖи¸Ä¿Â¼ÔÚmeta±íÖеÄÐÅÏ¢£¬¾Í´ó¸Å¿ÉÒÔÀí½âΪʲô»á´æ´¢ÕâЩÐÅÏ¢ÁË£º

4. splitÄ£¿éÔÚÉú²úÏßµÄһЩ¿Ó£¿

ÓÐЩʱºò»áÓÐͬѧ·´À¡Ëµ¼¯ÈºÖв¿·Öregion´¦ÓÚ³¤Ê±¼äRIT£¬region״̬Ϊspliting¡£Í¨³£Çé¿ö϶¼»á½¨ÒéʹÓÃhbck¿´ÏÂʲô±¨´í£¬È»ºóÔÙ¸ù¾ÝhbckÌṩµÄһЩ¹¤¾ß½øÐÐÐÞ¸´£¬hbckÌṩÁ˲¿·ÖÃüÁî¶Ô´¦ÓÚsplit״̬µÄrit region½øÐÐÐÞ¸´£¬Ö÷ÒªµÄÃüÁîÈçÏ£º

ÆäÖÐ×î³£¼ûµÄÎÊÌâÊÇ £º

¼òµ¥½âÊÍһϣ¬Õâ¸ö´íÎóÊÇ˵referenceÎļþËùÒýÓõĸ¸regionÎļþ²»´æÔÚÁË£¬Èç¹û²é¿´ÈÕÖ¾µÄ»°ÓпÉÄÜ¿´µ½ÈçÏÂÒì³££º

¸¸regionÎļþΪʲô»áĪÃûÆäÃî²»´æÔÚ£¿¾­¹ýºÍÅóÓѵÄÌÖÂÛ£¬È·ÈÏÓпÉÄÜÊÇÒòΪ¹Ù·½bugµ¼Ö£¬Ïê¼ûHBASE-13331¡£Õâ¸öjiraÊÇ˵HMasterÔÚÈ·Èϸ¸Ä¿Â¼ÊÇ·ñ¿ÉÒÔ±»É¾³ýʱ£¬Èç¹û¼ì²éÒýÓÃÎļþ£¨¼ì²éÊÇ·ñ´æÔÚ¡¢¼ì²éÊÇ·ñ¿ÉÒÔÕý³£´ò¿ª£©Å׳öIOExceptionÒì³££¬º¯Êý¾Í»á·µ»ØÃ»ÓÐÒýÓÃÎļþ£¬µ¼Ö¸¸region±»É¾µô¡£Õý³£Çé¿öÏÂÓ¦¸Ã±£ÏÕÆð¼û·µ»Ø´æÔÚÒýÓÃÎļþ£¬±£Áô¸¸region£¬²¢´òÓ¡ÈÕÖ¾ÊÖ¹¤½éÈë²é¿´¡£Èç¹û´ó¼ÒÒ²Óöµ½ÀàËÆµÄÎÊÌ⣬¿ÉÒÔ¿´¿´Õâ¸öÎÊÌ⣬Ҳ¿ÉÒÔ½«ÐÞ¸´patch´òµ½ÏßÉϰ汾»òÕßÉý¼¶°æ±¾¡£

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

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

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

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