±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚËѺüÍø£¬±¾ÎĽö½öÊǽáºÏÁ½¸öʵս³¡¾°¾Í»ùÓÚHBaseµÄ´óÊý¾Ý´æ´¢×öÁ˼òµ¥µÄ·ÖÎö£¬²¢¶ÔHBaseµÄÔÀí×öÁ˼òµ¥µÄ²ûÊö¡£ |
|
HBaseÊÇÒ»¸ö¸ß¿É¿¿ÐÔ¡¢¸ßÐÔÄÜ¡¢ÃæÏòÁС¢¿ÉÉìËõµÄ·Ö²¼Ê½´æ´¢ÏµÍ³£¬ÊÊÓÃÓڽṹ»¯µÄ´æ´¢£¬µ×²ãÒÀÀµÓÚHadoopµÄHDFS£¬ÀûÓÃHBase¼¼Êõ¿ÉÔÚÁ®¼ÛPCServerÉϴÆð´ó¹æÄ£½á¹¹»¯´æ´¢¼¯Èº¡£Òò´ËHBase±»¹ã·ºÊ¹ÓÃÔÚ´óÊý¾Ý´æ´¢µÄ½â¾ö·½°¸ÖС£
ΪºÎʹÓÃHBaseÄØ£¿¿Æ¶à´óÊý¾Ý´øÄãÃÇÀ´¿´¿´¡£
HBaseµÄÓŵ㣺
1.ÁпÉÒÔ¶¯Ì¬Ôö¼Ó£¬²¢ÇÒÁÐΪ¿Õ¾Í²»´æ´¢Êý¾Ý£¬½ÚÊ¡´æ´¢¿Õ¼ä¡£
2.Hbase×Ô¶¯ÇзÖÊý¾Ý£¬Ê¹µÃÊý¾Ý´æ´¢×Ô¶¯¾ßÓÐˮƽscalability¡£
3.Hbase¿ÉÒÔÌṩ¸ß²¢·¢¶Áд²Ù×÷µÄÖ§³Ö¡£
HBaseµÄȱµã£º
1.²»ÄÜÖ§³ÖÌõ¼þ²éѯ£¬Ö»Ö§³Ö°´ÕÕRow keyÀ´²éѯ¡£
2.HBase²¢²»Êʺϴ«Í³µÄÊÂÎï´¦Àí³ÌÐò»ò¹ØÁª·ÖÎö£¬²»Ö§³Ö¸´ÔÓ²éѯ£¬Ò»¶¨³Ì¶ÈÉÏÏÞÖÆÁËËüµÄʹÓ㬵«ÊÇÓÃËü×öÊý¾Ý´æ´¢µÄÓÅÊÆÒ²Í¬Ñù·Ç³£Ã÷ÏÔ¡£
ÒòΪHBase´æ´¢µÄÊÇËÉÉ¢µÄÊý¾Ý£¬ËùÒÔÈç¹ûÄãµÄÓ¦ÓóÌÐòÖУ¬Êý¾Ý±íÿһÐеĽṹÊÇÓвî±ðµÄ£¬ÄÇô¿ÉÒÔ¿¼ÂÇʹÓÃHBase¡£ÒòΪHBaseµÄÁпÉÒÔ¶¯Ì¬Ôö¼Ó£¬²¢ÇÒÁÐΪ¿Õ¾Í²»´æ´¢Êý¾Ý£¬ËùÒÔÈç¹ûÄãÐèÒª¾³£×·¼Ó×ֶΣ¬ÇҴ󲿷Ö×Ö¶ÎÊÇNULLÖµµÄ£¬ÄÇ¿ÉÒÔ¿¼ÂÇHBase¡£ÒòΪHBase¿ÉÒÔ¸ù¾ÝRowkeyÌṩ¸ßЧµÄ²éѯ£¬ËùÒÔÈç¹ûÄãµÄÊý¾Ý£¨°üÀ¨ÔªÊý¾Ý¡¢ÏûÏ¢¡¢¶þ½øÖÆÊý¾ÝµÈ£©¶¼ÓÐ×Åͬһ¸öÖ÷¼ü£¬»òÕßÄãÐèҪͨ¹ý¼üÀ´·ÃÎʺÍÐÞ¸ÄÊý¾Ý£¬Ê¹ÓÃHBaseÊÇÒ»¸öºÜºÃµØÑ¡Ôñ¡£
ÈçºÎʹÓÃHBase
³¡¾°Ò»£ºÂô¼Ò²Ù×÷ÈÕÖ¾
Âô¼Ò²Ù×÷ÈÕÖ¾£¬¹ËÃû˼ÒåÊÇÓÃÀ´¼Ç¼É̼ҲÙ×÷µÄϵͳ£¬´Ó¶ø¿ÉÒÔ±£Ö¤É̼ҿÉÒÔ¾«È·²éѯ×Ô¼ºµÄ¸÷ÖÖ²Ù×÷¡£¾©¶«Óм¸Ê®ÍòµÄÉ̼Òʱʱ¿Ì¿ÌµÄ½øÐÐן÷ÖÖ²Ù×÷£¬Òò´ËÂô¼Ò²Ù×÷ÈÕÖ¾µÄÌØµãÊÇ£ºÊý¾ÝÁ¿´ó¡¢ÊµÊ±ÐÔÇ¿¡¢Ôö¶à²éÉÙ¡£

ͼ1

ͼ2
ÎÒÃÇÔÚ×öÂô¼Ò²Ù×÷ÈÕÖ¾³õÆÚ£¬½«ËùÓеIJÙ×÷ÈÕÖ¾´æ·ÅÔÚESÖУ¬²Ù×÷ÈÕÖ¾µÄÊý¾ÝÁ¿ÊǷdz£´óµÄ£¬µ«ÞÏÞεÄÊÇÎÒÃǵ±Ê±ËùÄÜÉêÇëµ½µÄES×ÊÔ´ÓÐÏÞ¡£µ±°Ñ´óÁ¿µÄÊý¾Ý´æ´¢µ½ÓÐÏÞµÄES¼¯ÈºÖÐʱ±ãµ¼ÖÂÁËÐÔÄܵÄϽµ¡£ÔÚÕâÖÖÇé¿öÏ£¬ÎÒÃÇÑ¡ÔñÁËÖ»ÔÚES¼¯ÈºÖд洢×î½üÈý¸öÔµÄÊý¾Ý£¬¶ÔÆäÌṩÁé»îµÄ²éѯ£¬¶ø³¤ÆÚµÄÊý¾Ý´æ´¢Ê¹ÓÃHBaseÀ´½øÐС£ÕâÑùµÄ»°ÎÒÃDZã¿ÉÒÔʵÏÖ¶Ô½üÆÚ²Ù×÷Áé»îÕ¹ÏÖ£¬¶Ô³¤ÆÚÊý¾ÝÒ²Óо«È·±¸·Ý¡£
³¡¾°¶þ£º¾©ÂóÏûÏ¢ÈÕÖ¾µÄ´æ´¢

¾©ÂóÏûÏ¢ÈÕÖ¾µÄ´æ´¢ÊÇÊôÓÚ¾©Âó½î¶·ÔÆÏµÍ³£¨ÓÃÓÚ´òÔ쾩ÂóÏûÏ¢Éú̬ϵͳ±Õ»·£©²»¿É»òȱµÄÒ»²¿·Ö¡£ÆäÖаüº¬ÏûÏ¢µÄÈ«Á´Â·×·×ÙÒÔ¼°ÏûÏ¢µÄͳ¼Æ·ÖÎö¡£¾©ÂóÏûϢÿÌì¶¼»áÓм¸Ç§ÍòµÄÏûÏ¢Á¿£¬ÈçºÎ¶ÔÏûÏ¢½øÐÐ×·×ÙºÍͳ¼Æ±ã³ÉΪÁËÒ»¸öÖÁ¹ØÖØÒªµÄÎÊÌâ¡£ÏûÏ¢×·×ÙÒªÇóʵʱÐÔ¡¢¶àά¶È¾«È·²éѯ£¬Òò´ËÎÒÃÇÑ¡Ôñ½«×î½üÒ»ÖܵÄÏûÏ¢ÈÕÖ¾´æ´¢ÔÚES¡£Í³¼Æ·ÖÎöÒªÇóÎÒÃÇÓÐ×ã¹»¶àµÄÊý¾Ý£¬Òò´ËÎÒÃÇÔÚ½«Êý¾Ý´æ´¢ÔÚESÖеÄͬʱҲ´æ´¢ÔÚHBaseÖÐÒ»·Ý¡£×îÖÕÔÙ¶¨ÆÚ½«HBaseÖеÄÊý¾Ýµ¼Èëµ½¾©¶«µÄÊý¾Ý¼¯ÊÐÖУ¬ÕâÑùÎÒÃDZã¿ÉÒԺܷ½±ãµÄ¶Ô¾©ÂóÏûÏ¢½øÐÐͳ¼Æ·ÖÎö¡£
HBaseµÄÊý¾Ý½á¹¹

ҪʹÓÃHBaseÎÒÃÇÊ×ÏÈÒªÁ˽âHBaseµÄÊý¾Ý½á¹¹£º
HBase»á´æ´¢ÏµÁеÄÐмǼ£¬ÐмǼÓÐÈý¸ö»ù±¾ÀàÐ͵͍Ò壺Row Key¡¢Time Stamp¡¢Column
Family¡£
Row Key
ÓëNoSQLÊý¾Ý¿âÒ»Ñù£¬Row KeyÊÇÓÃÀ´¼ìË÷¼Ç¼µÄÖ÷¼ü¡£·ÃÎÊHBase tableÖеÄÐУ¬Ö»ÓÐÈýÖÖ·½Ê½£º
1.ͨ¹ýµ¥¸öRow Key·ÃÎÊ¡£
2.ͨ¹ýRow KeyµÄrangeÈ«±íɨÃè¡£
3.Row Key¿ÉÒÔÊÇÈÎÒâ×Ö·û´®£¨×î´ó³¤¶ÈÊÇ64KB£¬Êµ¼ÊÓ¦ÓÃÖ㤶ÈÒ»°ãΪ
10 ~ 100bytes£©£¬ÔÚHBaseÄÚ²¿£¬Row Key±£´æÎª×Ö½ÚÊý×é¡£
4.Ôڴ洢ʱ£¬Êý¾Ý°´ÕÕRow KeyµÄ×ÖµäÐò£¨byte order£©ÅÅÐò´æ´¢¡£Éè¼ÆKeyʱ£¬Òª³ä·ÖÅÅÐò´æ´¢Õâ¸öÌØÐÔ£¬½«¾³£Ò»Æð¶ÁÈ¡µÄÐд洢µ½Ò»Æð£¨Î»ÖÃÏà¹ØÐÔ£©¡£
Column Family
HBase±íÖÐÿ¸öÁж¼±ØÐëÊôÓÚij¸öÁÐ×壬ÁÐ×屨Ðë×÷Ϊ±íģʽ¶¨ÒåµÄÒ»²¿·ÖÔ¤Ïȸø³ö£¨ÓеãÏñ¹ØÏµÐÍÊý¾Ý¿âÖеÄÁÐÃû£¬¶¨ÒåÍêÒ»°ãÇé¿öϾͲ»»áÔÙÈ¥Ð޸ģ©£»
ÁÐÃûÒÔÁÐ×å×÷Ϊǰ׺£¬Ã¿¸öÁÐ×å¶¼¿ÉÒÔÓжà¸öÁгÉÔ±¡£ÐµÄÁÐ×å³ÉÔ±£¨Ò²¾ÍÊÇÁУ©¿ÉÒÔËæºó°´Ð裬¶¯Ì¬¼ÓÈë¡£
Hbase°ÑͬһÁÐ×åÀïÃæµÄÊý¾Ý´æ´¢ÔÚͬһĿ¼Ï£¬Óɼ¸¸öÎļþ±£´æ¡£
Time Stamp
ÔÚHBaseÿ¸öcell´æ´¢µ¥Ôª¶Ôͬһ·ÝÊý¾ÝÓжà¸ö°æ±¾£¬¸ù¾ÝΨһµÄʱ¼ä´ÁÀ´Çø·Öÿ¸ö°æ±¾Ö®¼äµÄ²îÒ죬²»Í¬°æ±¾µÄÊý¾Ý°´ÕÕʱ¼äµ¹ÐòÅÅÐò£¬×îеÄÊý¾Ý°æ±¾ÅÅÔÚ×îÇ°Ãæ¡£
¼òÊöHBaseµÄ¼Ü¹¹ÔÀí
1. HBaseµÄÄ£¿é

Master
HBase MasterÓÃÓÚе÷¶à¸öRegion Server£¬Õì²â¸÷¸öRegion ServerÖ®¼äµÄ״̬£¬²¢Æ½ºâRegion
ServerÖ®¼äµÄ¸ºÔØ¡£HBase Master»¹ÓÐÒ»¸öÖ°Ôð¾ÍÊǸºÔð·ÖÅäRegion¸øRegion
Server¡£HBaseÔÊÐí¶à¸öMaster ½Úµã¹²´æ£¬µ«ÊÇÕâÐèÒªZookeeperµÄ°ïÖú¡£²»¹ýµ±¶à¸öMaster½Úµã¹²´æÊ±£¬Ö»ÓÐÒ»¸öMasterÊÇÌṩ·þÎñµÄ£¬ÆäËûµÄMaster½Úµã´¦ÓÚ´ýÃüµÄ״̬¡£µ±ÕýÔÚ¹¤×÷µÄMaster½Úµãå´»úʱ£¬ÆäËûµÄMasterÔò»á½Ó¹Ü
HBase µÄ¼¯Èº¡£
Region Server
¶ÔÓÚÒ»¸öRegion Server¶øÑÔ£¬Æä°üÀ¨Á˶à¸öRegion¡£Region ServerµÄ×÷ÓÃÖ»ÊǹÜÀí±í¸ñ£¬ÒÔ¼°ÊµÏÖ¶Áд²Ù×÷¡£Client
Ö±½ÓÁ¬½ÓRegion Server£¬²¢Í¨ÐÅ»ñÈ¡HBaseÖеÄÊý¾Ý¡£¶ÔÓÚRegion¶øÑÔ£¬ÔòÊÇÕæÊµ´æ·ÅHBaseÊý¾ÝµÄµØ·½£¬Ò²¾Í˵RegionÊÇHBase¿ÉÓÃÐԺͷֲ¼Ê½µÄ»ù±¾µ¥Î»¡£Èç¹ûµ±Ò»¸ö±í¸ñºÜ´ó£¬²¢Óɶà¸öCF×é³Éʱ£¬ÄÇô±íµÄÊý¾Ý½«´æ·ÅÔÚ¶à¸öRegionÖ®¼ä£¬²¢ÇÒÔÚÿ¸öRegionÖÐ»á¹ØÁª¶à¸ö´æ´¢µÄµ¥Ôª£¨Store£©¡£
Zookeeper
¶ÔÓÚHBase¶øÑÔ£¬ZookeeperµÄ×÷ÓÃÊÇÖÁ¹ØÖØÒªµÄ¡£Ê×ÏÈZookeeperÊÇ×÷ΪHBase
MasterµÄHA½â¾ö·½°¸¡£Ò²¾ÍÊÇ˵£¬ÊÇZookeeper±£Ö¤ÁËÖÁÉÙÓÐÒ»¸öHBase Master´¦ÓÚÔËÐÐ״̬¡£²¢ÇÒZookeeper¸ºÔðRegionºÍRegion
ServerµÄ×¢²á¡£ÆäʵZookeeper·¢Õ¹µ½Ä¿Ç°ÎªÖ¹£¬ÒѾ³ÉΪÁË·Ö²¼Ê½´óÊý¾Ý¿ò¼ÜÖÐÈÝ´íÐԵıê×¼¿ò¼Ü¡£²»¹âÊÇHBase£¬¼¸ºõËùÓеķֲ¼Ê½´óÊý¾ÝÏà¹ØµÄ¿ªÔ´¿ò¼Ü£¬¶¼ÒÀÀµÓÚZookeeperʵÏÖHA¡£
2. HBaseµÄÔÀí

Ê×ÏÈÎÒÃÇÐèÒªÖªµÀHBaseµÄ¼¯ÈºÊÇͨ¹ýZookeeperÀ´½øÐлúÆ÷֮ǰµÄе÷£¬Ò²¾ÍÊÇ˵HBase
MasterÓëRegion ServerÖ®¼äµÄ¹ØÏµÊÇÒÀÀµZookeeperÀ´Î¬»¤¡£µ±Ò»¸öClientÐèÒª·ÃÎÊHBase¼¯ÈºÊ±£¬ClientÐèÒªÏȺÍZookeeperÀ´Í¨ÐÅ£¬È»ºó²Å»áÕÒµ½¶ÔÓ¦µÄRegion
Server¡£Ã¿Ò»¸ö Region Server¹ÜÀíןܶà¸öRegion¡£¶ÔÓÚHBaseÀ´Ëµ£¬RegionÊÇHBase²¢Ðл¯µÄ»ù±¾µ¥Ôª¡£Òò´Ë£¬Êý¾ÝÒ²¶¼´æ´¢ÔÚRegionÖС£
ÕâÀïÎÒÃÇÐèÒªÌØ±ð×¢Ò⣬ÿһ¸öRegion¶¼Ö»´æ´¢Ò»¸öColumn FamilyµÄÊý¾Ý£¬²¢ÇÒÊǸÃCFÖеÄÒ»¶Î£¨°´Row
µÄÇø¼ä·Ö³É¶à¸öRegion£©¡£RegionËùÄÜ´æ´¢µÄÊý¾Ý´óСÊÇÓÐÉÏÏ޵쬵±´ïµ½¸ÃÉÏÏÞʱ£¨Threshold£©£¬Region»á½øÐзÖÁÑ£¬Êý¾ÝÒ²»á·ÖÁѵ½¶à¸öRegionÖУ¬ÕâÑù±ã¿ÉÒÔÌá¸ßÊý¾ÝµÄ²¢Ðл¯£¬ÒÔ¼°Ìá¸ßÊý¾ÝµÄÈÝÁ¿¡£
ÿ¸öRegion°üº¬×Ŷà¸öStore¶ÔÏó¡£Ã¿¸öStore°üº¬Ò»¸öMemStore£¬ºÍÒ»¸ö»ò¶à¸öHFile¡£MemStore±ãÊÇÊý¾ÝÔÚÄÚ´æÖеÄʵÌ壬²¢ÇÒÒ»°ã¶¼ÊÇÓÐÐòµÄ¡£µ±Êý¾ÝÏòRegionдÈëµÄʱºò£¬»áÏÈдÈëMemStore¡£µ±MemStoreÖеÄÊý¾ÝÐèÒªÏòµ×²ãÎļþϵͳÇãµ¹£¨Dump£©Ê±£¨ÀýÈçMemStoreÖеÄÊý¾ÝÌå»ýµ½´ïMemStoreÅäÖõÄ×î´óÖµ£©£¬Store±ã»á´´½¨StoreFile£¬¶øStoreFile¾ÍÊǶÔHFileÒ»²ã·â×°¡£ËùÒÔMemStoreÖеÄÊý¾Ý»á×îÖÕдÈëµ½HFileÖУ¬Ò²¾ÍÊÇ´ÅÅÌIO¡£ÓÉÓÚHBaseµ×²ãÒÀ¿¿HDFS£¬Òò´ËHFile¶¼´æ´¢ÔÚHDFSÖ®ÖС£Õâ±ãÊÇÕû¸öHBase¹¤×÷µÄÔÀí¼òÊö¡£
ʹÓÃHBaseʱӦעÒâµÄÎÊÌâ
»ùÓÚHbaseµÄϵͳÉè¼ÆÓ뿪·¢ÖУ¬ÐèÒª¿¼ÂǵÄÒòËØ²»Í¬ÓÚ¹ØÏµÐÍÊý¾Ý¿â£¬Hbaseģʽ±¾ÉíºÜ¼òµ¥£¬µ«¸³ÓèÄã¸ü¶àµ÷ÕûµÄ¿Õ¼ä£¬ÓÐһЩģʽдÐÔÄܺܺ㬵«¶ÁÈ¡Êý¾Ýʱ±íÏÖ²»ºÃ£¬»òÕßÕýºÃÏà·´£¬ÀàËÆ´«Í³Êý¾Ý¿â»ùÓÚ·¶Ê½µÄOR½¨Ä££¬ÔÚʵ¼ÊÏîÄ¿Öп¼ÂÇHbaseÉè¼ÆÄ£Ê½ÊÇ£¬ÎÒÃÇÐèÒª´ÓÒÔϼ¸·½ÃæÄÚÈÝ×ÅÊÖ£º
1.Õâ¸ö±íÓ¦¸ÃÓжàÉÙ¸öÁдØ
2.ÁдØÊ¹ÓÃʲôÊý¾Ý
3.ÿ¸öÁдØÓ¦ÓжàÉÙ¸öÁÐ
4.ÁÐÃûÓ¦¸ÃÊÇʲô£¬¾¡¹ÜÁÐÃû²»±ØÔÚ½¨±íʱ¶¨Ò壬µ«ÊǶÁдÊý¾ÝʱÊÇÐèÒªµÄ
5.µ¥ÔªÓ¦¸Ã´æ·ÅʲôÊý¾Ý
6.ÿ¸öµ¥Ôª´æ´¢Ê²Ã´Ê±¼ä°æ±¾
7.Ðн¡½á¹¹ÊÇʲô£¬Ó¦¸Ã°üÀ¨Ê²Ã´ÐÅÏ¢
×ܽá
ÏÖÈç½ñ¸÷ÖÖÊý¾Ý´æ´¢·½°¸²ã³ö²»ÇÈçºÎʹÓúÃHBase£¬ÉõÖÁÓÚÈçºÎÑ¡ÔñÒ»¸ö×îÓŵÄÊý¾Ý´æ´¢·½°¸£¬»¹ÐèÒªÎÒÃǸù¾Ý³¡¾°ÐèÒª¾ßÌå·ÖÎöºÍÉè¼Æ¡£ |