¸ÅÄî
HDFSÊÇHadoop Distribute File System µÄ¼ò³Æ£¬Ò²¾ÍÊÇHadoop·Ö²¼Ê½Îļþϵͳ¡£
Éè¼ÆÀíÄî
1¡¢Ó²¼þ´íÎóÊdz£Ì¬
´íÎó¼ì²â²¢¿ìËÙ×Ô¶¯»Ö¸´ÊÇHDFSµÄ×îºËÐÄÉè¼ÆÄ¿±ê
2¡¢´æ´¢³¬´óÎļþ
HDFSÊʺϴóÁ¿´æ´¢£¬×Ü´æ´¢Á¿¿ÉÒÔ´ïµ½µÄPB¡¢EB¼¶
HDFSÊʺϴóÎļþ£¬µ¥¸öÎļþÒ»°ãÔÚ°ÙMB¼¶ÒÔÉÏ
ÎļþÊýÄ¿ÊÊÖÐ
3¡¢Á÷ʽÊý¾Ý·ÃÎÊ£¬×î¸ßЧµÄ·ÃÎÊģʽÊÇ Ò»´ÎдÈë¡¢¶à´Î¶ÁÈ¡
HDFSÊʺÏÓÃÓÚ´¦ÀíÅúÁ¿£¬¶ø²»ÊʺÏËæ»ú¶¨Î»·ÃÎÊ
HDFS´æ´¢µÄÊý¾Ý¼¯×÷ΪhadoopµÄ·ÖÎö¶ÔÏó¡£ÔÚÊý¾Ý¼¯Éú³Éºó£¬³¤Ê±¼äÔÚ´ËÊý¾Ý¼¯ÉϽøÐи÷ÖÖ·ÖÎö¡£Ã¿´Î·ÖÎö¶¼½«Éè¼Æ¸ÃÊý¾Ý¼¯µÄ´ó²¿·ÖÊý¾ÝÉõÖÁÈ«²¿Êý¾Ý£¬Òò´Ë¶ÁÈ¡Õû¸öÊý¾Ý¼¯µÄʱ¼äÑӳٱȶÁÈ¡µÚÒ»Ìõ¼Ç¼µÄʱ¼äÑÓ³Ù¸üÖØÒª¡£
4¡¢¼òµ¥µÄÒ»ÖÂÄ£ÐÍ
HDFSµÄÓ¦ÓóÌÐòÐèÒª¶ÔÎļþʵÐÐÒ»´ÎÐÔд¡¢¶à´Î¶ÁµÄ·ÃÎÊģʽ
²»ÄÜÐÞ¸ÄÒÑдÈëµÄÊý¾Ý
5¡¢³ÌÐò²ÉÓá°Êý¾Ý¾Í½ü¡±ÔÔò·ÖÅä½ÚµãÖ´ÐÐ
ÒÆ¶¯¼ÆËã±ÈÒÆ¶¯Êý¾ÝµÄ´ú¼ÛÒªµÍ
6¡¢ÔËÐÐÔÚÆÕͨÁ®¼ÛµÄ·þÎñÆ÷ÉÏ
HDFSÉè¼ÆÀíÄîÖ®Ò»¾ÍÊÇÈÃËüÄÜÔËÐÐÔÚÆÕͨµÄÓ²¼þÖ®ÉÏ£¬¼´±ãÓ²¼þ³öÏÖ¹ÊÕÏ£¬Ò²¿ÉÒÔͨ¹ýÈÝ´í²ßÂÔÀ´±£Ö¤Êý¾ÝµÄ¸ß¿ÉÓá£
¾ÖÏÞÐÔ
1¡¢²»ÊʺϵÍÑÓ³ÙÊý¾Ý·ÃÎÊ
¸ßÍÌÍÂÁ¿¿ÉÄÜÒªÇóÒÔ¸ßÑÓ³Ù×÷Ϊ´ú¼Û
Hbase¿ÉÒÔÃÖ²¹²»×ã
2¡¢ÎÞ·¨¸ßЧ´æ´¢´óÁ¿Ð¡Îļþ
ÎļþÊýÁ¿´óСµÄÏÞÖÆÓÉNameNodeÀ´¾ö¶¨
3¡¢²»Ö§³Ö¶àÓû§Ð´Èë¼°ÈÎÒâÐÞ¸ÄÎļþ
HDFSµÄ»ù±¾´æ´¢µ¥Î»¿é(Block)
´«Í³µÄ¿é´æ´¢½éÖÊÖУ¬¿éÊǶÁдµÄ×îСÊý¾Ýµ¥Î»(ÉÈÇø)£¬´«Í³Îļþϵͳ»ùÓÚ´æ´¢¿é½øÐвÙ×÷
HDFSҲʹÓõĿéµÄ¸ÅÄĬÈÏ´óСΪ64M
1.¿ÉÕë¶Ôÿ¸öÎļþÅäÖã¬Óɿͻ§¶ËÖ¸¶¨£¨hdfs-site.xmlÖÐÅäÖÃdfs.block.size£¬
ĬÈÏΪ64M£©
2.ÿ¸ö¿éÓÐÒ»¸ö×Ô¼ºµÄÈ«¾ÖID
HDFS½«Ò»¸öÎļþ·ÖΪһ¸ö»òÊý¸ö¿éÀ´´æ´¢
1.ÿ¸ö¿éÊǶÀÁ¢µÄ´æ´¢µ¥Î»
2.ÒÔ¿éΪµ¥Î»ÔÚ¼¯Èº·þÎñÆ÷ÉÏ·ÖÅä´æ´¢
Èç¹ûʵ¼ÊÊý¾ÝûÓдﵽ¿é´óС£¬Ôò²¢²»Êµ¼ÊÕ¼ÓôÅÅ̿ռ䣬 ÀýÈçÈç¹ûÒ»¸öÎļþÊÇ500M£¬ÔòËü»á±»·ÖΪ8¸ö¿é£º64*7+52
ʹÓÃ¿é´æ´¢µÄºÃ´¦£º
1.Ò»¸öÎļþµÄ´óС¿ÉÒÔ´óÓÚÍøÂçÖÐÈÎÒâÒ»¸ö´ÅÅ̵ÄÈÝÁ¿
2.¼ò»¯ÁË´æ´¢×ÓϵͳµÄÉè¼Æ£¬¼ò»¯ÁË´æ´¢¹ÜÀí£¬Ïû³ýÁ˶ÔÔªÊý¾ÝµÄ¹ËÂÇ
3.¿éÊʺÏÓÃÓÚÊý¾Ý±¸·Ý£¬ÌṩÁËÈÝ´íÄÜÁ¦ºÍ¿ÉÓÃÐÔ
HDFSÌåϵ¼Ü¹¹

Ö÷Òª°üÀ¨ÒÔϲ¿·Ö£º
NameNode
¹ÜÀíÎļþϵͳµÄÃüÃû¿Õ¼ä
¼Ç¼ÿ¸öÎļþÊý¾Ý¿éÔÚ¸÷¸öDatanodeÉϵÄλÖú͸±±¾ÐÅÏ¢
е÷¿Í»§¶Ë¶ÔÎļþµÄ·ÃÎÊ
¼Ç¼ÃüÃû¿Õ¼äÄڵĸ͝»ò¿Õ¼ä±¾ÉíÊôÐԵĸ͝
NamenodeʹÓÃÊÂÎñÈÕÖ¾¼Ç¼HDFSÔªÊý¾ÝµÄ±ä»¯¡£Ê¹ÓÃÓ³ÏñÎļþ´æ´¢ÎļþϵͳµÄÃüÃû¿Õ¼ä£¬°üÀ¨ÎļþÓ³É䣬ÎļþÊôÐÔµÈ
ͨ¹ý¼ì²éµã(Checkpoint)¸üÐÂÓ°ÏñÎļþ£¬Secondary Namanode¸¨ÖúÍê³É´¦Àí
DataNode
1.¸ºÔðËùÔÚÎïÀí½ÚµãµÄ´æ´¢¹ÜÀí
2.Ò»´ÎдÈ룬¶à´Î¶ÁÈ¡£¨²»Ð޸ģ©
3.ÎļþÓÉÊý¾Ý¿é×é³É£¬µäÐ͵Ŀé´óСÊÇ64MB
4.Êý¾Ý¿é¾¡Á¿É¢²¼µÀ¸÷¸ö½Úµã
ÊÂÎñÈÕÖ¾
Ó³ÏñÎļþ
SecondaryNameNode
HDFS¶ÁдÎļþµÄÁ÷³Ì
¿Í»§¶ËÒª·ÃÎÊHDFSÖеÄÒ»¸öÎļþ£¬Ê×ÏÈ´Ónamenode»ñµÃ×é³ÉÕâ¸öÎļþµÄÊý¾Ý¿éλÖÃÁÐ±í£¬¸ù¾ÝÁбíÖªµÀ´æ´¢Êý¾Ý¿éµÄdatanode£¬·ÃÎÊdatanode»ñÈ¡Êý¾Ý£¬Namenode²¢²»²ÎÓëÊý¾Ýʵ¼Ê´«Êä¡£

дÈëÊý¾ÝÁ÷³Ì£º ¿Í»§¶ËÊ×ÏÈÔÚNameNodeÖд´½¨Îļþ£¬ È»ºó½«ÎļþÄÚÈÝдµ½DataNodeÖУ¬ Íê³Éºó·µ»Ø¿Í»§¶Ë£¬
¿Í»§¶Ë¹Ø±ÕNameNodeÖд´½¨µÄÎļþ¡£

HDFSµÄ¿É¿¿ÐÔ
ÈßÓั±¾²ßÂÔ
¿ÉÒÔÔÚhdfs-site.xmlÖÐÉèÖø´ÖÆÒò×ÓÖ¸¶¨¸±±¾ÊýÁ¿
ËùÓÐÊý¾Ý¿é¶¼Óи±±¾
DatanodeÆô¶¯Ê±£¬±éÀú±¾µØÎļþϵͳ£¬²úÉúÒ»·ÝhdfsÊý¾Ý¿éºÍ±¾µØÎļþµÄ¶ÔÓ¦¹ØÏµÁÐ±í£¨blockreport£©»ã±¨¸ønamenode
»ú¼Ü²ßÂÔ
¼¯ÈºÒ»°ã·ÅÔÚ²»Í¬»ú¼ÜÉÏ£¬»ú¼Ü¼ä´ø¿íÒª±È»ú¼ÜÄÚ´ø¿íҪС
HDFSµÄ¡°»ú¼Ü¸ÐÖª(Rack-aware)¡±
ĬÈÏÔÚÒ»¸ö»ú¼ÜÄÚ´æ·ÅÁ½¸ö¸±±¾£¬ ÔÚÁíÍâÒ»¸ö»ú¼ÜÄÚÔÙ´æ·ÅÒ»¸ö¸±±¾£¬ ÕâÑù¿ÉÒÔ·ÀÖ¹»ú¼ÜʧЧʱ¶ªÊ§Êý¾Ý£¬Ò²¿ÉÒÔÌá¸ß´ø¿íÀûÓÃÂÊ
ÐÄÌø»úÖÆ
NamenodeÖÜÆÚÐÔ´Ódatanode½ÓÊÕÐÄÌøÐźźͿ鱨¸æ
Namenode¸ù¾Ý¿é±¨¸æÑéÖ¤ÔªÊý¾Ý
ûÓа´Ê±·¢ËÍÐÄÌøµÄdatanode»á±»±ê¼ÇΪ崻ú£¬²»»áÔÙ¸øËüÈκÎI/OÇëÇó
Èç¹ûdatanodeʧЧÔì³É¸±±¾ÊýÁ¿Ï½µ£¬²¢ÇÒµÍÓÚÔ¤ÏÈÉèÖõÄãÐÖµ£¬namenode»á¼ì²â³öÕâЩÊý¾Ý¿é£¬²¢ÔÚºÏÊʵÄʱ»ú½øÐÐÖØÐ¸´ÖÆ
Òý·¢ÖØÐ¸´ÖƵÄÔÒò»¹°üÀ¨Êý¾Ý¸±±¾±¾ÉíË𻵡¢´ÅÅÌ´íÎ󣬸´ÖÆÒò×Ó±»Ôö´óµÈ
°²È«Ä£Ê½
NamenodeÆô¶¯Ê±»áÏȾ¹ýÒ»¸ö¡°°²È«Ä£Ê½¡±½×¶Î
°²È«Ä£Ê½½×¶Î²»»á²úÉúÊý¾Ýд
Ôڴ˽׶ÎNamenodeÊÕ¼¯¸÷¸ödatanodeµÄ±¨¸æ£¬µ±Êý¾Ý¿é´ïµ½×îС¸±±¾ÊýÒÔÉÏʱ£¬»á±»ÈÏΪÊÇ¡°°²È«¡±µÄ
ÔÚÒ»¶¨±ÈÀý£¨¿ÉÉèÖ㩵ÄÊý¾Ý¿é±»È·¶¨Îª¡°°²È«¡±ºó£¬ÔÙ¹ýÈô¸Éʱ¼ä£¬°²È«Ä£Ê½½áÊø
µ±¼ì²âµ½¸±±¾Êý²»×ãµÄÊý¾Ý¿éʱ£¬¸Ã¿é»á±»¸´ÖÆÖ±µ½´ïµ½×îС¸±±¾Êý
УÑéºÍ
HDFS¿Í»§¶ËÈí¼þʵÏÖÁ˶ÔHDFSÎļþÄÚÈݵÄУÑéºÍ(Checksum)¼ì²é
ÔÚÎļþ´´Á¢Ê±£¬»á¼ÆËãÿ¸öÊý¾Ý¿éµÄУÑéºÍ
УÑéºÍ»á×÷Ϊµ¥¶ÀÒ»¸öÒþ²ØÎļþ±£´æÔÚÃüÃû¿Õ¼äÏÂ
¿Í»§¶Ë»ñÈ¡Îļþʱ¿ÉÒÔ¼ì²éÊý¾Ý¿é¶ÔÓ¦µÄУÑéºÍÊÇ·ñºÍÒþ²ØÎļþÖеÄÏàͬ£¬´Ó¶ø·¢ÏÖÊý¾Ý¿éÊÇ·ñËð»µ
Èç¹ûÕýÔÚ¶ÁÈ¡µÄÊý¾Ý¿éË𻵣¬Ôò¿ÉÒÔ¼ÌÐø¶ÁÈ¡ÆäËü¸±±¾
»ØÊÕÕ¾
ɾ³ýÎļþʱ£¬ÆäʵÊÇ·ÅÈë»ØÊÕÕ¾/trash
»ØÊÕÕ¾ÀïµÄÎļþ¿ÉÒÔ¿ìËÙ»Ö¸´
¿ÉÒÔÉèÖÃÒ»¸öʱ¼äãÐÖµ£¬µ±»ØÊÕÕ¾ÀïÎļþµÄ´æ·Åʱ¼ä³¬¹ýÕâ¸öãÐÖµ£¬¾Í±»³¹µ×ɾ³ý£¬²¢ÇÒÊÍ·ÅÕ¼ÓõÄÊý¾Ý¿é
ĬÈÏ»ØÊÕÕ¾Êǹرյģ¬¿ÉÒÔͨ¹ýÔÚcore-site.xmlÖÐÌí¼Ófs.trash.intervalÀ´´ò¿ª²¢ÅäÖÃʱ¼ä·§Öµ£¬Ê±¼äµ¥Î»ÊÇ·Ö
ÔªÊý¾Ý±£»¤
Ó³ÏñÎļþºÍÊÂÎñÈÕÖ¾ÊÇNamenodeµÄºËÐÄÊý¾Ý¡£¿ÉÒÔÅäÖÃΪӵÓжà¸ö¸±±¾
¸±±¾»á½µµÍNamenodeµÄ´¦ÀíËÙ¶È£¬µ«Ôö¼Ó°²È«ÐÔ
NamenodeÒÀÈ»Êǵ¥µã£¬Èç¹û·¢Éú¹ÊÕÏÒªÊÖ¹¤Çл» |