Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
HDFS֪ʶµã×ܽá
 
  1935  次浏览      27
 2019-9-24 
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚcnblogs,ÎÄÕÂÖ÷Òª½éÉÜÁËʲôÊÇHDFS£¬ÃüÁîÐнӿڣ¬Java½Ó¿Ú£¬Êý¾ÝÁ÷£¬Í¨¹ýFlumeºÍSqoopµ¼ÈëÊý¾Ý£¬Í¨¹ýdistcp²¢Ðи´ÖƵÈÏà¹Ø¡£

ѧϰÍêHadoopȨÍþÖ¸ÄÏÓÐÒ»¶Îʱ¼äÁË£¬ÏÖÔÚÔٻع˺Í×ܽáÒ»ÏÂHDFSµÄ֪ʶµã¡£

1¡¢HDFSµÄÉè¼Æ

HDFSÊÇʲô£ºHDFS¼´Hadoop·Ö²¼Ê½Îļþϵͳ£¨Hadoop Distributed Filesystem£©£¬ÒÔÁ÷ʽÊý¾Ý·ÃÎÊģʽÀ´´æ´¢³¬´óÎļþ£¬ÔËÐÐÓÚÉÌÓÃÓ²¼þ¼¯ÈºÉÏ£¬ÊǹÜÀíÍøÂçÖпç¶ą̀¼ÆËã»ú´æ´¢µÄÎļþϵͳ¡£

HDFS²»ÊʺÏÓÃÔÚ£ºÒªÇóµÍʱ¼äÑÓ³ÙÊý¾Ý·ÃÎʵÄÓ¦Ó㬴洢´óÁ¿µÄСÎļþ£¬¶àÓû§Ð´È룬ÈÎÒâÐÞ¸ÄÎļþ¡£

2¡¢HDFSµÄ¸ÅÄî

HDFSÊý¾Ý¿é£ºHDFSÉϵÄÎļþ±»»®·ÖΪ¿é´óСµÄ¶à¸ö·Ö¿é£¬×÷Ϊ¶ÀÁ¢µÄ´æ´¢µ¥Ôª£¬³ÆÎªÊý¾Ý¿é£¬Ä¬ÈÏ´óСÊÇ64MB¡£

ʹÓÃÊý¾Ý¿éµÄºÃ´¦ÊÇ£º

Ò»¸öÎļþµÄ´óС¿ÉÒÔ´óÓÚÍøÂçÖÐÈÎÒâÒ»¸ö´ÅÅ̵ÄÈÝÁ¿¡£ÎļþµÄËùÓп鲻ÐèÒª´æ´¢ÔÚͬһ¸ö´ÅÅÌÉÏ£¬Òò´ËËüÃÇ¿ÉÒÔÀûÓü¯ÈºÉϵÄÈÎÒâÒ»¸ö´ÅÅ̽øÐд洢¡£

¼ò»¯ÁË´æ´¢×ÓϵͳµÄÉè¼Æ£¬½«´æ´¢×Óϵͳ¿ØÖƵ¥ÔªÉèÖÃΪ¿é£¬¿É¼ò»¯´æ´¢¹ÜÀí£¬Í¬Ê±ÔªÊý¾Ý¾Í²»ÐèÒªºÍ¿éһͬ´æ´¢£¬ÓÃÒ»¸öµ¥¶ÀµÄϵͳ¾Í¿ÉÒÔ¹ÜÀíÕâЩ¿éµÄÔªÊý¾Ý¡£

Êý¾Ý¿éÊʺÏÓÃÓÚÊý¾Ý±¸·Ý½ø¶øÌṩÊý¾ÝÈÝ´íÄÜÁ¦ºÍÌá¸ß¿ÉÓÃÐÔ¡£

²é¿´¿éÐÅÏ¢

HDFSµÄÈý¸ö½Úµã£ºNamenode£¬Datanode£¬Secondary Namenode

Namenode£ºHDFSµÄÊØ»¤½ø³Ì£¬ÓÃÀ´¹ÜÀíÎļþϵͳµÄÃüÃû¿Õ¼ä£¬¸ºÔð¼Ç¼ÎļþÊÇÈçºÎ·Ö¸î³ÉÊý¾Ý¿é£¬ÒÔ¼°ÕâЩÊý¾Ý¿é·Ö±ð±»´æ´¢µ½ÄÇЩÊý¾Ý½ÚµãÉÏ£¬ËüµÄÖ÷Òª¹¦ÄÜÊǶÔÄÚ´æ¼°IO½øÐм¯ÖйÜÀí¡£

Datanode£ºÎļþϵͳµÄ¹¤×÷½Úµã£¬¸ù¾ÝÐèÒª´æ´¢ºÍ¼ìË÷Êý¾Ý¿é£¬²¢ÇÒ¶¨ÆÚÏònamenode·¢ËÍËûÃÇËù´æ´¢µÄ¿éµÄÁÐ±í¡£

Secondary Namenode£º¸¨Öúºǫ́³ÌÐò£¬ÓëNameNode½øÐÐͨÐÅ£¬ÒԱ㶨ÆÚ±£´æHDFSÔªÊý¾ÝµÄ¿ìÕÕ¡£

HDFS Federation£¨Áª°îHDFS£©£º

ͨ¹ýÌí¼ÓnamenodeʵÏÖÀ©Õ¹£¬ÆäÖÐÿ¸önamenode¹ÜÀíÎļþϵͳÃüÃû¿Õ¼äÖеÄÒ»²¿·Ö¡£Ã¿¸önamenodeά»¤Ò»¸öÃüÃû¿Õ¼ä¾í£¬°üÀ¨ÃüÃû¿Õ¼äµÄÔ´Êý¾ÝºÍ¸ÃÃüÃû¿Õ¼äϵÄÎļþµÄËùÓÐÊý¾Ý¿éµÄÊý¾Ý¿é³Ø¡£

HDFSµÄ¸ß¿ÉÓÃÐÔ£¨High-Availability£©

HadoopµÄ2.x·¢Ðа汾ÔÚHDFSÖÐÔö¼ÓÁ˶Ը߿ÉÓÃÐÔ£¨HA£©µÄÖ§³Ö¡£ÔÚÕâһʵÏÖÖУ¬ÅäÖÃÁËÒ»¶Ô»î¶¯-±¸Óã¨active-standby£©namenode¡£µ±»î¶¯namenodeʧЧ£¬±¸ÓÃnamenode¾Í»á½Ó¹ÜËüµÄÈÎÎñ²¢¿ªÊ¼·þÎñÓÚÀ´×Ô¿Í»§¶ËµÄÇëÇ󣬲»»áÓÐÃ÷ÏÔµÄÖжϡ£

¼Ü¹¹µÄʵÏÖ°üÀ¨£º

namenodeÖ®¼äͨ¹ý¸ß¿ÉÓõĹ²Ïí´æ´¢ÊµÏֱ༭ÈÕÖ¾µÄ¹²Ïí¡£

datanodeͬʱÏòÁ½¸önamenode·¢ËÍÊý¾Ý¿é´¦Àí±¨¸æ¡£

¿Í»§¶ËʹÓÃÌØ¶¨µÄ»úÖÆÀ´´¦ÀínamenodeµÄʧЧÎÊÌ⣬ÕâÒ»»úÖÆ¶ÔÓû§ÊÇ͸Ã÷µÄ¡£

¹ÊÕÏ×ªÒÆ¿ØÖÆÆ÷£º¹ÜÀí׎«»î¶¯namenode×ªÒÆ¸ø±¸ÓÃnamenodeµÄת»»¹ý³Ì£¬»ùÓÚZooKeeper²¢ÓÉ´ËÈ·±£ÓÐÇÒ½öÓÐÒ»¸ö»î¶¯namenode¡£Ã¿Ò»¸önamenodeÔËÐÐ×ÅÒ»¸öÇáÁ¿¼¶µÄ¹ÊÕÏ×ªÒÆ¿ØÖÆÆ÷£¬Æä¹¤×÷¾ÍÊǼàÊÓËÞÖ÷namenodeÊÇ·ñʧЧ²¢ÔÚnamenodeʧЧʱ½øÐйÊÕÏÇл»¡£

3¡¢ÃüÁîÐнӿÚ

Á½¸öÊôÐÔÏ fs.default.name ÓÃÀ´ÉèÖÃHadoopµÄĬÈÏÎļþϵͳ£¬ÉèÖÃhdfs URLÔòÊÇÅäÖÃHDFSΪHadoopµÄĬÈÏÎļþϵͳ¡£dfs.replication ÉèÖÃÎļþϵͳ¿éµÄ¸±±¾¸öÊý

ÎļþϵͳµÄ»ù±¾²Ù×÷£ºhadoop fs -help¿ÉÒÔ»ñÈ¡ËùÓеÄÃüÁî¼°Æä½âÊÍ

³£ÓõÄÓУº

hadoop fs -ls / ÁгöhdfsÎļþϵͳ¸ùĿ¼ÏµÄĿ¼ºÍÎļþ

hadoop fs -copyFromLocal <local path> <hdfs path> ´Ó±¾µØÎļþϵͳ½«Ò»¸öÎļþ¸´ÖƵ½HDFS

hadoop fs -rm -r <hdfs dir or file> ɾ³ýÎļþ»òÎļþ¼Ð¼°Îļþ¼ÐϵÄÎļþ

hadoop fs -mkdir <hdfs dir>ÔÚhdfsÖÐн¨Îļþ¼Ð

HDFSµÄÎļþ·ÃÎÊȨÏÞ£ºÖ»¶ÁȨÏÞ£¨r£©£¬Ð´ÈëȨÏÞ£¨w£©£¬¿ÉÖ´ÐÐȨÏÞ£¨x£©

4¡¢HadoopÎļþϵͳ

HadoopÓÐÒ»¸ö³éÏóµÄÎļþϵͳ¸ÅÄHDFSÖ»ÊÇÆäÖеÄÒ»¸öʵÏÖ¡£Java³éÏó½Ó¿Úorg.apache.hadoop.fs.FileSystem¶¨ÒåÁËHadoopÖеÄÒ»¸öÎļþϵͳ½Ó¿Ú¡£¸Ã³éÏóÀàʵÏÖHDFSµÄ¾ßÌåʵÏÖÊÇ hdfs.DistributedFileSystem

5¡¢Java½Ó¿Ú

×î¼òµ¥µÄ´ÓHadoop URL¶ÁÈ¡Êý¾Ý £¨ÕâÀïÔÚEclipseÉÏÁ¬½ÓHDFS±àÒëÔËÐУ©

package filesystem;

import java.io.IOException;

import java.io.InputStream;

import java.net.MalformedURLException;

import java.net.URL;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;

import org.apache.hadoop.io.IOUtils;

public class URLCat {

static {

URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());

}

public static void main(String[] args) throws MalformedURLException, IOException {

InputStream in = null;

String input = "hdfs://192.168.92.138:9000/user/test.txt";

try {

in = new URL(input).openStream();

IOUtils.copyBytes(in, System.out, 4096,false);

}finally {

IOUtils.closeStream(in);

}

}

}

ÕâÀïµ÷ÓÃHadoopµÄIOUtilsÀ࣬ÔÚÊäÈëÁ÷ºÍÊä³öÁ÷Ö®¼ä¸´ÖÆÊý¾Ý£¨inºÍSystem.out£©×îºóÁ½¸ö²ÎÊýÓÃÓÚµÚÒ»¸öÉèÖø´ÖƵĻº³åÇø´óС£¬µÚ¶þ¸öÉèÖýáÊøºóÊÇ·ñ¹Ø±ÕÊý¾ÝÁ÷¡£

»¹¿ÉÒÔͨ¹ýFileSystem API¶ÁÈ¡Êý¾Ý

´úÂëÈçÏ£º

package filesystem;

import java.io.IOException;

import java.io.InputStream;

import java.net.URI;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IOUtils;

public class FileSystemCat {

public static void main(String[] args) throws IOException {

String uri = "hdfs://192.168.92.136:9000/user/test.txt";

Configuration conf = new Configuration();

FileSystem fs = FileSystem.get(URI.create(uri),conf);

InputStream in = null;

try {

in = fs.open(new Path(uri));

IOUtils.copyBytes(in, System.out, 1024,false);

}finally {

IOUtils.closeStream(in);

}

}

}

 

ÕâÀïµ÷ÓÃopen()º¯ÊýÀ´»ñÈ¡ÎļþµÄÊäÈëÁ÷£¬FileSystemµÄget()·½·¨»ñÈ¡FileSystemʵÀý¡£

ʹÓÃFileSystem APIдÈëÊý¾Ý

´úÂëÈçÏ£º

package filesystem;

import java.io.BufferedInputStream;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.URI;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IOUtils;

import org.apache.hadoop.util.Progressable;

public class FileCopyWithProgress {

public static void main(String[] args) throws Exception {

String localSrc = "E:\\share\\input\\2007_12_1.txt";

String dst = "hdfs://192.168.92.136:9000/user/logs/2008_10_2.txt";

InputStream in = new BufferedInputStream(new FileInputStream(localSrc));

Configuration conf = new Configuration();

FileSystem fs = FileSystem.get(URI.create(dst),conf);

OutputStream out = fs.create(new Path(dst),new Progressable() {

public void progress() {

System.out.print("*");

}

});

IOUtils.copyBytes(in, out, 1024,true);

}

}

FileSystemµÄcreate()·½·¨ÓÃÓÚн¨Îļþ,·µ»ØFSDataOutputStream¶ÔÏó¡£ Progressable()ÓÃÓÚ´«µÝ»Øµô´°¿Ú£¬¿ÉÒÔÓÃÀ´°ÑÊý¾ÝдÈëdatanodeµÄ½ø¶È֪ͨ¸øÓ¦Óá£

ʹÓÃFileSystem APIɾ³ýÊý¾Ý

´úÂëÈçÏ£º

package filesystem;

import java.net.URI;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

public class FileDelete {

public static void main(String[] args) throws Exception{

String uri = "hdfs://192.168.92.136:9000/user/1400.txt";

Configuration conf = new Configuration();

FileSystem fs = FileSystem.get(URI.create(uri),conf);

fs.delete(new Path(uri));

}

}

 

ʹÓÃdelete()·½·¨À´ÓÀ¾ÃÐÔɾ³ýÎļþ»òĿ¼¡£

FileSystemµÄÆäËüһЩ·½·¨£º

public boolean mkdirs(Path f) throws IOException ÓÃÀ´´´½¨Ä¿Â¼£¬´´½¨³É¹¦·µ»Øtrue¡£

public FileStatus getFileStates(Path f) throws FIleNotFoundException ÓÃÀ´»ñÈ¡Îļþ»òĿ¼µÄFileStatus¶ÔÏó¡£

public FileStatus[ ] listStatus(Path f)throws IOException ÁгöĿ¼ÖеÄÄÚÈÝ

public FileStatus[ ] globStatu(Path pathPattern) throws IOException ·µ»ØÓëÆä·¾¶Æ¥ÅäÓÚÖ¸¶¨Ä£Ê½µÄËùÓÐÎļþµÄFileStatus¶ÔÏóÊý×飬²¢°´Â·¾¶ÅÅÐò

6¡¢Êý¾ÝÁ÷

HDFS¶ÁÈ¡Îļþ¹ý³Ì£º

¹ý³ÌÃèÊö£º

£¨1£©¿Í»§¶Ëµ÷ÓÃFileSyste¶ÔÏóµÄopen()·½·¨ÔÚ·Ö²¼Ê½ÎļþϵͳÖдò¿ªÒª¶ÁÈ¡µÄÎļþ¡£

£¨2£©·Ö²¼Ê½Îļþϵͳͨ¹ýʹÓÃRPC£¨Ô¶³Ì¹ý³Ìµ÷Óã©À´µ÷ÓÃnamenode£¬È·¶¨ÎļþÆðʼ¿éµÄλÖá£

£¨3£©·Ö²¼Ê½ÎļþϵͳµÄDistributedFileSystemÀà·µ»ØÒ»¸öÖ§³ÖÎļþ¶¨Î»µÄÊäÈëÁ÷FSDataInputStream¶ÔÏó£¬FSDataInputStream¶ÔÏó½Ó×Å·â×°DFSInputStream¶ÔÏ󣨴洢×ÅÎļþÆðʼ¼¸¸ö¿éµÄdatanodeµØÖ·£©£¬¿Í»§¶Ë¶ÔÕâ¸öÊäÈëÁ÷µ÷ÓÃread()·½·¨¡£

£¨4£©DFSInputStreamÁ¬½Ó¾àÀë×î½üµÄdatanode£¬Í¨¹ý·´¸´µ÷ÓÃread·½·¨£¬½«Êý¾Ý´Ódatanode´«Êäµ½¿Í»§¶Ë¡£

£¨5£© µ½´ï¿éµÄÄ©¶Ëʱ£¬DFSInputStream¹Ø±ÕÓë¸ÃdatanodeµÄÁ¬½Ó£¬Ñ°ÕÒÏÂÒ»¸ö¿éµÄ×î¼Ñdatanode¡£

£¨6£©¿Í»§¶ËÍê³É¶ÁÈ¡£¬¶ÔFSDataInputStreamµ÷ÓÃclose()·½·¨¹Ø±ÕÁ¬½Ó¡£

HDFSÎļþдÈëµÄ¹ý³Ì£º

¹ý³ÌÃèÊö£º

дÎļþ¹ý³Ì·ÖÎö£º

£¨1£© ¿Í»§¶Ëͨ¹ý¶ÔDistributedFileSystem¶ÔÏóµ÷ÓÃcreate()º¯ÊýÀ´Ð½¨Îļþ¡£

£¨2£© ·Ö²¼Ê½Îļþϵͳ¶Ônamenod´´½¨Ò»¸öRPCµ÷Óã¬ÔÚÎļþϵͳµÄÃüÃû¿Õ¼äÖÐн¨Ò»¸öÎļþ¡£

£¨3£©Namenode¶Ôн¨Îļþ½øÐмì²éÎÞÎóºó£¬·Ö²¼Ê½Îļþϵͳ·µ»Ø¸ø¿Í»§¶ËÒ»¸öFSDataOutputStream¶ÔÏó£¬FSDataOutputStream¶ÔÏó·â×°Ò»¸öDFSoutPutstream¶ÔÏ󣬸ºÔð´¦ÀínamenodeºÍdatanodeÖ®¼äµÄͨÐÅ£¬¿Í»§¶Ë¿ªÊ¼Ð´ÈëÊý¾Ý¡£

£¨4£©FSDataOutputStream½«Êý¾Ý·Ö³ÉÒ»¸öÒ»¸öµÄÊý¾Ý°ü£¬Ð´ÈëÄÚ²¿¶ÓÁС°Êý¾Ý¶ÓÁС±£¬DataStreamer¸ºÔð½«Êý¾Ý°üÒÀ´ÎÁ÷ʽ´«Êäµ½ÓÉÒ»×énamenode¹¹³ÉµÄ¹ÜÏßÖС£

£¨5£©DFSOutputStreamά»¤×ÅÈ·È϶ÓÁÐÀ´µÈ´ýdatanodeÊÕµ½È·ÈÏ»ØÖ´£¬ÊÕµ½¹ÜµÀÖÐËùÓÐdatanodeÈ·ÈϺó£¬Êý¾Ý°ü´ÓÈ·È϶ÓÁÐɾ³ý¡£

£¨6£©¿Í»§¶ËÍê³ÉÊý¾ÝµÄдÈ룬¶ÔÊý¾ÝÁ÷µ÷ÓÃclose()·½·¨¡£

£¨7£©namenodeÈ·ÈÏÍê³É¡£

namenodeÈçºÎÑ¡ÔñÔÚÄǸödatanode´æ´¢¸´±¾£¿

ÐèÒª¶Ô¿É¿¿ÐÔ£¬Ð´Èë´ø¿íºÍ¶ÁÈ¡´ø¿í½øÐÐȨºâ¡£Ä¬Èϲ¼¾ÖÊÇ£ºÔÚÔËÐпͻ§¶ËµÄ½ÚµãÉϷŵÚÒ»¸ö¸´±¾£¨Èç¹û¿Í»§¶ËÔËÐÐÔÚ¼¯ÈºÖ®Í⣬ÔòÔÚ±ÜÃâÌôÑ¡´æ´¢Ì«Âú»ò̫æµÄ½ÚµãµÄÇé¿öÏÂËæ»úÑ¡ÔñÒ»¸ö½Úµã¡££©µÚ¶þ¸ö¸´±¾·ÅÔÚÓëµÚÒ»¸ö²»Í¬ÇÒËæ»úÁíÍâÑ¡ÔñµÄ»ú¼ÜÖнڵãÉÏ¡£µÚÈý¸ö¸´±¾ÓëµÚ¶þ¸ö¸´±¾·ÅÔÚͬһ¸ö»ú¼ÜÉÏ£¬ÇÒËæ»úÑ¡ÔñÁíÒ»¸ö½Úµã¡£ÆäËü¸´±¾·ÅÔÚ¼¯ÈºÖÐËæ»úÑ¡ÔñµÄ½ÚµãÖУ¬¾¡Á¿±ÜÃâÔÚͬһ¸ö»ú¼ÜÉÏ·ÅÌ«¶à¸´±¾¡£

Ò»¸ö¸´±¾¸öÊýΪ3µÄ¼¯Èº·ÅÖÃλÖÃÈçͼ£º

HDFSÒ»ÖÂÐÔ£ºHDFSÔÚдÊý¾ÝÎñ±ØÒª±£Ö¤Êý¾ÝµÄÒ»ÖÂÐÔÓë³Ö¾ÃÐÔ£¬Ä¿Ç°HDFSÌṩµÄÁ½ÖÖÁ½¸ö±£Ö¤Êý¾ÝÒ»ÖÂÐԵķ½·¨ hsync()·½·¨ºÍhflush()·½·¨¡£

hflush: ±£Ö¤flushµÄÊý¾Ý±»ÐµÄreader¶Áµ½£¬µ«ÊDz»±£Ö¤Êý¾Ý±»datanode³Ö¾Ã»¯¡£

hsync: Óëhflush¼¸ºõÒ»Ñù£¬²»Í¬µÄÊÇhsync±£Ö¤Êý¾Ý±»datanode³Ö¾Ã»¯¡£

7¡¢Í¨¹ýFlumeºÍSqoopµ¼ÈëÊý¾Ý

¿ÉÒÔ¿¼ÂÇʹÓÃһЩÏֳɵŤ¾ß½«Êý¾Ýµ¼Èë¡£

Apache FluemÊÇÒ»¸ö½«´ó¹æÄ£Á÷Êý¾Ýµ¼ÈëHDFSµÄ¹¤¾ß¡£µäÐÍÓ¦ÓÃÊÇ´ÓÁíÍâÒ»¸öϵͳÖÐÊÕ¼¯ÈÕÖ¾Êý¾Ý²¢ÊµÏÖÔÚHDFSÖеľۼ¯²Ù×÷ÒÔ±ãÓÃÓÚºóÆÚµÄ·ÖÎö²Ù×÷¡£

Apache SqoopÓÃÀ´½«Êý¾Ý´Ó½á¹¹»¯´æ´¢É豸ÅúÁ¿µ¼ÈëHDFSÖУ¬ÀýÈç¹ØÏµÊý¾Ý¿â¡£SqoopÓ¦Óó¡¾°ÊÇ×éÖ¯½«°×ÌìÉú²úµÄÊý¾Ý¿âÖеÄÊý¾ÝÔÚÍí¼äµ¼ÈëHiveÊý¾Ý²Ö¿âÖнøÐзÖÎö¡£

8¡¢Í¨¹ýdistcp²¢Ðи´ÖÆ

distcp·Ö²¼Ê½¸´ÖƳÌÐò£¬Ëü´ÓHadoopÎļþϵͳ¼ä¸´ÖÆ´óÁ¿Êý¾Ý£¬Ò²¿ÉÒÔ½«´óÁ¿µÄÊý¾Ý¸´ÖƵ½Hadoop¡£

µäÐÍÓ¦Óó¡¾°ÊÇÔÚHDFS¼¯ÈºÖ®¼ä´«ÊäÊý¾Ý¡£

% hadoop distcp hdfs://namenode1/foo hdfs://namenode2/bar

9¡¢Hadoop´æµµ

HDFSÖÐÿ¸öÎļþ¾ù°´¿é·½Ê½´æ´¢£¬Ã¿¸ö¿éµÄÔªÊý¾Ý´æ´¢ÔÚnamenodeµÄÄÚ´æÖУ¬Òò´ËHadoop´æ´¢Ð¡Îļþ»á·Ç³£µÍЧ¡£ÒòΪ´óÁ¿µÄСÎļþ»áºÄ¾¡namenodeÖеĴ󲿷ÖÄÚ´æ¡£HadoopµÄ´æµµÎļþ»òHARÎļþ£¬½«Îļþ´æÈëHDFS¿é£¬¼õÉÙnamenodeÄÚ´æÊ¹Óã¬ÔÊÐí¶ÔÎļþ½øÐÐ͸Ã÷µØ·ÃÎÊ¡£

Hadoop´æµµÊÇͨ¹ýarchive¹¤¾ß¸ù¾ÝÒ»×éÎļþ´´½¨¶øÀ´µÄ¡£ÔËÐÐarchiveÖ¸Á

% hadoop archive -archiveName files.har /my/files /my

ÁгöHARÎļþµÄ×é³É²¿·Ö£º

% hadoop fs -ls /my/files.har

files.harÊÇ´æµµÎļþµÄÃû³Æ£¬Õâ¾äÖ¸Áî´æ´¢ HDFSÏÂ/my/filesÖеÄÎļþ¡£

HARÎļþµÄ×é³É²¿·Ö£ºÁ½¸öË÷ÒýÎļþÒÔ¼°²¿·ÖÎļþµÄ¼¯ºÏ¡£

´æµµµÄ²»×㣺

н¨Ò»¸ö´æµµÎļþ»á´´½¨Ô­Ê¼ÎļþµÄÒ»¸ö¸±±¾£¬Òò´ËÐèÒªÓëÒª´æµµµÄÎļþÈÝÁ¿Ïàͬ´óСµÄ´ÅÅ̿ռ䡣

Ò»µ©´æµµÎļþ£¬²»ÄÜ´ÓÖÐÔö¼Ó»òɾ³ýÎļþ¡£

   
1935 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ