Ëü²»½öÌṩÁ˸ßÍÌÍÂÁ¿µÄÊý¾Ý·ÃÎÊÄÜÁ¦£¬»¹Í¨¹ýÆä·Ö²¼Ê½¼Ü¹¹È·±£ÁËÊý¾ÝµÄ¸ß¿ÉÓÃÐÔºÍÈÝ´íÐÔ
¶ÔÓÚ¹ã´óÊý¾Ý¿ÆÑ§¼Ò¡¢ÏµÍ³¹ÜÀíÔ±¼°¿ª·¢ÈËÔ±¶øÑÔ£¬ÕÆÎÕÈçºÎÔÚLinux»·¾³Ï¸ßЧ½øÈë²¢²Ù×÷HDFS£¬ÊǽâËø´óÊý¾Ý´¦ÀíÄÜÁ¦µÄ¹Ø¼üÒ»²½
±¾ÎĽ«ÉîÈë̽ÌÖÈçºÎÔÚLinuxϵͳÖÐÅäÖᢷÃÎʼ°¹ÜÀíHDFS£¬Ö¼ÔÚΪ¶ÁÕßÌṩһ·ÝÏ꾡¶ø¾ßÓÐ˵·þÁ¦µÄ²Ù×÷Ö¸ÄÏ
Ò»¡¢HDFS»ù´¡¸ÅÀÀ HDFSÊÇHadoopÉú̬ϵͳÖеĺËÐÄ×é¼þÖ®Ò»£¬Éè¼Æ³õÖÔÊÇΪÁËÔÚ´óÁ¿Á®¼ÛÓ²¼þÉÏ´æ´¢ºÍ¹ÜÀíPB¼¶±ðµÄÊý¾Ý
Ëü²ÉÓÃÖ÷´Ó¼Ü¹¹£¬°üº¬Ò»¸öNameNode£¨¹ÜÀíÎļþϵͳµÄÃüÃû¿Õ¼ä¼°¿Í»§¶Ë¶ÔÎļþµÄ·ÃÎÊ£©ºÍ¶à¸öDataNode£¨´æ´¢Êµ¼ÊµÄÊý¾Ý¿é£©
HDFSͨ¹ý½«Îļþ·Ö¸î³É¶à¸ö¿é£¨Ä¬ÈÏ128MB»ò256MB£©²¢·ÖÉ¢´æ´¢ÔÚ¼¯ÈºµÄ²»Í¬½ÚµãÉÏ£¬ÊµÏÖÁËÊý¾ÝµÄ²¢Ðд¦ÀíºÍÈÝ´í´æ´¢
¶þ¡¢Linux»·¾³×¼±¸ ÒªÔÚLinuxϵͳÉϲÙ×÷HDFS£¬Ê×ÏÈÐèҪȷ±£HadoopÒѾÕýÈ·°²×°²¢ÅäÖÃ
ÒÔÏÂÊÇ»ù±¾µÄ»·¾³×¼±¸²½Ö裺 1.°²×°Java£ºHDFSÒÀÀµÓÚJavaÔËÐл·¾³£¬Òò´ËÐèÏȰ²×°JDK
¿ÉÒÔͨ¹ý°ü¹ÜÀíÆ÷£¨Èç`apt-get`¡¢`yum`£©»òÖ±½Ó´ÓOracle¹ÙÍøÏÂÔØ°²×°
2.ÏÂÔØHadoop£º´ÓApache Hadoop¹Ù·½ÍøÕ¾ÏÂÔØÊʺÏÄãϵͳµÄHadoop°æ±¾£¬½âѹÖÁÖ¸¶¨Ä¿Â¼
3.ÅäÖû·¾³±äÁ¿£º½«HadoopµÄbinĿ¼Ìí¼Óµ½ÏµÍ³µÄ`PATH`»·¾³±äÁ¿ÖУ¬·½±ãÈ«¾Öµ÷ÓÃHadoopÃüÁî
4.±à¼ÅäÖÃÎļþ£ºÖ÷Òª°üÀ¨`hadoop-env.sh`£¨ÉèÖÃJava·¾¶£©¡¢`core-site.xml`£¨ÅäÖÃHDFSµØÖ·ºÍ¶Ë¿Ú£©¡¢`hdfs-site.xml`£¨¶¨ÒåÊý¾Ý¿é´óС¡¢¸´ÖÆÒò×ӵȣ©¡¢ÒÔ¼°`mapred-site.xml`£¨Èç¹ûÐèÒªMapReduce¹¦ÄÜ£©
5.¸ñʽ»¯NameNode£ºÊ×´ÎʹÓÃHDFSǰ£¬ÐèÖ´ÐÐ`hdfs namenode -format`ÃüÁîÀ´³õʼ»¯NameNode
Èý¡¢Æô¶¯HDFS·þÎñ ÅäÖÃÍê³Éºó£¬Í¨¹ýÒÔÏÂÃüÁîÆô¶¯HDFS·þÎñ£º - Æô¶¯NameNodeºÍDataNode£º`start-dfs.sh` - ¼ì²é·þÎñ״̬£º¿ÉÒÔʹÓÃ`jps`ÃüÁî²é¿´Java½ø³Ì£¬»ò·ÃÎÊNameNodeµÄWeb½çÃæ£¨Ä¬È϶˿Ú50070£©²é¿´¼¯Èº×´Ì¬
ËÄ¡¢Í¨¹ýÃüÁîÐзÃÎÊHDFS HadoopÌṩÁËÒ»Ì׷ḻµÄÃüÁîÐй¤¾ß£¬Ê¹µÃÓû§¿ÉÒÔÔÚLinuxÖÕ¶ËÖ±½Ó²Ù×÷HDFS
ÒÔÏÂÊÇһЩ³£ÓÃÃüÁ - ²é¿´HDFS¸ùĿ¼ÄÚÈÝ£º`hdfs dfs -ls/` - ´´½¨Ä¿Â¼£º`hdfs dfs -mkdir /path/to/directory` - ÉÏ´«Îļþ£º`hdfs dfs -put localfile /hdfs/destination` - ÏÂÔØÎļþ£º`hdfs dfs -get /hdfs/sourcefile localdestination` - ɾ³ýÎļþ»òĿ¼£º`hdfs dfs -rm /hdfs/file_or_directory` - ²é¿´ÎļþÄÚÈÝ£º`hdfs dfs -cat /hdfs/file` Î塢ʹÓÃHDFS Shell½Å±¾×Ô¶¯»¯²Ù×÷ ¶ÔÓÚÐèҪƵ·±Ö´ÐеIJÙ×÷£¬±àдShell½Å±¾¿ÉÒÔ´ó´óÌá¸ßЧÂÊ
ÀýÈ磬ÒÔÏÂÊÇÒ»¸ö¼òµ¥µÄShell½Å±¾Ê¾Àý£¬ÓÃÓÚ×Ô¶¯ÉÏ´«Ä¿Â¼ÏµÄËùÓÐÎļþµ½HDFSÖ¸¶¨Î»Ö㺠!/bin/bash ¶¨Òå±¾µØÄ¿Â¼ºÍHDFSÄ¿±êĿ¼ LOCAL_DIR=/path/to/local/dir HDFS_DIR=/hdfs/target/dir ´´½¨HDFSÄ¿±êĿ¼£¨Èç¹û²»´æÔÚ£© hdfs dfs -mkdir -p $HDFS_DIR ±éÀú±¾µØÄ¿Â¼²¢ÉÏ´«Îļþ for FILE in $LOCAL_DIR/; do if¡¾ -f $FILE¡¿; then hdfs dfs -put $FILE $HDFS_DIR echo Uploaded $FILE to $HDFS_DIR fi done ½«´Ë½Å±¾±£´æÎª`.sh`Îļþ£¬²¢¸øÓèÖ´ÐÐȨÏÞ£¨`chmod +x scriptname.sh`£©£¬¼´¿Éͨ¹ýÖ´Ðнű¾×Ô¶¯»¯Íê³ÉÎļþÉÏ´«ÈÎÎñ
Áù¡¢Í¨¹ý±à³Ì½Ó¿Ú·ÃÎÊHDFS ³ýÁËÃüÁîÐй¤¾ß£¬Hadoop»¹ÌṩÁ˷ḻµÄAPI¹©¿ª·¢ÕßʹÓ㬰üÀ¨Java API¡¢Hadoop Streaming¡¢ÒÔ¼°REST APIµÈ£¬Ê¹µÃÓû§¿ÉÒÔÔÚ×Ô¼ºµÄÓ¦ÓóÌÐòÖÐÖ±½Ó²Ù×÷HDFS
- Java API£ºÊÇ×îÖ±½ÓÇÒ¹¦ÄÜ×îÈ«ÃæµÄ·½Ê½£¬ÊÊÓÃÓÚ¹¹½¨¸´ÔÓµÄHadoopÓ¦ÓóÌÐò
- Hadoop Streaming£ºÔÊÐíÓû§Í¨¹ý±ê×¼ÊäÈëÊä³öÁ÷ÓëHadoop×÷Òµ½»»¥£¬Ö§³Ö¶àÖÖ±à³ÌÓïÑÔ£¨ÈçPython¡¢Ruby£©
- REST API£ºHadoopÌṩÁËWebHDFSºÍHDFS HTTPFSÁ½ÖÖREST API£¬ÔÊÐíÓû§Í¨¹ýHTTPÇëÇó²Ù×÷HDFS£¬ÊʺÏÇáÁ¿¼¶·þÎñºÍ¿çƽ̨¼¯³É
Æß¡¢°²È«ÓëȨÏÞ¹ÜÀí ÔÚHDFSÖУ¬°²È«ÓëȨÏÞ¹ÜÀíÖÁ¹ØÖØÒª
HadoopÌṩÁËKerberosÈÏÖ¤¡¢ACL£¨·ÃÎÊ¿ØÖÆÁÐ±í£©µÈ»úÖÆÀ´±£ÕÏÊý¾ÝµÄ°²È«
- Kerberos£ºÍ¨¹ýÅäÖÃKerberos£¬¿ÉÒÔʵÏÖHDFSµÄÇ¿Éí·ÝÈÏÖ¤£¬·Àֹδ¾ÊÚȨµÄ·ÃÎÊ
- ACL£ºÎªHDFSÎļþºÍĿ¼ÉèÖþ«Ï¸µÄ·ÃÎÊȨÏÞ£¬°üÀ¨¶Á¡¢Ð´¡¢Ö´ÐеÈȨÏÞ¼¶±ð
ÅäÖÃKerberosºÍACLÐèÒªÒ»¶¨µÄ°²È«ÖªÊ¶£¬½¨Òé²Î¿¼Hadoop¹Ù·½Îĵµ½øÐÐÏêϸÅäÖÃ
°Ë¡¢¼à¿ØÓëµ÷ÓŠΪÁË