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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
HBase×î¼Ñʵ¼ù£­Ð´ÐÔÄÜÓÅ»¯²ßÂÔ
 
À´Ô´£ºÀ´×ÔÍøÂç ·¢²¼ÓÚ£º2017-7-27
  3967  次浏览      27
 

ÉÏһƪÎÄÕÂÖ÷Òª½éÉÜÁËHBase¶ÁÐÔÄÜÓÅ»¯µÄ»ù±¾Ì×·£¬±¾ÆªÎÄÕÂÀ´ËµµÀ˵µÀÈçºÎÕï¶ÏHBaseдÊý¾ÝµÄÒì³£ÎÊÌâÒÔ¼°ÓÅ»¯Ð´ÐÔÄÜ¡£ºÍ¶ÁÏà±È£¬HBaseдÊý¾ÝÁ÷³Ìµ¹ÊÇÏԵúܼòµ¥£ºÊý¾ÝÏÈ˳ÐòдÈëHLog£¬ÔÙдÈë¶ÔÓ¦µÄ»º´æMemstore£¬µ±MemstoreÖÐÊý¾Ý´óС´ïµ½Ò»¶¨ãÐÖµ£¨128M£©Ö®ºó£¬ÏµÍ³»áÒì²½½«MemstoreÖÐÊý¾Ýflushµ½HDFSÐγÉСÎļþ¡£

HBaseÊý¾ÝдÈëͨ³£»áÓöµ½Á½ÀàÎÊÌ⣬һÀàÊÇдÐÔÄܽϲÁíÒ»ÀàÊÇÊý¾Ý¸ù±¾Ð´²»½øÈ¥¡£ÕâÁ½ÀàÎÊÌâµÄÇÐÈëµãÒ²²»¾¡Ïàͬ£¬ÈçÏÂͼËùʾ£º

дÐÔÄÜÓÅ»¯ÇÐÈëµã

1. ÊÇ·ñÐèҪдWAL£¿WALÊÇ·ñÐèҪͬ²½Ð´È룿

ÓÅ»¯Ô­Àí£ºÊý¾ÝдÈëÁ÷³Ì¿ÉÒÔÀí½âΪһ´Î˳ÐòдWAL+Ò»´Îд»º´æ£¬Í¨³£Çé¿öÏÂд»º´æÑӳٺܵͣ¬Òò´ËÌáÉýдÐÔÄܾÍÖ»ÄÜ´ÓWALÈëÊÖ¡£WAL»úÖÆÒ»·½ÃæÊÇΪÁËÈ·±£Êý¾Ý¼´Ê¹Ð´È뻺´æ¶ªÊ§Ò²¿ÉÒÔ»Ö¸´£¬ÁíÒ»·½ÃæÊÇΪÁ˼¯ÈºÖ®¼äÒì²½¸´ÖÆ¡£Ä¬ÈÏWAL»úÖÆ¿ªÆôÇÒʹÓÃͬ²½»úÖÆÐ´ÈëWAL¡£Ê×ÏÈ¿¼ÂÇÒµÎñÊÇ·ñÐèҪдWAL£¬Í¨³£Çé¿öÏ´ó¶àÊýÒµÎñ¶¼»á¿ªÆôWAL»úÖÆ£¨Ä¬ÈÏ£©£¬µ«ÊǶÔÓÚ²¿·ÖÒµÎñ¿ÉÄܲ¢²»Ìرð¹ØÐÄÒì³£Çé¿öϲ¿·ÖÊý¾ÝµÄ¶ªÊ§£¬¶ø¸ü¹ØÐÄÊý¾ÝдÈëÍÌÍÂÁ¿£¬±ÈÈçÄ³Ð©ÍÆ¼öÒµÎñ£¬ÕâÀàÒµÎñ¼´Ê¹¶ªÊ§Ò»²¿·ÖÓû§ÐÐΪÊý¾Ý¿ÉÄܶÔÍÆ¼ö½á¹û²¢²»¹¹³ÉºÜ´óÓ°Ï죬µ«ÊǶÔÓÚдÈëÍÌÍÂÁ¿ÒªÇóºÜ¸ß£¬²»ÄÜÔì³ÉÊý¾Ý¶ÓÁÐ×èÈû¡£ÕâÖÖ³¡¾°Ï¿ÉÒÔ¿¼ÂǹرÕWALдÈ룬дÈëÍÌÍÂÁ¿¿ÉÒÔÌáÉý2x~3x¡£Í˶øÇóÆä´Î£¬ÓÐЩҵÎñ²»ÄܽÓÊܲ»Ð´WAL£¬µ«¿ÉÒÔ½ÓÊÜWALÒ첽дÈ룬ҲÊÇ¿ÉÒÔ¿¼ÂÇÓÅ»¯µÄ£¬Í¨³£Ò²»á´øÀ´1x¡«2xµÄÐÔÄÜÌáÉý¡£

ÓÅ»¯ÍƼö£º¸ù¾ÝÒµÎñ¹Ø×¢µãÔÚWAL»úÖÆÓëдÈëÍÌÍÂÁ¿Ö®¼ä×ö³öÑ¡

ÆäËû×¢Òâµã£º¶ÔÓÚʹÓÃIncrement²Ù×÷µÄÒµÎñ£¬WAL¿ÉÒÔÉèÖùرգ¬Ò²¿ÉÒÔÉèÖÃÒ첽дÈ룬·½·¨Í¬PutÀàËÆ¡£ÏàÐÅ´ó¶àÊýIncrement²Ù×÷ÒµÎñ¶ÔWAL¿ÉÄܶ¼²»ÊÇÄÇôÃô¸Ð¡«

2. PutÊÇ·ñ¿ÉÒÔͬ²½ÅúÁ¿Ìá½»£¿

ÓÅ»¯Ô­Àí£ºHBase·Ö±ðÌṩÁ˵¥ÌõputÒÔ¼°ÅúÁ¿putµÄAPI½Ó¿Ú£¬Ê¹ÓÃÅúÁ¿put½Ó¿Ú¿ÉÒÔ¼õÉÙ¿Í»§¶Ëµ½RegionServerÖ®¼äµÄRPCÁ¬½ÓÊý£¬Ìá¸ßдÈëÐÔÄÜ¡£ÁíÍâÐèҪעÒâµÄÊÇ£¬ÅúÁ¿putÇëÇóҪôȫ²¿³É¹¦·µ»Ø£¬ÒªÃ´Å׳öÒì³£¡£

ÓÅ»¯½¨Ò飺ʹÓÃÅúÁ¿put½øÐÐдÈëÇëÇó

3. PutÊÇ·ñ¿ÉÒÔÒì²½ÅúÁ¿Ìá½»£¿

ÓÅ»¯Ô­Àí£ºÒµÎñÈç¹û¿ÉÒÔ½ÓÊÜÒì³£Çé¿öÏÂÉÙÁ¿Êý¾Ý¶ªÊ§µÄ»°£¬»¹¿ÉÒÔʹÓÃÒì²½ÅúÁ¿Ìá½»µÄ·½Ê½Ìá½»ÇëÇó¡£Ìá½»·ÖΪÁ½½×¶ÎÖ´ÐУºÓû§ÌύдÇëÇóÖ®ºó£¬Êý¾Ý»áдÈë¿Í»§¶Ë»º´æ£¬²¢·µ»ØÓû§Ð´Èë³É¹¦£»µ±¿Í»§¶Ë»º´æ´ïµ½ãÐÖµ£¨Ä¬ÈÏ2M£©Ö®ºóÅúÁ¿Ìá½»¸øRegionServer¡£ÐèҪעÒâµÄÊÇ£¬ÔÚijЩÇé¿öÏ¿ͻ§¶ËÒì³£µÄÇé¿öÏ»º´æÊý¾ÝÓпÉÄܶªÊ§¡£

ÓÅ»¯½¨Ò飺ÔÚÒµÎñ¿ÉÒÔ½ÓÊܵÄÇé¿öÏ¿ªÆôÒì²½ÅúÁ¿Ìá½»

ʹÓ÷½Ê½£ºsetAutoFlush(false)

4. RegionÊÇ·ñÌ«ÉÙ£¿

ÓÅ»¯Ô­Àí£ºµ±Ç°¼¯ÈºÖбíµÄRegion¸öÊýÈç¹ûСÓÚRegionServer¸öÊý£¬¼´Num(Region of Table) < Num(RegionServer)£¬¿ÉÒÔ¿¼ÂÇÇзÖRegion²¢¾¡¿ÉÄÜ·Ö²¼µ½²»Í¬RegionServerÀ´Ìá¸ßϵͳÇëÇó²¢·¢¶È£¬Èç¹ûNum(Region of Table) > Num(RegionServer)£¬ÔÙÔö¼ÓRegion¸öÊýЧ¹û²¢²»Ã÷ÏÔ¡£

ÓÅ»¯½¨Ò飺ÔÚNum(Region of Table) < Num(RegionServer)µÄ³¡¾°ÏÂÇзֲ¿·ÖÇëÇó¸ºÔظߵÄRegion²¢Ç¨ÒƵ½ÆäËûRegionServer£»

5. дÈëÇëÇóÊÇ·ñ²»¾ùºâ£¿

ÓÅ»¯Ô­Àí£ºÁíÒ»¸öÐèÒª¿¼ÂǵÄÎÊÌâÊÇдÈëÇëÇóÊÇ·ñ¾ùºâ£¬Èç¹û²»¾ùºâ£¬Ò»·½Ãæ»áµ¼ÖÂϵͳ²¢·¢¶È½ÏµÍ£¬ÁíÒ»·½ÃæÒ²ÓпÉÄÜÔì³É²¿·Ö½Úµã¸ºÔغܸߣ¬½ø¶øÓ°ÏìÆäËûÒµÎñ¡£·Ö²¼Ê½ÏµÍ³ÖÐÌØ±ðº¦ÅÂÒ»¸ö½Úµã¸ºÔغܸߵÄÇé¿ö£¬Ò»¸ö½Úµã¸ºÔغܸ߿ÉÄÜ»áÍÏÂýÕû¸ö¼¯Èº£¬ÕâÊÇÒòΪºÜ¶àÒµÎñ»áʹÓÃMutliÅúÁ¿Ìá½»¶ÁдÇëÇó£¬Ò»µ©ÆäÖÐÒ»²¿·ÖÇëÇóÂäµ½¸Ã½ÚµãÎÞ·¨µÃµ½¼°Ê±ÏìÓ¦£¬¾Í»áµ¼ÖÂÕû¸öÅúÁ¿ÇëÇó³¬Ê±¡£Òò´Ë²»Å½ڵãå´µô£¬¾ÍŽڵãÑÙÑÙһϢ£¡

ÓÅ»¯½¨Ò飺¼ì²éRowKeyÉè¼ÆÒÔ¼°Ô¤·ÖÇø²ßÂÔ£¬±£Ö¤Ð´ÈëÇëÇó¾ùºâ¡£

6. дÈëKeyValueÊý¾ÝÊÇ·ñÌ«´ó£¿

KeyValue´óС¶ÔдÈëÐÔÄܵÄÓ°Ïì¾Þ´ó£¬Ò»µ©Óöµ½Ð´ÈëÐÔÄܱȽϲîµÄÇé¿ö£¬ÐèÒª¿¼ÂÇÊÇ·ñÓÉÓÚдÈëKeyValueÊý¾ÝÌ«´óµ¼Ö¡£KeyValue´óС¶ÔдÈëÐÔÄÜÓ°ÏìÇúÏßͼÈçÏ£º

ͼÖкá×ø±êÊÇдÈëµÄÒ»ÐÐÊý¾Ý£¨Ã¿ÐÐÊý¾Ý10ÁУ©´óС£¬×ó×Ý×ø±êÊÇдÈëÍÌÍÂÁ¿£¬ÓÒ×ø±êÊÇдÈëÆ½¾ùÑÓ³Ù£¨ms£©¡£¿ÉÒÔ¿´³öËæ×ŵ¥ÐÐÊý¾Ý´óС²»¶Ï±ä´ó£¬Ð´ÈëÍÌÍÂÁ¿¼±¾çϽµ£¬Ð´ÈëÑÓ³ÙÔÚ100KÖ®ºó¼±¾çÔö´ó¡£

˵µ½ÕâÀÓбØÒªºÍ´ó¼Ò·ÖÏíÁ½ÆðÔÚÉú²úÏß»·¾³ÒòΪҵÎñKeyValue½Ï´óµ¼ÖµÄÑÏÖØÎÊÌ⣬һÆðÊÇÒòΪ´ó×Ö¶ÎÒµÎñдÈëµ¼ÖÂÆäËûÒµÎñÍÌÍÂÁ¿¼±¾çϽµ£¬ÁíÒ»ÆðÊÇÒòΪ´ó×Ö¶ÎÒµÎñscanµ¼ÖÂRegionServerå´»ú¡£

°¸¼þÒ»£º´ó×Ö¶ÎдÈëµ¼ÖÂÆäËûÒµÎñÍÌÍÂÁ¿¼±¾çϽµ

²¿·ÖÒµÎñ·´À¡¼¯ÈºÐ´ÈëºöÈ»±äÂý¡¢Êý¾Ý¿ªÊ¼¶Ñ»ýµÄÇé¿ö£¬²é¿´¼¯Èº±í¼¶±ðµÄÊý¾Ý¶ÁдQPS¼à¿Ø£¬·¢ÏÖÎÊÌâµÄµÚÒ»¸ö¹Ø¼üµã£ºÒµÎñA¿ªÊ¼Ð´ÈëÖ®ºóÕû¸ö¼¯ÈºÆäËû²¿·ÖÒµÎñдÈëQPS¶¼¼¸ºõ¶ÏÑÂʽϵø£¬³õ²½»³ÒɺÚÊÖ¾ÍÊÇÒµÎñA¡£

ÏÂͼÊǵ±Ê±ÒµÎñAµÄдÈëQPS£¨Êºó·¢ÏÖÄÔ²ÐÍüÁ˽ØÈ¡ÆäËû±íQPS¶ÏÑÂʽϵøµÄ²ÒÏ󣩣¬µ«ÊǵÚÒ»¸Ð¾õÊÇQPS²¢²»¸ß°¡£¬Æ¾Ê²Ã´È¥Ó°Ïì±ðÈË£¡

ÓÚÊǾͼÌÐø²é¿´ÆäËû¼à¿ØÐÅÏ¢£¬Ê×ÏÈÈ·ÈÏϵͳ×ÊÔ´£¨Ö÷ÒªÊÇIO£©²¢Ã»Óе½´ïÆ¿¾±£¬Æä´ÎÈ·ÈÏÁËдÈëµÄ¾ùºâÐÔ£¬Ö±ÖÁ¿´µ½ÏÂͼ£¬²Å×·×Ùµ½Ó°ÏìÆäËûÒµÎñдÈëµÄµÚ¶þ¸ö¹Ø¼üµã£ºRegionServerµÄhandler£¨ÅäÖÃ150£©±»²Ð±©ºÄ¾¡£º

¶Ô±ÈÉÏÃæÁ½ÕÅͼ£¬ÊDz»ÊÇ·¢ÏÖ³öÆæµÄÒ»Ö£¬ÄǾͿÉÒÔ»ù±¾È·ÈÏÊÇÓÉÓÚ¸ÃÒµÎñдÈëµ¼ÖÂÕą̂RegionServerµÄhandler±»ºÄ¾¡£¬½ø¶øÆäËûÒµÎñÄò»µ½handler£¬×ÔȻд²»½øÈ¥¡£ÄÇÎÊÌâÀ´ÁË£¬ÎªÊ²Ã´»áÕâÑù£¿Õý³£Çé¿öÏÂhandlerÔÚ´¦ÀíÍê¿Í»§¶ËÇëÇóÖ®ºó»áÁ¢ÂíÊÍ·Å£¬Î¨Ò»µÄ½âÊÍÊÇÕâЩÇëÇóµÄÑÓ³ÙʵÔÚÌ«´ó¡£

ÊÔÏ룬ÎÒÃÇÈ¥ºº±¤µêÅŶÓÂòºº±¤£¬ÓÐ150¸ö´°¿Ú·þÎñ£¬Õý³£Çé¿öÏ´ó¼ÒÂòÒ»¸öºÜ¿ì£¬ÕâÑù150¸ö´°¿Ú¿ÉÄÜÖ»ÐèÒª50¸ö·þÎñ¡£¼ÙÉèºöÈ»À´ÁËÒ»Åú´óºº£¬Òª¶¨ÖƳ¬´óºº±¤£¬ºÃÁË£¬ËùÓеĴ°¿Ú¶¼¹¤×÷ÆðÀ´£¬¶øÇÒÒòΪ´óºº±¤²»ºÃÖÆ×÷µ¼Ö·þÎñºÜÂý£¬ÕâÑù±ØÈ»»áµ¼ÖÂÆäËûÅŶӵÄÓû§³¤Ê±¼äµÈ´ý£¬Ö±ÖÁ³¬Ê±¡£

¿É»ØÍ·Ò»ÏëÕâ¿ÉÊÇдÇëÇó°¡£¬Ôõô»áÓÐÕâô´óµÄÇëÇóÑÓ³Ù£¡ºÍÒµÎñ·½¹µÍ¨Ö®ºóÈ·ÈϸñíÖ÷Òª´æ´¢ÓïÁÏ¿âÎĵµÐÅÏ¢£¬¶¼ÊÇÆ½¾ù100K×óÓÒµÄÊý¾Ý£¬ÊDz»ÊÇÒѾ­²Âµ½Á˽á¹û£¬Ã»´í£¬¾ÍÊÇÒòΪÕâ¸öÒµÎñKeyValueÌ«´óµ¼Ö¡£KeyValueÌ«´ó»áµ¼ÖÂHLogÎļþдÈëÆµ·±Çл»¡¢flushÒÔ¼°compactionƵ·±´¥·¢£¬Ð´ÈëÐÔÄܼ±¾çϽµ¡£

ĿǰÕë¶ÔÕâÖֽϴóKeyValueдÈëÐÔÄܽϲîµÄÎÊÌ⻹ûÓÐÖ±½ÓµÄ½â¾ö·½°¸£¬ºÃÔÚÉçÇøÒѾ­Òâʶµ½Õâ¸öÎÊÌ⣬ÔÚ½ÓÏÂÀ´¼´½«·¢²¼µÄÏÂÒ»¸ö´ó°æ±¾HBase 2.0.0°æ±¾»áÕë¶Ô¸ÃÎÊÌâ½øÐÐÉîÈëÓÅ»¯£¬Ïê¼ûHBase MOB£¬ÓÅ»¯ºóÓû§Ê¹ÓÃHBase´æ´¢Îĵµ¡¢Í¼Æ¬µÈ¶þ½øÖÆÊý¾Ý¶¼»áÓм«¼ÑµÄÐÔÄÜÌåÑé¡£

°¸¼þ¶þ£º´ó×Ö¶Îscanµ¼ÖÂRegionServerå´»ú

°¸¼þÏÖ³¡£ºÓжÎʱ¼äÓиö0.98¼¯ÈºµÄRegionServer¾­³£Æµ·±å´»ú£¬²é¿´ÈÕÖ¾ÊÇÓÉÓÚ¡±java.lang.OutOfMemoryError: Requested array size exceeds VM limit¡±£¬ÈçÏÂͼËùʾ£º

Ô­Òò·ÖÎö£ºÍ¨¹ý²é¿´Ô´ÂëÒÔ¼°Ïà¹ØÎĵµ£¬È·ÈϸÃÒì³£·¢ÉúÔÚscan½á¹ûÊý¾Ý»Ø´«¸ø¿Í»§¶ËʱÓÉÓÚÊý¾ÝÁ¿Ì«´óµ¼ÖÂÉêÇëµÄarray´óС³¬¹ýJVM¹æ¶¨µÄ×î´óÖµ£¨ Interge.Max_Value-2£©¡£Ôì³É¸ÃÒì³£µÄÁ½ÖÖ×î³£¼ûÔ­Òò·Ö±ðÊÇ£º

±íÁÐÌ«¿í£¨¼¸Ê®ÍòÁлòÕßÉϰÙÍòÁУ©£¬²¢ÇÒscan·µ»ØÃ»ÓжÔÁÐÊýÁ¿×öÈκÎÏÞÖÆ£¬µ¼ÖÂÒ»ÐÐÊý¾Ý¾Í¿ÉÄÜÒòΪ°üº¬´óÁ¿ÁжøÊý¾Ý³¬¹ýarray´óСãÐÖµ

KeyValueÌ«´ó£¬²¢ÇÒscan·µ»ØÃ»ÓжԷµ»Ø½á¹û´óС×öÈκÎÏÞÖÆ£¬µ¼Ö·µ»ØÊý¾Ý½á¹û´óС³¬¹ýarray´óСãÐÖµ

ÓеÄͯЬ¾ÍÒªÌáÎÊÀ²£¬ËµÈç¹ûÒѾ­¶Ô·µ»Ø½á¹û´óС×öÁËÏÞÖÆ£¬ÔÚ±íÁÐÌ«¿íµÄÇé¿öÏÂÊDz»ÊǾͿÉÒÔ²»¶ÔÁÐÊýÁ¿×öÏÞÖÆÄØ¡£ÕâÀïÐèÒª³ÎÇåһϣ¬Èç¹û²»¶ÔÁÐÊý¾Ý×öÏÞÖÆ£¬Êý¾Ý×ÜÊÇÒ»ÐÐÒ»Ðзµ»ØµÄ£¬¼´Ê¹Ò»ÐÐÊý¾Ý´óС´óÓÚÉèÖõķµ»Ø½á¹ûÏÞÖÆ´óС£¬Ò²»á·µ»ØÍêÕûµÄÒ»ÐÐÊý¾Ý¡£ÔÚÕâÖÖÇé¿öÏ£¬Èç¹ûÕâÒ»ÐÐÊý¾ÝÒѾ­³¬¹ýarray´óСãÐÖµ£¬Ò²»á´¥·¢OOMÒì³£¡£

½â¾ö·½°¸£ºÄ¿Ç°Õë¶Ô¸ÃÒì³£ÓÐÁ½ÖÖ½â¾ö·½°¸£¬ÆäÒ»ÊÇÉý¼¶¼¯Èºµ½1.0£¬ÎÊÌâ¶¼½â¾öÁË¡£Æä¶þÊÇÒªÇó¿Í»§¶Ë·ÃÎʵÄʱºò¶Ô·µ»Ø½á¹û´óС×öÏÞÖÆ(scan.setMaxResultSize(2*1024*1024))¡¢²¢ÇÒ¶ÔÁÐÊýÁ¿×öÏÞÖÆ(scan.setBatch(100))£¬µ±È»£¬0.98.13°æ±¾ÒÔºóÒ²¿ÉÒÔ¶Ô·µ»Ø½á¹û´óСÔÚ·þÎñÆ÷¶Ë½øÐÐÏÞÖÆ£¬ÉèÖòÎÊýhbase.server.scanner.max.result.size¼´¿É

дÒì³£ÎÊÌâ¼ì²éµã

ÉÏÊö¼¸µãÖ÷ÒªÕë¶ÔдÐÔÄÜÓÅ»¯½øÐÐÁ˽éÉÜ£¬³ý´ËÖ®Í⣬ÔÚһЩÇé¿öÏ»¹»á³öÏÖдÒì³££¬Ò»µ©·¢ÉúÐèÒª¿¼ÂÇÏÂÃæÁ½ÖÖÇé¿ö£¨GCÒýÆðµÄ²»×ö½éÉÜ£©£º

MemstoreÉèÖÃÊÇ·ñ»á´¥·¢Region¼¶±ð»òÕßRegionServer¼¶±ðflush²Ù×÷£¿

ÎÊÌâ½âÎö£ºÒÔRegionServer¼¶±ðflush½øÐнâÎö£¬HBaseÉ趨һµ©Õû¸öRegionServerÉÏËùÓÐMemstoreÕ¼ÓÃÄÚ´æ´óС×ܺʹóÓÚÅäÖÃÎļþÖÐupperlimitʱ£¬ÏµÍ³¾Í»áÖ´ÐÐRegionServer¼¶±ðflush£¬flushËã·¨»áÊ×ÏȰ´ÕÕRegion´óС½øÐÐÅÅÐò£¬ÔÙ°´ÕÕ¸Ã˳ÐòÒÀ´Î½øÐÐflush£¬Ö±ÖÁ×ÜMemstore´óСµÍÖÁlowerlimit¡£ÕâÖÖflushͨ³£»áblock½Ï³¤Ê±¼ä£¬ÔÚÈÕÖ¾ÖлᷢÏÖ¡°Memstore is above high water mark and block 7452 ms¡±£¬±íʾÕâ´Îflush½«»á×èÈû7s×óÓÒ¡£

ÎÊÌâ¼ì²éµã£º

Region¹æÄ£ÓëMemstore×Ü´óСÉèÖÃÊÇ·ñºÏÀí£¿Èç¹ûRegionServerÉÏRegion½Ï¶à£¬¶øMemstore×Ü´óСÉèÖõĺÜС£¨JVMÉèÖýÏС»òÕßupper.limitÉèÖýÏС£©£¬¾Í»á´¥·¢RegionServer¼¶±ðflush¡£¼¯Èº¹æ»®Ïà¹ØÄÚÈÝ¿ÉÒԲο¼ÎÄÕ¡¶¡·

ÁÐ×åÊÇ·ñÉèÖùý¶à£¬Í¨³£Çé¿öϱíÁÐ×彨ÒéÉèÖÃÔÚ1¡«3¸öÖ®¼ä£¬×îºÃÒ»¸ö¡£Èç¹ûÉèÖùý¶à£¬»áµ¼ÖÂÒ»¸öRegionÖаüº¬ºÜ¶àMemstore£¬µ¼Ö¸üÈÝÒ×´¥µ½¸ßˮλupperlimit

StoreÖÐHFileÊýÁ¿ÊÇ·ñ´óÓÚÅäÖòÎÊýblockingStoreFile?

ÎÊÌâ½âÎö£º¶ÔÓÚÊý¾ÝдÈëºÜ¿ìµÄ¼¯Èº£¬»¹ÐèÒªÌØ±ð¹Ø×¢Ò»¸ö²ÎÊý£ºhbase.hstore.blockingStoreFiles£¬´Ë²ÎÊý±íʾÈç¹ûµ±Ç°hstoreÖÐÎļþÊý´óÓÚ¸ÃÖµ£¬ÏµÍ³½«»áÇ¿ÖÆÖ´ÐÐcompaction²Ù×÷½øÐÐÎļþºÏ²¢£¬ºÏ²¢µÄ¹ý³Ì»á×èÈûÕû¸öhstoreµÄдÈ롣ͨ³£Çé¿öϸ󡾰·¢ÉúÔÚÊý¾ÝдÈëºÜ¿ìµÄÇé¿öÏ£¬ÔÚÈÕÖ¾ÖпÉÒÔ·¢ÏÖ¡±Waited 3722ms on a compaction to clean up ¡®too many store files¡°

ÎÊÌâ¼ì²éµã£º

²ÎÊýÉèÖÃÊÇ·ñºÏÀí£¿hbase.hstore.compactionThreshold±íʾÆô¶¯compactionµÄ×îµÍãÐÖµ£¬¸ÃÖµ²»ÄÜÌ«´ó£¬·ñÔò»á»ýÀÛÌ«¶àÎļþ£¬Ò»°ã½¨ÒéÉèÖÃΪ5¡«8×óÓÒ¡£hbase.hstore.blockingStoreFilesĬÈÏÉèÖÃΪ7£¬¿ÉÒÔÊʵ±µ÷´óһЩ¡£

дÐÔÄÜ»¹ÄÜÔÙÌá¸ßô£¿

ÉÏÎÄÒѾ­´ÓдÐÔÄÜÓÅ»¯ÒÔ¼°Ð´Òì³£Õï¶ÏÁ½¸ö·½Ãæ¶ÔHBaseÖÐÊý¾ÝдÈë¿ÉÄܵÄÎÊÌâ½øÐÐÁËÏêϸµÄ½âÊÍ£¬ÏàÐÅÔÚ0.98°æ±¾µÄ»ù´¡É϶ÔдÈëÀ´ËµÒѾ­ÊÇ×îºÃµÄ½â¾ö·½°¸ÁË¡£µ«ÊÇÓÐЩҵÎñ¿ÉÄÜÒÀÈ»¾õµÃ²»¹»¿ì£¬±Ï¾¹¡±¸ü¿ì¡±ÊÇËùÓд洢ϵͳ»î×ŵ͝Á¦£¬ÄÇ»¹ÓÐÌá¸ß¿Õ¼äÂ𣿵±È»£¬½ÓÏÂÀ´¼òµ¥½éÉÜHBaseÖ®ºó°æ±¾¶ÔдÐÔÄÜÓÅ»¯µÄÁ½µãºËÐĸĽø£º

1.Utilize Flash storage for WAL(HBASE-12848)

Õâ¸öÌØÐÔÒâζ×Å¿ÉÒÔ½«WALµ¥¶ÀÖÃÓÚSSDÉÏ£¬ÕâÑù¼´Ê¹ÔÚĬÈÏÇé¿öÏ£¨WALSync£©£¬Ð´ÐÔÄÜÒ²»áÓкܴóµÄÌáÉý¡£ÐèҪעÒâµÄÊÇ£¬¸ÃÌØÐÔ½¨Á¢ÔÚHDFS 2.6.0+µÄ»ù´¡ÉÏ£¬HDFSÒÔǰ°æ±¾²»Ö§³Ö¸ÃÌØÐÔ¡£¾ßÌå¿ÉÒԲο¼¹Ù·½jira£ºhttps://issues.apache.org/jira/browse/HBASE-12848

2.Multiple WALs(HBASE-14457)

¸ÃÌØÐÔÒ²ÊǶÔWAL½øÐиÄÔ죬µ±Ç°WALÉè¼ÆÎªÒ»¸öRegionServerÉÏËùÓÐRegion¹²ÏíÒ»¸öWAL£¬¿ÉÒÔÏëÏóÔÚдÈëÍÌÍÂÁ¿½Ï¸ßµÄʱºò±ØÈ»´æÔÚ×ÊÔ´¾ºÕù£¬½µµÍÕûÌåÐÔÄÜ¡£Õë¶ÔÕâ¸öÎÊÌ⣬ÉçÇøÐ¡»ï°é£¨°¢Àï°Í°Í´óÉñ£©Ìá³öMultiple WALs»úÖÆ£¬¹ÜÀíÔ±¿ÉÒÔΪÿ¸öNamespaceϵÄËùÓбíÉèÖÃÒ»¸ö¹²ÏíWAL£¬Í¨¹ýÕâÖÖ·½Ê½£¬Ð´ÐÔÄÜ´óÔ¼¿ÉÒÔÌáÉý20%¡«40%×óÓÒ¡£¾ßÌå¿ÉÒԲο¼¹Ù·½jira£ºhttps://issues.apache.org/jira/browse/HBASE-14457

ºÃÁË£¬ÕâÆªÎÄÕºʹó¼ÒÒ»Æð·ÖÏíÁ˸öÈ˶ÔHBaseдÈëÐÔÄÜÓÅ»¯ÒÔ¼°Ð´ÈëÒì³£ÎÊÌâµÄһЩÀí½â£¬ÈçÓÐç¢Â©£¬»¹ÍûÖ¸Õý£¡ÁíÍ⣬Èç¹û´ó¼ÒÓÐÈκιØÓÚ´Ë»°ÌâµÄ°¸ÀýÒ²ºÜ»¶Ó­Ò»ÆðÌÖÂÛ¡«

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

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

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

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