Hadoopã®åºæ¬
Hadoopã®åäœãç解ããã«ã¯ã2ã€ã®äž»èŠã³ã³ããŒãã³ãã§ããHDFSïŒHadoop File SystemïŒãšMapReduceã®æ©èœãç解ããå¿ èŠããããŸãããããã«ã€ããŠã¯ããã®èšäºã§è©³ãã説æããŸãã ä»ã®å¯èœãªã·ã¹ãã ã³ã³ããŒãã³ããå³1ã«ç€ºããŸãã
å³1. Hadoopãšã³ã·ã¹ãã
HDFSã¯ãããŒã¿ã¹ãã¬ãŒãžãæäŸããã¯ã©ã¹ã¿ãŒå šäœã«åæ£ãããã°ããŒãã«ãã¡ã€ã«ã·ã¹ãã ã§ãã ãã¡ã€ã«ã¯ãéåžž64ã128ããŸãã¯512 MBã®å€§ããªãããã¯ã«åå²ããããã®åŸã¯ã©ã¹ã¿ãŒã®ç°ãªãããŒãã«æžã蟌ãŸããŸãã ãããã£ãŠãHDFSã¯ä»»æã®ãµã€ãºã®ãã¡ã€ã«ããã¹ãã§ãã1å°ã®ãµãŒããŒã®ã¹ãã¬ãŒãžå®¹éãè¶ ããŸãã èšé²ãããåãããã¯ã¯ãå°ãªããšã2åä»ã®ããŒãã«è€è£œãããŸãã äžæ¹ã§ã¯ãè€è£œã¯èé害æ§ãæäŸââããŸãã äžæ¹ããããã¯ãŒã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ã«è² è·ããããã«ããŒã«ã«ããŒã¿ãåŠçããå¯èœæ§ã æšæºã®è€è£œçã®ã¯ã©ã¹ã¿ãŒãã£ã¹ã¯é åã¯ãä¿åããæ å ±ã®3åã®å€§ããã§ããå¿ èŠããããŸãã ãŸããåŠçäžã«çºçããäžéããŒã¿ãä¿åããã«ã¯ãHDFSã®å€éšã«25ã30ïŒ è¿œå ããå¿ èŠããããŸãã ã€ãŸãã1 TBã®ãæçšãªæ å ±ãã«ã¯4 TBã®ãçã®ã¹ããŒã¹ããå¿ èŠã§ãã
MapReduceã¯ãHadoopã¯ã©ã¹ã¿ãŒã®ããŒãéã§ããŒã¿åŠçã¿ã¹ã¯ãåæ£ããããã®ã·ã¹ãã ã§ãã å¥åŠãªããšã«ããã®ããã»ã¹ã¯MapãšReduceã® 2ã€ã®ã¹ããŒãžã§æ§æãããŠããŸãã ãããã¯å€ãã®ããŒãã§åæã«å®è¡ãããReduceã§åŠçãããäžéæ å ±ãæäŸããŠæçµçµæãæäŸããŸãã
äœãèµ·ããŠããããããããç解ããã®ã«åœ¹ç«ã€ç°¡åãªäŸã瀺ããŸãã æ°èã®åèªã®ç¹°ãè¿ãåæ°ãèšç®ããå¿ èŠããããšæ³åããŠãã ããã ååèªãæžãçããŠãããã¹ãã«åã³è¡šç€ºããããšãã«ãã§ãã¯ããŒã¯ãä»ããŸãã ç¹ã«è¿·åã«ãªããæåããããçŽããªããã°ãªããªãå Žåããã®ããã»ã¹ã«ã¯å€ãã®æéãããããŸãã æ°èãå°ããªéšåã«åå²ããã«ãŠã³ããå®è¡ãããªã¯ãšã¹ããéä¿¡ããŠå人ãç¥äººã«é åžããæ¹ãã¯ããã«ç°¡åã§ãã ãããã£ãŠãã¿ã¹ã¯ã¯åæ£ããããããããäžéçµæãæäŸããŸãã ããŒã¿ã¯æ¢ã«äºåã«ãœãŒããããŠãããããã¿ã¹ã¯ã¯éåžžã«ç°¡åã«ãªããŸã-åä¿¡ããæ å ±ãèŠçŽããŸãã Hadoopã®çšèªã§ã¯ãåéããããã¹ããŒãžãå®äºããReduceãå®äºããŸãã ãšããã§ãäžéããŒã¿ã¯ã·ã£ããã«ãšåŒã°ããæ°èã®æçã¯ãã£ã³ã¯ãšåŒã°ããŸãã
æé©ãªãªãã·ã§ã³ã¯ããããããã»ã¹ãããŒã«ã«ãã£ã¹ã¯äžã®æ å ±ãåŠçããå Žåã§ãã ããŒãã®äœ¿çšçãé«ãããã«ãããäžå¯èœãªå Žåãã¿ã¹ã¯ã¯å¥ã®ããŒãã«è»¢éãããæåã«ããŒã¿ãã³ããŒãããããããããã¯ãŒã¯ã®è² è·ãå¢å ããŸãã æ å ±ã®ã³ããŒã1ã€ã ããHDFSã«ä¿åãããŠããå Žåããªã¢ãŒãåŠçã®ã±ãŒã¹ãé »ç¹ã«çºçããŸãã ããã©ã«ãã§ã¯ãHDFSã¯ç°ãªãããŒãäžã«ããŒã¿ã®3ã€ã®ã³ããŒãäœæããŸããããã¯ããã©ãŒã«ããã¬ã©ã³ã¹ãšããŒã«ã«ã³ã³ãã¥ãŒãã£ã³ã°ã®è¯ãèŠå ã§ãã
ããŒãã«ã¯SlaveNodesãšMasterNodesã® 2ã€ã®ã¿ã€ãããããŸãã SlaveNodeããŒãã¯ãæ å ±ãçŽæ¥èšé²ããã³åŠçãã DataNodeããã³TaskTrackerããŒã¢ã³ãéå§ããŸã ã MasterNodeã¯ãããŒãžã£ãŒãšããŠæ©èœãããã¡ã€ã«ã·ã¹ãã ã¡ã¿ããŒã¿ãä¿åããHDFSïŒ NameNode ïŒã«ãããã¯å²ãåœãŠãæäŸãã Job TrackerããŒã¢ã³ã䜿çšããŠMapReduceã調æŽããŸãã åããŒã¢ã³ã¯ãç¬èªã®Javaä»®æ³ãã·ã³ïŒJVMïŒã§å®è¡ãããŸãã
2ã€ã®ãããã¯ã«åå²ãããHDFSãã¡ã€ã«ãžã®æžã蟌ã¿ããã»ã¹ãæ€èšããŸãïŒå³2ïŒã ã¯ã©ã€ã¢ã³ãã¯ããããã®ãããã¯ãé 眮ããDataNodeïŒDNïŒã®NameNodeïŒNNïŒãåŒã³åºããŸãã NameNodeã¯ãDN1ã«Block1ãé 眮ããããæ瀺ããŸãã ããã«ãNameNodeã¯ãBlock1ãDN2ã«è€è£œããDN2ãDN6ã«è€è£œããããã«DN1ã«æ瀺ããŸãã åæ§ã«ãBlock2ã¯ããŒãDN2ãDN5ãããã³DN6ã«é 眮ãããŸãã åDNã¯ãå©çšå¯èœãªãããã¯ã«é¢ããNNã¬ããŒããæ°ç§ã®é »åºŠã§éä¿¡ããŸãã ã¬ããŒããå°çããªãå ŽåãDNã¯å€±ããããšèŠãªãããŸããã€ãŸããã¬ããªã«ããšã®ç¹å®ã®ãããã¯ãå°ãªããªããŸãã NNã¯ä»ã®DNã§å埩ãéå§ããŸãã ãã°ããããŠæ¬ èœããDNãåã³è¡šç€ºãããå ŽåãNNã¯ããŒã¿ã®äœåãªã³ããŒãåé€ãããDNãéžæããŸãã
å³2. HDFSã§ã®èšé²ããã»ã¹
NameNodeã¯ãåæ£ããŒã¿åŠçã管çããJobTrackerããŒã¢ã³ãšåããããéèŠã§ãã ã¯ã©ã¹ã¿ãŒå šäœã§ããã°ã©ã ãå®è¡ããå Žåã¯ãJobTrackerããŒã¢ã³ã䜿çšããŠMasterNodeã«éä¿¡ãããŸãã JobTrackerã¯ãã©ã®ããŒã¿ãããã¯ãå¿ èŠããå€æããMapã¹ããŒãžãããŒã«ã«ã§å®è¡ã§ããããŒããéžæããŸãã ããã«ãReduceã®ããŒããéžæãããŸãã SlaveNodeåŽã§ã¯ãJobTrackerãšã®å¯Ÿè©±ããã»ã¹ã¯TaskTrackerããŒã¢ã³ã«ãã£ãŠå®è¡ãããŸãã JobTrackerã«ã¿ã¹ã¯ã®ã¹ããŒã¿ã¹ãäŒããŸãã ãšã©ãŒãŸãã¯å®è¡æéãé·ãããããã«ã¿ã¹ã¯ãå®äºããªãå ŽåãJobTrackerã¯ãããå¥ã®ããŒãã«è»¢éããŸãã ããŒãã«ããã¿ã¹ã¯ã®é »ç¹ãªå€±æã¯ããã©ãã¯ãªã¹ãã«ç»é²ããããšããäºå®ã«ã€ãªãããŸãã
å³3. MapReduceããŒã¿åŠç
ãããã£ãŠããããã¯ãŒã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ã®å ŽåãHadoopã¯ã©ã¹ã¿ãŒã¯ããã€ãã®çš®é¡ã®ãã©ãã£ãã¯ãçæããŸãã
-ããŒãããŒã-ãã¹ã¿ãŒããŒããšã¹ã¬ãŒãããŒãéã®ãµãŒãã¹æ å ±ãããŒãã®å¯çšæ§ãã¿ã¹ã¯å®è¡ã¹ããŒã¿ã¹ããããã¯ã®è€è£œãåé€ãªã©ã®ã³ãã³ãã®éä¿¡ã決å®ããŸãããããã¯ãŒã¯äžã®ããŒãããŒãã®è² è·ã¯æå°éã§ããããããã®ãã±ããã¯å€±ãããªãããã¯ã©ã¹ã¿ãŒã®å®å®æ§ã¯ç°ãªããŸãã
-ã·ã£ããã«-Reduceã®3æã®ã¹ããŒãžãå®äºããåŸã«è»¢éãããããŒã¿ã ãã©ãã£ãã¯ã®æ§è³ª-å€ãã1ãŸã§ããããã¯ãŒã¯ã®å¹³åè² è·ãçæããŸãã
-HDFSã§ã®èšé²-倧ããªãããã¯ã§ã®å€§éã®ããŒã¿ã®èšé²ãšè€è£œã ãããã¯ãŒã¯è² è·ãé«ãã
Hadoopã®ã€ã³ãã©ã¹ãã©ã¯ãã£æ§ç¯ã®æ©èœ
Hadoopã§äœ¿çšãããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãã©ã®ããã«é²åãããã芳å¯ããã®ã¯èå³æ·±ãããšã§ãã 2009幎ã®å žåçãªãªãœãŒã¹ãã©ã³ã¹ããŒãã®æ§æã¯ã4ã€ã®ããŒããã©ã€ãããã¥ã¢ã«ã³ã¢ããã»ããµã24ã®ã¬ãã€ãã®RAMãã®ã¬ãããã€ãŒãµããããããã¯ãŒã¯ã«æ¥ç¶ãããã·ã³ã°ã«ãŠããããã¥ã¢ã«ãœã±ãããµãŒããŒã§ããã 5幎ã§äœãå€ãã£ãã®ã§ããïŒ 4äžä»£ã®ããã»ããµãå€æŽãããŸãã-ãã匷åã«ãªããããå€ãã®ã³ã¢ãšã¡ã¢ãªããµããŒãããããŒã¿ã»ã³ã¿ãŒã§ã¯10ã®ã¬ãã€ãã®ãããã¯ãŒã¯ãåºã䜿çšãããŠããŸãã ãããŠãããŒããã©ã€ãã®ã¿ãå€æŽãããŠããŸããã å©çšå¯èœãªããã»ããµãšã¡ã¢ãªãæé©ã«å©çšããããã«ãææ°ã®ã¯ã©ã¹ã¿ãŒã¯ãå€æ°ã®ãã£ã¹ã¯ãé 眮ã§ãããã¥ã¢ã«ãŠããããµãŒããŒã«åºã¥ããŠæ§ç¯ãããŠããŸãã 次ã«ããã¡ã€ã«ãµãã·ã¹ãã ã§å¯èœãªæäœã®æ°ã«ãã£ãŠããããã¯ãŒã¯åž¯åå¹ ã«ãããããŒãã®ããŒãºã決ãŸããŸãã å³4ã¯ããŸããŸãªæ§æã®ãµãŒããŒã®ããŒã¿ã瀺ããŠããŸããããã¯ãããŒããæœåšçã«1 Gb / s以äžãåŠçã§ãããããã·ã¹ãã ãæ§ç¯ããå Žåã¯é«é10 GbEã«çŠç¹ãåœãŠãããšãæãŸããããšãæå³ããŸãã
å³4.ããŒããã©ã€ãã®æ°ã«å¿ããI / Oãµãã·ã¹ãã ã®ããã©ãŒãã³ã¹
ããŒã«ã«ã¹ãã¬ãŒãžå®¹éã®èŠä»¶ã¯ãããŒã«ã«ãã©ã€ããã€ã³ã¹ããŒã«ããæ©èœãéåžžã«å¶éãããŠãããã¬ãŒããµãŒããŒã䜿çšããªããšããäºå®ã決å®ããŸãã SlaveNodeã®å Žåãä»®æ³åã䜿çšããããã£ã¹ã¯ãRAIDã§åéãããªãããšã«ã泚æããŠãã ããã
Ciscoå ±éãã©ãããã©ãŒã ã¢ãŒããã¯ãã£
ã·ã¹ã³ã«ã¯ãHadoopçšã®ããŒããŠã§ã¢ãã©ãããã©ãŒã ãæ§ç¯ããããã®å®å šãªè£œåã»ããããããŸãã ãããã¯ããµãŒããŒããããã¯ãŒã¯ããã€ã¹ãå¶åŸ¡ããã³èªååã·ã¹ãã ã§ãã Cisco UCSããã³Nexusã«åºã¥ããŠã CPAïŒCommon Platform ArchitectureïŒãšåŒã°ãã倧éã®ããŒã¿ãæäœããããã®ã¢ãŒããã¯ãã£ãäœæããã³ãã¹ããããŸããã èšäºã®ãã®ã»ã¯ã·ã§ã³ã§ã¯ããœãªã¥ãŒã·ã§ã³ã§äœ¿çšããããããã¯ãŒã¯èšèšã®æ©èœã«ã€ããŠèª¬æããŸãã
å³5.å ±éãã©ãããã©ãŒã ã¢ãŒããã¯ãã£ã®ã³ã³ããŒãã³ã
ãœãªã¥ãŒã·ã§ã³ã¯ã次ã®äžé£ã®æ©åšã«åºã¥ããŠããŸãã
-Fabric Interconnect 6200ïŒFIïŒ -æ¥ç¶ããããµãŒããŒã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãã¹ãŠã®ã³ã³ããŒãã³ãçšã®çµ±åã°ã©ãã£ã«ã«å¶åŸ¡ã·ã¹ãã ïŒ UCSM ïŒãåããé«éãã³ããããã³ã°ãŠãããŒãµã«ã¹ã€ããã
-Nexus 2232ãã¡ããªãã¯ãšã¯ã¹ãã³ã㌠-ãã¡ããªãã¯ã€ã³ã¿ãŒã³ãã¯ãã©ã€ã³ã«ãŒãã®ç¬ç«ããå®è¡ã ã³ã³ãã¯ããªã±ãŒãã«ã€ã³ãã©ã¹ãã©ã¯ãã£ãç¶æããªããã管çãã€ã³ãã®æ°ãå¢ããããšãªãããµãŒããŒã®æ¥ç¶ã«ToRã¹ããŒã ã䜿çšã§ããŸãã ãµãŒããŒãæ¥ç¶ããããã®32 x 10GbEããŒããšããã¡ããªãã¯ã€ã³ã¿ãŒã³ãã¯ãã«æ¥ç¶ããããã®8 x 10GbEããŒããæäŸããŸãã
-UCS C240-ã©ãã¯ããŠã³ããã¥ã¢ã«ãŠããããµãŒããŒ
-Cisco VIC-ããŒããŠã§ã¢ä»®æ³åããµããŒããã2ã€ã®10GbEããŒããæäŸãããããã¯ãŒã¯ã¢ããã¿ãŒ
å³6ã«ç€ºãããã«ãåãµãŒããŒã¯2ã€ã®ãã¡ããªãã¯ã€ã³ã¿ãŒã³ãã¯ãã¢ãžã¥ãŒã«ã«åæã«æ¥ç¶ããŸãã1ã€ã®ãã¹ã®ã¿ãã¢ã¯ãã£ãã§ã2ã€ç®ã¯ãã©ãŒã«ããã¬ã©ã³ã¹ã«å¿ èŠã§ãã åé¡ãçºçããå ŽåããµãŒããŒã®MACã¢ãã¬ã¹ã¯å€æŽãããªããŸãŸãããã¯ã¢ãããã¹ã«èªåçã«åãæ¿ãããŸãã ãã®æ©èœã¯Fabric FailoverãšåŒã°ããUCSã®äžéšã§ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã®èšå®ãå¿ èŠãšããŸããã
å³6.ãããã¯ãŒã¯ã¢ããã¿ãŒãããã¡ããªãã¯ã€ã³ã¿ãŒã³ãã¯ããžã®æ¥ç¶å³
UCSã䜿çšãããšãFIéã®ãã©ãã£ãã¯ã®åæ£ãæè»ã«å¶åŸ¡ã§ããŸãã 説æããã¢ãŒããã¯ãã£ã§ã¯ã3ã€ã®ä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹ããµãŒããŒã®ãããã¯ãŒã¯ã¢ããã¿ãŒäžã«äœæããããããããåå¥ã®VLANã«é 眮ãããŸããvNIC0-ã·ã¹ãã 管çè ã«ããããŒããžã®ã¢ã¯ã»ã¹ãvNIC1-ã¯ã©ã¹ã¿ãŒå ã®ããŒãéã§äº€æãããæ å ±ãvNIC2-ä»ã®çš®é¡ã®ãã©ãã£ã㯠vNIC1ããã³vNIC2ã§ã¯ãã©ãŒãžãã¬ãŒã ã®ãµããŒããæå¹ã«ãªã£ãŠããŸãã éåžžã¢ãŒãã§ã¯ãåã€ã³ã¿ãŒãã§ã€ã¹ã¯ããããã¯ãŒã¯ã¢ããã¿ãŒã®æ§ææã«ã¡ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ãšããŠéžæãããFIã䜿çšããŸãã ãã®äŸã§ã¯ããã¹ãŠã®vNIC1ãã©ãã£ãã¯ãFI-Aã«åãæ¿ããããvNIC2ãã©ãã£ãã¯ãFI-Bã«åãæ¿ããããŸãïŒå³7ïŒã FIã®1ã€ã«é害ãçºçããå Žåããã¹ãŠã®ãã©ãã£ãã¯ã¯èªåçã«2çªç®ã«åãæ¿ãããŸãã
å³7.ã·ã¹ãã å ã®ããŸããŸãªã¿ã€ãã®ãã©ãã£ãã¯ã®ååž
ãã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãåé·å¶åŸ¡ããã³ã¹ã€ããã³ã°ã·ã¹ãã çšã«2ã€ã®ãã¡ããªãã¯ã€ã³ã¿ãŒã³ãã¯ãã¢ãžã¥ãŒã«ã䜿çšããŠããŸãã åãµãŒããŒãã£ããããã«16å°ã®ãµãŒããŒãš2ã€ã®Fabric Extenderã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããããšããå§ãããŸãã
å³8.ã·ã¹ã³æ©åšã«åºã¥ããCisco Hadoopã¯ã©ã¹ã¿ã®ã¹ã±ãŒãªã³ã°
Nexus 2232ãµãŒããŒãšã©ã€ã³ã«ãŒããè¿œå ããããšã§ãHadoopã¯ã©ã¹ã¿ãŒã®ã¹ã±ãŒãªã³ã°ãè¡ãããŸãCisco UCS Director ExpressãœãããŠã§ã¢ã䜿çšããŠãæ°ããããŒããèªåçã«ã€ã³ã¹ããŒã«ããã³æ§æã§ããŸãããããã¯ãŸã£ããå¥ã®è©±ã§ãã
ã·ã¹ã³è£œåãè³Œå ¥ãããããŠã¯ã©ã€ããšãã·ã¢ã® ã·ã¹ã³ããŒãããŒããäŸ¡æ Œæ å ±ãå ¥æã§ããŸãã
ããžãã¹ã«æé©ãªãœãªã¥ãŒã·ã§ã³ãéžæããŠå®è£ ããã®ã«åœ¹ç«ã¡ãŸãã