±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚhbasefly.com£¬½éÉÜÁËRegion-In-Trasition»úÖÆ£¬Region
״̬±äǨµÄÍêÕûÁ÷³Ì£¬°¸Àý·ÖÎöµÈ¡£
|
|
ÏàÐų¤Ê±¼äÔËάHBase¼¯ÈºµÄͯЬ¿Ï¶¨¶¼»á¶ÔRIT£¨Region-In-Transition£¬ºÜ¶à²Î¿¼×ÊÁÏÎó½âΪRegion-In-Transaction£¬ÐèҪעÒ⣩ÓÐÒ»ÖÖÒ§ÑÀÇгݵÄÍ´ºÞ¸Ð£¬Ò»µ©Region´¦ÓÚ³¤Ê±¼äµÄRIT¾Í»áÓÐЩ²»ÖªËù´ë£¬ÖÁÉÙÒÔǰµÄÎÒ¾ÍÊÇÕâÑù¹ýÀ´µÄ¡£ÕýËùν¡°¿Ö¾åÀ´Ô´ÓÚδ֪¡±£¬²»ÖªËù´ëÒâζ×ÅÎÒÃǶÔRITÖªÖ®ÉõÉÙ£¬È»¶ø¡°·²Ê¶¼ÓÐÒò¹û£¬ÍòʽÔÓÐÔ´Í·¡±£¬´¦ÓÚRIT״̬µÄRegionÖ»ÊÇÈâÑÛ¿´µ½µÄÒ»¸ö½á¹û£¬ÎªÊ²Ã´»á´¦ÓÚRIT״̬²ÅÊÇÎÊÌâ̽Ë÷µÄ¸ù±¾£¬Ò²Êǽâ¾öÎÊÌâµÄ¹Ø¼ü¡£±¾ÎľͻùÓÚhbase
0.98.9 °æ±¾¶ÔRITµÄ¹¤×÷»úÖÆÒÔ¼°ÊµÏÖÔÀí½øÐÐÆÕ¼°ÐԵĽéÉÜ£¬Í¬Ê±ÔÚ´Ë»ù´¡ÉÏͨ¹ýÕæÊµ°¸Àý½²½âÈçºÎÕýÈ·ºÏÀíµØ´¦Àí´¦ÓÚRIT״̬µÄ
Region¡£Ò»·½ÃæÏ£Íû´ó¼ÒÄܹ»¸üºÃµÄÁ˽âRIT»úÖÆ£¬ÁíÒ»·½ÃæÏ£Íûͨ¹ý±¾ÎĵÄѧϰ֮ºó¿ÉÒÔ²»ÔÙ¡¯¾åÅ¡¯RIT£¬ÕýÈ·ÈÏʶ´¦ÓÚRIT״̬µÄRegion¡£
Region-In-Trasition»úÖÆ
´Ó×ÖÃæÒâ˼À´¿´£¬Region-In-Transition˵µÄÊÇRegion±äǨ»úÖÆ£¬Êµ¼ÊÉÏÊÇÖ¸ÔÚÒ»´ÎÌØ¶¨²Ù×÷ÐÐΪÖÐRegion״̬µÄ±äǨ£¬ÄÇÕâÀï¾ÍÉæ¼°Õâô¼¸¸öÎÊÌ⣺Region´æÔÚ¶àÉÙÖÖ״̬£¿HBaseÓÐÄÄЩ²Ù×÷»á´¥·¢Region״̬±äǨ£¿Ò»´ÎÕý³£²Ù×÷¹ý³ÌÖÐRegion״̬±äǨµÄÍêÕûÁ÷³ÌÊÇÔõôÑùµÄ£¿Èç¹ûRegion״̬ÔÚ±äǨµÄ¹ý³ÌÖгöÏÖÒì³£ÓÖ»áÔõôÑù£¿
Region´æÔÚ¶àÉÙÖÖ״̬£¿ÓÐÄÄЩ²Ù×÷»á´¥·¢×´Ì¬±äǨ£¿
HBaseÔÚRegionStateÀàÖж¨ÒåÁËRegionµÄÖ÷Ҫ״̬£¬Ö÷ÒªÓÐÈçÏ£º

ÉÏͼÖÐʵ¼ÊÉ϶¨ÒåÁËËÄÖֻᴥ·¢Region״̬±äǨµÄ²Ù×÷ÒÔ¼°²Ù×÷¶ÔÓ¦µÄRegion״̬¡£ÆäÖÐÌØ¶¨²Ù×÷ÐÐΪͨ³£°üÀ¨assign¡¢unassign¡¢splitÒÔ¼°mergeµÈ£¬¶øºÜ¶àÆäËû²Ù×÷¶¼¿ÉÒÔ²ð³ÉunassignºÍassign
£¬±ÈÈçmove²Ù×÷ʵ¼ÊÉÏÊÇÏÈunassignÔÙassign£»
Region×´Ì¬Ç¨ÒÆÊÇÈçºÎ·¢ÉúµÄ£¿
Õâ¸ö¹ý³ÌÓеãÀàËÆÓÚ״̬»ú£¬Ò²ÊÇͨ¹ýʼþÇý¶¯µÄ¡£ºÍRegion״̬һÑù£¬HBase
»¹¶¨ÒåÁ˺ܶàʼþ£¨¾ßÌå¼ûEventTypeÀࣩ¡£´Ë´¦ÒÔunassign¹ý³ÌΪÀý˵Ã÷ʼþÊÇÈçºÎÇý¶¯×´Ì¬±äǨµÄ£¬¼ûÏÂͼ£º

ÉÏͼËùʾÊÇRegionÔÚcloseʱµÄ״̬±äǨͼ£¬ÆäÖкì×Ö²¿·Ö¾ÍÊÇ·¢ÉúµÄ¸÷ÖÖʼþ¡£¿É¼û£¬Èç¹û·¢ÉúM_ZK_
REGION_ CLOSINGʼþ£¬Region¾Í»á´ÓOPEN×´Ì¬Ç¨ÒÆµ½PENDING_CLOSE״̬£¬¶ø·¢ÉúRS_ZK
_REGION_ CLOSINGʼþ£¬Region»á´ÓPENDING_CLOSE×´Ì¬Ç¨ÒÆµ½CLOSING״̬£¬ÒÔ´ËÀàÍÆ£¬·¢ÉúRS_
ZK_ REGION_CLOSEDʼþ£¬Region¾Í»á´ÓCLOSING×´Ì¬Ç¨ÒÆµ½CLOSED״̬¡£µ±È»£¬³ýÁËÕâЩʼþÖ®Í⣬HBase»¹¶¨ÒåÁ˺ܶàÆäËûʼþ£¬Ôڴ˾Ͳ»Ò»Ò»Áо١£½ØÖÁµ½´Ë£¬ÎÒÃÇÖªµÀRegionÊÇÒ»¸öÓÐÏÞ״̬»ú£¬ÄÇÕâ¸ö״̬»úÊÇÈçºÎÕý³£¹¤×÷µÄ£¬HMaster¡¢RegionServer¡¢ZookeeperÓÖÔÚ״̬»ú¹¤×÷¹ý³ÌÖаçÑÝÁËʲô½ÇÉ«£¬ÄǾͽÓ×ÅÍùÏ¿´¡«
Ò»´ÎÕý³£²Ù×÷¹ý³ÌÖÐRegion״̬±äǨµÄÍêÕûÁ÷³ÌÊÇÔõôÑùµÄ£¿
½ÓÏÂÀ´±¾½ÚÒÔunassign²Ù×÷ΪÀý¶ÔÕâ¸öÁ÷³Ì½øÐнâÎö£º
Õû¸öunassign²Ù×÷ÊÇÒ»¸ö±È½Ï¸´ÔӵĹý³Ì£¬Éæ¼°HMaster¡¢RegionServerºÍZookeeperÈý¸ö×é¼þ£º
1. HMaster¸ºÔðά»¤RegionÔÚÕû¸ö²Ù×÷¹ý³ÌÖеÄ״̬±ä»¯£¬Æðµ½Ò»¸öÊàŦµÄ×÷Óá£ËüÓÐÁ½¸öÖØÒªµÄHashMapÊý¾Ý½á¹¹£¬·Ö±ðΪregionStatesºÍregionsInTransition£¬Ç°ÕßÓÃÀ´´æ´¢Õû¸ö¼¯ÈºÖÐËùÓÐRegion¼°Æäµ±Ê±×´Ì¬£¬¶øºóÕßÖ÷Òª´æ´¢ÔÚ±äǨ¹ý³ÌÖеÄRegion¼°Æä״̬£¬ºóÕßÊÇǰÕßµÄÒ»¸ö×Ó¼¯£¬²»°üº¬OPEN״̬µÄRegions£»
2. RegionServer¸ºÔð½ÓÊÕHMasterµÄÖ¸ÁîÖ´ÐоßÌåunassign²Ù×÷£¬Êµ¼ÊÉϾÍÊǹرÕregion²Ù×÷£»
3. Zookeeper¸ºÔð´æ´¢²Ù×÷¹ý³ÌÖеÄʼþ£¬ËüÓÐÒ»¸ö·¾¶Îª/hbase/region-in-transitionµÄ½Úµã¡£Ò»µ©Ò»¸öRegion·¢Éúunssign²Ù×÷£¬¾Í»áÔÚÕâ¸ö½ÚµãÏÂÉú³ÉÒ»¸ö×ӽڵ㣬×Ó½ÚµãµÄÄÚÈÝÊÇÒ»¸ö¡°Ê¼þ¡±¾¹ýÐòÁл¯µÄ×Ö·û´®£¬²¢ÇÒMaster»á¼àÌýÔÚÕâ¸ö×Ó½ÚµãÉÏ£¬Ò»µ©·¢ÉúÈκÎʼþ£¬Master¾Í»á¼àÌýµ½²¢¸üÐÂRegionµÄ״̬¡£
ÏÂͼÊÇÕû¸öÁ÷³ÌʾÒâͼ£º

1. HMasterÏÈÖ´ÐÐʼþM_ZK_REGION_CLOSING²¢¸üÐÂRegionStates£¬½«¸ÃRegionµÄ״̬¸ÄΪPENDING_
CLOSE £¬²¢ÔÚregionsInTransition ÖвåÈëÒ»Ìõ¼Ç¼£»
2. ·¢ËÍÒ»ÌõRPCÃüÁî¸øÓµÓиÃRegionµÄRegionServer£¬ÔðÁîÆä¹Ø±Õ¸ÃRegion;
3. RegionServer½ÓÊÕµ½HMaster·¢Ë͹ýÀ´µÄÃüÁîÖ®ºó£¬Ê×ÏÈÉú³ÉÒ»¸öRS_ZK_REGION_CLOSINGʼþ£¬¸üе½Zookeeper£¬Master¼àÌýµ½ZK½Úµã±ä¶¯Ö®ºó¸üÐÂregionStates£¬½«¸ÃRegionµÄ״̬¸ÄΪCLOSING
;
4. RegionServerÖ´ÐÐÕæÕýµÄRegion¹Ø±Õ²Ù×÷£ºÈç¹û¸ÃRegionÕýÔÚÖ´ÐÐflush»òÕßcompaction£¬µÈ´ý²Ù×÷Íê³É£»·ñÔò½«¸ÃRegionϵÄËùÓÐMemstoreÇ¿ÖÆflush;
5. Íê³ÉÖ®ºóÉú³ÉʼþRS_ZK_REGION_CLOSED£¬¸üе½Zookeeper£¬Master¼àÌýµ½ZK½Úµã±ä¶¯Ö®ºó¸üÐÂregionStates£¬½«¸ÃRegionµÄ״̬¸ÄΪCLOSED;
µ½ÕâÀ»ù±¾ÉϽ«unssign²Ù×÷¹ý³ÌÖÐÉæ¼°µ½µÄRegion״̬±äǨ½âÊÍÇå³þÁË£¬µ±È»£¬ÆäËûÖîÈçassign²Ù×÷»ù±¾ÀàËÆ£¬Ôڴ˲»ÔÙ׸Êö¡£ÕâÀïÆäʵ»¹ÓÐÒ»¸öÎÊÌ⣬¼´¹ØÓÚHMasterÉÏËùÓÐRegion״̬ÊÇ·ñÐèÒª³Ö¾Ã»¯µÄÎÊÌ⣬¸Õ¿ªÊ¼½Ó´¥Õâ¸öÎÊÌâµÄʱºòÏëÏë²¢²»ÐèÒª£¬ÕâЩ´¦ÓÚRITµÄ״̬ÐÅÏ¢ÍêÈ«¿ÉÒÔͨ¹ýZookeeperÉÏ/region-in-transitionµÄ×Ó½ÚµãÐÅÏ¢¹¹½¨³öÀ´¡£È»¶ø£¬ÔÚÔĶÁHBase
BookµÄÏà¹ØÕ½Úʱ£¬¿´µ½ÈçÏÂÐÅÏ¢£º
ÓÚÊǾͳäÂúÁËÒÉ»ó£¬Ò»·½ÃæMaster¸üÐÂhbase:metaÊÇÒ»¸öÔ¶³Ì²Ù×÷£¬´ú¼ÛÏà¶ÔºÜ´ó£»ÁíÒ»·½ÃæRegion
״̬ÄÚ´æ¸üкÍÔ¶³Ì¸üб£Ö¤Ò»ÖÂÐԱȽÏÀ§ÄÑ£»ÔÙÕߣ¬ZookeeperÉÏÒѾÓÐÏàÓ¦RITÐÅÏ¢£¬Ôٳ־û¯Ò»·Ý²¢Ã»ÓÐÌ«´óÒâÒ塣ΪÁË¶ÔÆä½øÐÐÈ·ÈÏ£¬¾Í²éÔĸú×ÙÁËÒ»ÏÂÔ´Â룬·¢ÏÖÊÇ·ñ³Ö¾Ã»¯È¡¾öÓÚÒ»¸ö²ÎÊý£ºhbase.assignment.usezk£¬Ä¬ÈÏÇé¿öϸòÎÊýΪtrue£¬±íʾʹÓÃzkÇé¿öϲ¢²»»á¶ÔRegion
״̬½øÐг־û¯£¨Ïê¼ûRegionStateStoreÀࣩ£¬¿É¼ûHBase BookµÄÄǶÎ˵Ã÷´æÔÚÎÊÌ⣬ÔÚ´ËÌØ±ð˵Ã÷¡«
Èç¹ûRegion״̬ÔÚ±äǨµÄ¹ý³ÌÖгöÏÖÒì³£»áÔõôÑù£¿
ÔٻعËunassignµÄÕû¸ö¹ý³Ì¾Í»á·¢ÏÖÒ»´ÎÍêÕû²Ù×÷Éæ¼°Ì«¶àÁ÷³Ì£¬ÈκÎÒì³£¶¼¿ÉÄܻᵼÖÂRegion
´¦Óڽϳ¤Ê±¼äµÄRIT״̬£¬ºÃÔÚHBaseÕë¶Ô³£¼ûµÄÒì³£×öÁË×î»ù±¾µÄÈÝ´í´¦Àí£º
1. Masterå´»úÖØÆô£ºMasterÔÚå´»úÖ®ºó»á¶ªÊ§ËùÓÐÄÚ´æÖеÄÐÅÏ¢£¬Ò²°üÀ¨RITÐÅÏ¢ÒÔ¼°Region״̬ÐÅÏ¢£¬Òò´ËÔÚÖØÆôÖ®ºó»áµÚһʱ¼äÖØ½¨ÕâЩÐÅÏ¢¡£ÖØÆôÖ®ºó»á±éÀúZookeeperÉÏ/hbase
/regions-in- transition ½ÚµãϵÄËùÓÐ×ӽڵ㣬½âÎöËùÓÐ×Ó½Úµã¶ÔÓ¦µÄ×îºóÒ»¸ö¡®Ê¼þ¡¯£¬½âÎöÍê³ÉÖ®ºóÒ»·½Ãæ½è´ËÖØ½¨È«¾ÖµÄRegion״̬£¬ÁíÒ»·½Ãæ¸ù¾Ý״̬»ú×ªÒÆÍ¼¶Ô´¦ÓÚRIT״̬µÄRegion
½øÐд¦Àí¡£±ÈÈçÈç¹û·¢ÏÖµ±Ç°RegionµÄ״̬ÊÇPENDING_CLOSE£¬Master¾Í»áÔٴξݴËÏòRegionServer
·¢ËÍ¡¯¹Ø±Õ Region¡¯µÄRPCÃüÁî¡£
2. ÆäËûÒ쳣崻ú£ºHBase»áÔÚºǫ́¿ªÆôÒ»¸öÏ̶߳¨ÆÚ¼ì²éÄÚ´æÖд¦ÓÚRITÖеÄRegion£¬Ò»µ©ÕâЩRegion
´¦ÓÚRIT״̬µÄʱ³¤³¬¹ýÒ»¶¨µÄãÐÖµ£¨ÓɲÎÊýhbase.master .assignment .timeoutmonitor
.timeout ¶¨Ò壬ĬÈÏ600000ms £©¾Í»áÖØÐÂÖ´ÐÐunassign»òÕßassign²Ù×÷¡£±ÈÈçÈç¹ûµ±Ç°RegionµÄ״̬ÊÇPENDING_
CLOSE£¬¶øÇÒ´¦ÓÚ¸Ã״̬µÄʱ¼ä³¬¹ýÁË600000ms£¬Master¾Í»áÖØÐÂÖ´ÐÐunassign²Ù×÷£¬ÏòRegionServer
Ôٴη¢ËÍ¡¯¹Ø±ÕRegion¡¯µÄRPCÃüÁî¡£
¿É¼û£¬HBaseÌṩÁË»ù±¾µÄÖØÊÔ»úÖÆ£¬±£Ö¤ÔÚһЩ¶ÌÔÝÒì³£µÄÇé¿öÏÂÄܹ»Í¨¹ý²»¶ÏÖØÊÔÀÆðÄÇЩ´¦ÓÚRIT״̬µÄRegion£¬½ø¶ø±£Ö¤²Ù×÷µÄÍêÕûÐÔºÍ״̬µÄÒ»ÖÂÐÔ¡£È»¶ø²»ÐÒµÄÊÇ£¬ÒòΪ¸÷ÖÖ¸÷ÑùµÄÔÒò£¬ºÜ¶àRegion»¹ÊÇ»áµôÈ볤ʱ¼äµÄRIT״̬£¬ÉõÖÁÊÇÓÀ¾ÃµÄRIT״̬£¬±ØÐëÈËΪ¸ÉÔ¤²ÅÄܽâ¾ö£¬ÏÂÃæÒ»½ÚÄÚÈÝÈÃÎÒÃÇ¿´¿´¶¼ÓÐÄÄЩ³£¼ûµÄ³¡¾°»áµ¼ÖÂRegion»á´¦ÓÚÓÀ¾ÃRIT״̬£¬ÒÔ¼°Óöµ½ÕâÀàÎÊÌâÓ¦¸ÃÈçºÎ½â¾ö¡£
ÓÀ¾ÃRIT״̬°¸Àý·ÖÎö
ͨ¹ýRIT»úÖÆµÄÁ˽⣬Æäʵ¿ÉÒÔ·¢ÏÖ´¦ÓÚRIT״̬Region²¢²»ÊÇʲô¹ÖÎ´ó²¿·Ö´¦ÓÚRIT״̬µÄRegion
¶¼ÊǶÌÔݵ쬼´Ê¹ÔÚ´ó¶àÊý¶ÌÔÝÒì³£µÄÇé¿öÏÂHBaseÒ²ÌṩÁËÖØÊÔ»úÖÆ±£Ö¤RegionÄܹ»ºÜ¿ì»Ö¸´Õý³£¡£È»¶øÔÚÒ»Ð©ÌØ±ð¼«¶ËµÄ³¡¾°Ï»¹ÊǻᷢÉúһЩÒì³£µ¼Ö²¿·ÖRegionµôÈëÓÀ¾ÃµÄRIT״̬£¬½ø¶ø»áÒýÆð±í¶Áд×èÈûÉõÖÁÕû¸ö¼¯ÈºµÄ¶Áд×èÈû¡£ÏÂÃæÎÒÃǾÙÁ½¸öÏà¹ØµÄ°¸Àý½øÐÐ˵Ã÷£º
°¸ÀýÒ»£ºCompactionÓÀ¾Ã×èÈû
ÏÖÏó£ºÏßÉÏÒ»¸ö¼¯ÈºÒòΪδ֪ÔÒòºöÈ»¾Í¿¨×¡ÁË£¬¶ÁдÍêÈ«½ø²»À´ÁË£»ÁíÍ⻹ÓкܶദÓÚPENDING_
CLOSE ״̬µÄRegion¡£
·ÖÎö£º¼¯Èº¿¨×¡³£¼ûÔÒòÎÞ·ÇÁ½¸ö£¬Ò»ÊÇMemstore×ÜÏûºÄÄÚ´æ´óС³¬¹ýÁËÉÏÏÞ½ø¶ø´¥·¢Region
Server ¼¶±ðflush £¬´Ëʱϵͳ»á×èÈû¼¯ÈºÖ´Ðг¤Ê±¼äflush²Ù×÷£»¶þÊÇstorefileÊýÁ¿¹ý¶à³¬¹ýÉ趨µÄÉÏÏÞãÐÖµ£¨²Î¼û£ºhbase.hstore.blockingStoreFiles£©£¬´Ëʱϵͳ»á×èÈûËùÓÐflushÇëÇó¶øÖ´ÐÐcompaction¡£
Õï¶Ï£º
£¨1£©Ê×ÏȲ鿴Á˸÷¸öRegionServerÉϵÄMemstoreʹÓôóС£¬²¢Ã»ÓдﵽÉ趨µÄupperLimit¡£
£¨2£©Ôٲ鿴ÁËÒ»ÏÂËùÓÐRegionServerµÄstorefileÊýÁ¿£¬Ë²¼äʯ»¯ÁË£¬storeÊýΪ250µÄRegionServerÉÏstorefileÊýÁ¿¾¹È»´ïµ½ÁË1.5w+£¬ºÜ¶àµ¥¸östoreµÄstorefile¶¼³¬¹ýÁËÉ趨ãÐÖµ100
£¨3£©³õ²½»³ÒÉÊÇÒòΪstorefileÊýÁ¿¹ý¶àÒýÆðµÄ£¬¿´µ½Õâô¶àstorefileµÄµÚÒ»·´Ó¦ÊÇÊÖ¶¯Ö´ÐÐmajor
_ compaction£¬È»¶øËùÓеÄcompactÃüÁîºÃÏñ¶¼Ã»ÓÐÆðÈκÎ×÷ÓÃ
£¨4£©ÎÞÒâÖз¢ÏÖËùÓÐRegionServerµÄCompactionÈÎÎñ¶¼ÊÇͬһÕűímusic_actionsµÄ£¬¶øÇÒCompaction
ʱ¼ä¶¼»ù±¾³ÖÐøÁËÒ»Á½Ìì¡£µ½´Ë»ù±¾¿ÉÒÔÈ·ÈÏÊÇÒòΪ±ímusic_actionsµÄCompactionÈÎÎñ³¤Ê±¼ä×èÈû£¬Õ¼ÓÃÁËËùÓеÄCompactionÏß³Ì×ÊÔ´£¬µ¼Ö¼¯ÈºÖÐËùÓÐÆäËû±í¶¼ÎÞ·¨Ö´ÐÐCompaction
ÈÎÎñ£¬×îºóµ¼ÖÂStoreFile ´óÁ¿¶Ñ»ý
£¨5£©ÄÇΪʲô»á´æÔÚPENDING_CLOSE״̬µÄRegionÄØ£¿¾²é¿´£¬ÕâЩ´¦ÓÚPENDING_CLOSE״̬µÄRegion
È«²¿À´×ÔÓÚ±ímusic_actions£¬½øÒ»²½Õï¶ÏÈ·ÈÏÊÇÓÉÓÚÔÚÖ´ÐÐgraceful_stop¹ý³ÌÖÐunassign
ʱÓöµ½Compaction ³¤Ê±¼ä×èÈûµ¼ÖÂRegionServerÎÞ·¨Ö´ÐÐRegion¹Ø±Õ£¨²Î¿¼ÉÏÎÄunassign¹ý³Ì£©£¬Òò¶øµôÈëÁËÓÀ¾ÃRIT
½â¾ö·½°¸£º
£¨1£©Õâ¸öÎÊÌâÖÐRITºÍ¼¯Èº¿¨×¡ÔÒò¶¼ÔÚÓÚmusic_actionsÕâÕűíµÄCompaction×èÈû£¬Òò´ËÐèÒª¶¨Î»Compaction
×èÈûµÄ¾ßÌåÔÒò¡£¾¹ýÒ»¶Îʱ¼äµÄ¶¨Î»³õ²½»³ÒÉÊÇÒòΪÕâÕűíµÄ±àÂëµ¼Ö£¬anyway £¬¾ßÌåÔÒò²»ÖØÒª£¬ÒòΪһµ©Compaction×èÈû£¬ºÃÏñÊÇû°ì·¨Í¨¹ýÕý³£ÃüÁî½â³ýÕâÖÖ×èÈûµÄ¡£ÁÙʱÓÐÓõİ취ÊÇÔö´ó¼¯ÈºµÄCompaction
Ị̈߳¬ÒÔÆÚÍûÓиü¶à¿ÕÏÐÏ߳̿ÉÒÔ´¦Àí¼¯ÈºÖÐÆäËûCompaction ÈÎÎñ£¬Ïû»¯´óÁ¿¶Ñ»ýµÄStoreFiles
£¨2£©¶øÓÀ¾ÃÐÔÏûÃðÕâÖÖCompaction ×èÈûÖ»ÄÜÏȽ«ÕâÕűíÊý¾ÝÇ¨ÒÆ³öÀ´£¬È»ºó½«ÕâÕÅ±í±©Á¦É¾³ý¡£±©Á¦É¾³ý¾ÍÊÇÏȽ«HDFS¶ÔÓ¦Îļþɾ³ý£¬ÔÙ½«hbase:metaÖиñí¶ÔÓ¦µÄÏà¹ØÊý¾ÝÇå³ý£¬×îºóÖØÆôÕû¸ö¼¯Èº¼´¿É¡£ÕâÕűíɾ³ýÖ®ºóʹÓÃhbck¼ì²éÒ»ÖÂÐÔÖ®ºó£¬¼¯ÈºCompaction×èÈûÏÖÏó¾ÍÏûʧÁË£¬¼¯Èº¾ÍÍêÈ«»Ö¸´Õý³£¡£
°¸Àý¶þ£ºHDFSÎļþÒì³£
ÏÖÏó£ºÏßÉϼ¯ÈººÜ¶àRegionServer¶Ìʱ¼äÄÚÆµÆµå´»ú£¬Óм¸¸öRegion´¦ÓÚFAILED_
OPEN ״̬
·ÖÎöÕï¶Ï£º
£¨1£©²é¿´ÏµÍ³¼à¿ØÒÔ¼°RegionServerÈÕÖ¾£¬È·ÈÏRegionServerƵ·±å´»úÊÇÒòΪ´óÁ¿CLOSE
_WAIT״̬µÄ¶ÌÁ¬½Óµ¼Ö¡£¼à¿ØÏÔʾ¶Ìʱ¼äÄÚ£¨4h£©CLOSE_WAITµÄÊýÁ¿´Ó0Ôö³¤µ½6w+¡£
£¨2£©Ôٲ鿴RegionServerÈÕÖ¾²é¿´µ½ÈçÏÂÈÕÖ¾£º
2016-07-27
09: 42:14,932 [RS_ OPEN_REGION- inspur 250 .photo.163
.org,60020,1469581282053- 0] ERROR org .apache
.hadoop.hbase. regionserver.handler . OpenRegionHandler
- Failed open of region = news _ user_ actions,|
u :cfcd208495d565ef6 6e7dff9f98764da
|1462799167 | 30671473410714402 ,1469522128310
.3b3ae24c65fc5094bc2acfebaa7a56de ., starting
to roll back the global memstore size.
java. io.IOException : java.io .IOException :
java .io .FileNotFoundException : File does not
exist : /hbase /news_ user_actions /b7b3faab86527b88
a92f2a248a54d3dc /meta / 0f47cda55fa 44cf9aa 2599079894aed6
2016-07-27 09:42 :14,934 [RS_ OPEN_REGION- inspur
250 .photo.163 .org,60020 ,1469581282053 -0 ]
INFO org .apache.hadoop .hbase .regionserver .handler
.Open Region Handler - Opening of region { NAME
= > 'news_ user_ actions,|u :cfcd208495 d565ef66e7
dff9f9
8764da |1462799167 |30671473410714402 , 1469522128310
.3b3ae24c65fc5094b c2acfebaa7a56de .', STARTKEY
= > '|u: cfcd208495d565ef66 e7dff9f98764da
|1462799167 | 30671473410714402 ', ENDKEY = >
'|u :d0', ENCODED => 3b3ae24c65fc5094 bc2acfebaa7a56de
,} faile
d , marking as FAILED_OPEN in ZK |
ÈÕÖ¾ÏÔʾ£¬Region ¡®3b3ae24c65fc5094bc2acfebaa7a56de¡¯´ò¿ªÊ§°Ü£¬Òò´Ë״̬±»ÉèÖÃΪFAILED_
OPEN £¬ÔÒò³õ²½ÈÏΪÊÇFileNotFoundException µ¼Ö£¬ÕÒ²»µ½µÄÎļþÊÇRegion
¡®b7b3faab8652 7b88a92f2a248a54d3dc ¡¯ ϵÄÒ»¸öÎļþ£¬ÕâÁ½ÕßÖ®¼äÓÐʲôÁªÏµÄØ£¿
£¨3£©Ê¹ÓÃhbck¼ì²éÁËÒ»°Ñ£¬µÃµ½ÈçÏ´íÎóÐÅÏ¢£º
ERROR: Found
lingering reference file hdfs: //mycluster /hbase
/news_user_actions /3b3ae24c 65fc5094bc2acfebaa7a56de
/meta /0f47cda55fa44cf9aa 2599079894aed6 .b7b3faab
86527b88a92f2a248a54d3dc |
¿´µ½ÕâÀï¾ÍһϻÐÈ»´óÎò£¬´ÓÒýÓÃÎļþ¿ÉÒÔ¿´³öÀ´£¬Region ¡®3b3ae24c65fc5094bc2acfebaa
7a56 de ¡¯ÊÇ¡® b7b3faab86527b88a92f2a248a54d3dc¡¯µÄ×ÓRegion£¬ÊìϤ
Split ¹ý³ÌµÄͯЬ¾Í»áÖªµÀ£¬¸¸Region·ÖÁѳÉÁ½¸ö×ÓRegionÆäʵ²¢Ã»ÓÐÉæ¼°µ½Êý¾ÝÎļþµÄ·ÖÁÑ£¬¶øÊÇ»áÔÚ×ÓRegionµÄHDFSĿ¼ÏÂÉú³ÉÒ»¸öÖ¸Ïò¸¸RegionĿ¼µÄÒýÓÃÎļþ£¬Ö±µ½×ÓRegionÖ´ÐÐCompactio
n²Ù×÷²Å»á½«¸¸Regio nµÄÎļþºÏ²¢¹ýÀ´¡£
µ½ÕâÀ¾Í¿ÉÒÔÀí½âΪʲô×ÓRegion»á³¤Ê±¼ä´¦ÓÚFAILED_OPEN״̬£ºÒòΪ×ÓRegionÒýÓÃÁ˸¸Region
µÄÎļþ£¬È»¶ø¸¸RegionµÄÎļþÒòΪδ֪ÔÒò¶ªÊ§ÁË£¬ËùÒÔ×ÓRegionÔÚ´ò¿ªµÄʱºòÒòΪÕÒ²»µ½ÒýÓÃÎļþÒò¶ø»áʧ°Ü¡£¶øÕâÖÖÒì³£²¢²»ÄÜͨ¹ý¼òµ¥µÄÖØÊÔ¿ÉÒÔ½â¾ö£¬ËùÒԻ᳤ʱ¼äµôÈëRI
T״̬¡£
£¨4£©ÏÖÔÚ»ù±¾¿ÉÒÔͨ¹ýRegionServerÈÕÖ¾ºÍhbckÈÕ־ȷ¶¨Region´¦ÓÚFAILED_OPENµÄÔÒòÊÇÒòΪ×ÓRegion
ËùÒýÓõĸ¸RegionµÄÎļþ¶ªÊ§µ¼Ö¡£ÄÇΪʲô»á³öÏÖCLOSE_WAITÊýÁ¿±©ÕǵÄÎÊÌâÄØ£¿¾È·ÈÏÊÇÒòΪRegion
ÔÚ´ò¿ªµÄʱºò»á¶ÁÈ¡Region¶ÔÓ¦HDFSÏà¹ØÎļþ£¬µ«ÒòΪÒýÓÃÎļþ¶ªÊ§ËùÒÔ¶Áȡʧ°Ü£¬¶Áȡʧ°ÜÖ®ºóϵͳ»á²»¶ÏÖØÊÔ£¬Ã¿´ÎÖØÊÔ¶¼»áͬdatanode½¨Á¢¶ÌÁ¬½Ó£¬ÕâЩ¶ÌÁ¬½ÓÒòΪhbase
µÄbug Ò»Ö±µÃ²»µ½ºÏÀí´¦Àí¾Í»áÒýÆðCLOSEE_WAITÊýÁ¿±©ÕÇ¡£
½â¾ö·½°¸£ºÉ¾µôHDFSÉÏËùÓмì²é³öÀ´µÄÒýÓÃÎļþ¼´¿É
£¨5£©ÓÐÅóÓÑ×ÉѯΪʲô»á³öÏÖ¸¸Îļþ¶ªÊ§£¬Ôڴ˲¹³äһϡ£Ä¿Ç°ÓпÉÄÜÓм¸¸ö¹Ù·½bug´¥·¢Õâ¸öÎÊÌ⣬Ïê¼ûhttps://issues.apache.org/jira/browse/HBASE-13331ÒÔ¼°https://issues
.apache.org /jira /browse /HBASE-16527¡£
¼òµ¥À´ËµÏÂÔÚsplitÍê³ÉÖ®ºó¸¸region»áÔÚʲôÇé¿öϱ»É¾³ý£¬Êµ¼ÊÉÏMaster»áÆô¶¯Ò»¸öÏ̶߳¨Ê±¼ì²éÍê³ÉsplitÖ®ºóµÄ¸¸Ä¿Â¼ÊÇ·ñ¿ÉÒÔ±»ÓÐЧɾ³ý£¬ÏµÍ³meta±íÖлá¼Ç¼¸Ã¸¸regionÇзֺóµÄ×Óregion
£¬Ö»ÐèÒª¼ì²é´ËÁ½¸ö×ÓregionÊÇ·ñ»¹´æÔÚÒýÓÃÎļþ£¬Èç¹û¶¼²»´æÔÚÒýÓÃÎļþ¾Í¿ÉÒÔÈÏΪ¸Ã¸¸region
¶ÔÓ¦µÄÎļþ¿ÉÒÔ±»É¾³ý¡£
HBASE-13331 bugÊÇ˵¼ì²éÒýÓÃÎļþʱºò£¨¼ì²éÊÇ·ñ´æÔÚ¡¢¼ì²éÊÇ·ñ¿ÉÒÔÕý³£´ò¿ª£©Èç¹ûÅ׳öIO
Exception Òì³££¬º¯Êý¾Í»á·µ»ØÃ»ÓÐÒýÓÃÎļþ£¬µ¼Ö¸¸region±»É¾µô¡£Õý³£Çé¿öÏÂÓ¦¸Ã±£ÏÕÆð¼û·µ»Ø´æÔÚÒýÓÃÎļþ£¬±£Áô¸¸
region£¬²¢´òÓ¡ÈÕÖ¾ÊÖ¹¤½éÈë²é¿´¡£
°¸Àý·ÖÎö
¾¹ýÉÏÃæÁ½¸ö°¸ÀýµÄ½²½âÆäʵ¿´³öµÃ³öÕâô¼¸µã£º
1. ÓÀ¾ÃÐÔµôÈëRIT״̬Æäʵ³öÏֵĸÅÂʲ¢²»¸ß£¬¶¼ÊÇÔÚһЩ¼«¶ËÇé¿öϲŻá³öÏÖ¡£¾ø´ó²¿·ÖRIT״̬¶¼ÊÇÔÝʱµÄ¡£
2. Ò»µ©µôÈëÓÀ¾ÃÐÔRIT״̬£¬ËµÃ÷Ò»¶¨Óиù±¾ÐÔµÄÎÊÌâÔÒò£¬Ö»Óж¨Î»³öÕâЩÎÊÌâ²ÅÄܳ¹µ×½â¾öÎÊÌâ
3. Èç¹ûRegion³¤Ê±¼ä´¦ÓÚPENDING_CLOSE»òÕßCLOSING״̬£¬Ò»°ãÊÇÒòΪRegionServerÔڹرÕRegion
µÄʱºòÓöµ½Á˳¤Ê±¼äCompactionÈÎÎñ»òFlushÈÎÎñ£¬ËùÒÔÈç¹ûRegionÔÚ×öÀàËÆÓÚMajor_
CompactµÄ²Ù×÷ʱ¾¡Á¿²»ÒªÖ´ÐÐunassign²Ù×÷£¬±ÈÈçmove²Ù×÷¡¢disable²Ù×÷µÈ£»¶øÈç¹ûRegion³¤Ê±¼ä´¦ÓÚFAILED
_ OPEN ״̬£¬Ò»°ãÊÇÒòΪHDFSÎļþ³öÏÖÒì³£ËùÖ£¬¿ÉÒÔͨ¹ýRegionServer ÈÕÖ¾ÒÔ¼°hbck¶¨Î»³öÀ´
дÔÚÎÄÕÂ×îºó
RITÔںܶàÔËάHBaseµÄÈË¿´À´ÊÇÒ»¸öºÜÉñÃØµÄ¶«Î÷£¬ÕâÊÇÒòΪRITºÜÉÙ³öÏÖ£¬¶øÒ»µ©³öÏ־ͺÜÖÂÃü£¬ÔËάÆðÀ´ÍùÍù²»ÖªËù´ë¡£±¾ÎľÍÏ£ÍûÄܹ»´òÆÆÕâÖÖÉñÃØ¸Ð£¬»¹ÔËüµÄÕæÊµ±¾ÐÔ¡£ÎÄÕµÚÒ»²¿·Öͨ¹ý²ã²ãµÝ½øµÄ·½Ê½½éÉÜÁËRegion-In-Transition»úÖÆ£¬µÚ¶þ²¿·Öͨ¹ýÉú²ú»·¾³µÄÕæÊµ°¸Àý·ÖÎöÓÀ¾ÃÐÔRIT³öÏֵij¡¾°ÒÔ¼°Ó¦¶ÔµÄ·½°¸¡£Ï£Íû´ó¼ÒÄܹ»¸ü¶àµÄÁ˽âRIT£¬Í¨¹ý²»¶ÏµÄÔËάʵ¼ù×îºóÔÙÒ²²»ÓþåÅÂËü¡«¡« |