大數(shù)據(jù)存儲(chǔ)與處理第四講_第1頁(yè)
大數(shù)據(jù)存儲(chǔ)與處理第四講_第2頁(yè)
大數(shù)據(jù)存儲(chǔ)與處理第四講_第3頁(yè)
大數(shù)據(jù)存儲(chǔ)與處理第四講_第4頁(yè)
大數(shù)據(jù)存儲(chǔ)與處理第四講_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

HDFS實(shí)戰(zhàn)

1Hadoop運(yùn)行模式Hadoop偽分布式安裝HDFS命令行工具HDFS安全模式啟動(dòng)、停止HDFS服務(wù)如何查看HDFS日志如何查看HDFSWeb控制臺(tái)HDFS參數(shù)配置2單機(jī)在一個(gè)Java進(jìn)程內(nèi)模擬Hadoop的各個(gè)角色偽分布式由各個(gè)Java進(jìn)程來(lái)模擬Hadoop的各個(gè)角色集群環(huán)境Hadoop運(yùn)行模式3Hadoopshell$HADOOP_HOME_BASE/bin/hadoopfs<args>FSshell使用URIs地址Schema://autority/path例如hdfs://namenodehost:port/folder1/folder2如果不指定schema,則使用配置文件中的默認(rèn)地址可以使用hadoopfs–help查看所有命令HDFS命令行工具4用途顯示一個(gè)或多個(gè)文件內(nèi)容到控制臺(tái)使用方法hadoopfs-catURI[URI...]例子:hadoopfs-cathdfs://host1:port1/file1hdfs://host2:port2/file2hadoopfs-cat/user/hadoop/file4cat5用途將本地一個(gè)或多個(gè)文件導(dǎo)入HDFS以上兩個(gè)命令唯一的不同時(shí)copyFromLocal的源只能是本地文件,而put可以讀取stdin的數(shù)據(jù)使用方法hadoopfs-put/copyFromLocal<localsrc>URI例子:hadoopfs-putlocal/user/hadoop/hadoophadoopfs-putlocalfile1localfile2/user/hadoop/hadoopdirhadoopfs-putlocalhadoopfs-put-hdfs://host:port/hadoop/hadoopput/copyFromLocal6用途將HDFS中的一個(gè)或多個(gè)文件導(dǎo)出到本地文件系統(tǒng)使用方法hadoopfs-get/copyToLocal[-ignorecrc][-crc]URI<localsrc>例子:hadoopfs-get/user/hadoop/hadoophadoopfs-gethdfs://host:port/user/hadoop/get/copyToLocal7用途列出文件夾目錄信息lsr遞歸顯示文件子目錄使用方法hadoopfs-ls/lsrURI例子:ls/lsr[hadoop@master]$hadoopfs-ls/user/hadoopdrwxr-xr-x-hadoopsupergroup02012-05-1417:24/user/hadoop/a[hadoop@master]$hadoopfs-lsr/user/hadoopdrwxr-xr-x-hadoopsupergroup02012-05-1417:24/user/hadoop/a-rw-r--r--2hadoopsupergroup472012-05-1417:24/user/hadoop/a/oct.sh-rw-r--r--2hadoopsupergroup62012-05-1417:24/user/hadoop/a/x.sh8用法hadoopfsck[GENERIC_OPTIONS]<path>[-move|-delete|-openforwrite][-files[-blocks[-locations|-racks]]]檢查dfs的文件的健康狀況只能運(yùn)行在master上fsck[hadoop@master]$hadoopfsck/user/hadoopFSCKstartedbyhadoopfrom/7forpath/user/hadoopatFriJun1517:11:50CST2012./user/hadoop/a/oct.sh:Underreplicatedblk_-3537883739360629007_1303.TargetReplicasis2butfound1replica(s)../user/hadoop/a/x.sh:Underreplicatedblk_86643771_1304.TargetReplicasis2butfound1replica(s).9fsckStatus:HEALTHYTotalsize:57697BTotaldirs:5Totalfiles:6Totalblocks(validated):5(avg.blocksize11539B)Minimallyreplicatedblocks:5(100.0%)Over-replicatedblocks:0(0.0%)Under-replicatedblocks:5(100.0%)Mis-replicatedblocks:0(0.0%)Defaultreplicationfactor:2Averageblockreplication:1.0Corruptblocks:0Missingreplicas:2(100.0%)Numberofdata-nodes:1Numberofracks:1FSCKendedatFriJun1517:11:50CST2012in3milliseconds10用法hadoopdfsadmin[command]hadoopdfsadmin-help可以列出所有的可用命令主要的有一下幾個(gè)-safemode安全模式操作-report報(bào)告集群DFS的運(yùn)行情況可以使用hadoopdfsadmin-help查看所有命令的用法dfsadmin11指文件系統(tǒng)所處的一種只讀的安全模式HDFS啟動(dòng)時(shí)會(huì)在safemode狀態(tài)相關(guān)命令:HDFS的SafeMode$hadoopdfsadmin-safemodeget#安全模式當(dāng)前狀態(tài)信息$hadoopdfsadmin-safemodeenter#進(jìn)入安全模式$hadoopdfsadmin-safemodeleave#解除安全模式$hadoopdfsadmin-safemodewait#掛起,直到安全模式結(jié)束12NameNode$HADOOP_HOME_BASE/bin/hadoop-daemon.shstartnamenodeSecondaryNameNode$HADOOP_HOME_BASE/bin/hadoop-daemon.shstartsecondarynamenodeDataNode同時(shí)啟動(dòng):$HADOOP_HOME_BASE/bin/hadoop-daemons.shstartdatanode單臺(tái)啟動(dòng):$HADOOP_HOME_BASE/bin/hadoop-daemon.shstartdatanodeNameNode、SecondaryNameNode、DataNode$HADOOP_HOME_BASE/bin/start-dfs.shHDFS服務(wù)啟動(dòng)13NameNode$HADOOP_HOME_BASE/bin/hadoop-daemon.shstopnamenodeSecondaryNameNode$HADOOP_HOME_BASE/bin/hadoop-daemon.shstopsecondarynamenodeDataNode同時(shí)關(guān)閉:$HADOOP_HOME_BASE/bin/hadoop-daemons.shstopdatanode單臺(tái)關(guān)閉:$HADOOP_HOME_BASE/bin/hadoop-daemon.shstopdatanodeNameNode、SecondaryNameNode、DataNode$HADOOP_HOME_BASE/bin/stop-dfs.shHDFS服務(wù)關(guān)閉14NameNode位置:$HADOOP_HOME_BASE/logs/hadoop-$USER-namenode-$HOSTNAME.log命令:tail-fn100$HADOOP_HOME_BASE/logs/hadoop-$USER-namenode-$HOSTNAME.logDataNode位置:$HADOOP_HOME_BASE/logs/hadoop-$USER-datanode-$HOSTNAME.log命令:tail-fn100$HADOOP_HOME_BASE/logs/hadoop-$USER-datanode-$HOSTNAME.log設(shè)置Log文件

的大小和數(shù)量修改core-site.xml中的參數(shù)hadoop.loghadoop.log如何查看HDFS日志15

查看不同組件的日志級(jí)別hadoopdaemonlog-getlevelhost:portpackageName設(shè)置組件的日志級(jí)別

hadoopdaemonlog–setlevlehost:portpackageNamelevel“l(fā)evel”DEBUG,INFO,ERROR,FATAL

端口為前臺(tái)頁(yè)面的端口,缺省為50070組件名稱(chēng)(packageName)node.NameNodeorg.apache.hadoop.hdfs.server.datanode.DataNodeorg.apache.hadoop.hdfsorg.apache.hadoop如何設(shè)置日志級(jí)別16訪問(wèn):http://<NameNodehostname>:<port>如何查看HDFSWeb控制臺(tái)17.dir NameNode元數(shù)據(jù)存放位置默認(rèn)值:使用core-site.xml中的hadoop.tmp.dir/dfs/namedfs.block.size對(duì)于新文件切分的大小,單位byte。默認(rèn)是64M,建議是128M。每一個(gè)節(jié)點(diǎn)都要指定,包括客戶(hù)端。默認(rèn)值:67108864dfs.data.dirDataNode在本地磁盤(pán)存放block的位置,可以是以逗號(hào)分隔的目錄列表,DataNode循環(huán)向磁盤(pán)中寫(xiě)入數(shù)據(jù),每個(gè)DataNode可單獨(dú)指定與其它DataNode不一樣默認(rèn)值:${hadoop.tmp.dir}/dfs/dataHDFShdfs-site.xml參數(shù)配置18node.handler.countNameNode用來(lái)處理來(lái)自DataNode的RPC請(qǐng)求的線程數(shù)量建議設(shè)置為DataNode數(shù)量的10%,一般在10~200個(gè)之間如設(shè)置太小,DataNode在傳輸數(shù)據(jù)的時(shí)候日志中會(huì)報(bào)告“connectonrefused"信息在NameNode上設(shè)定默認(rèn)值:10dfs.datanode.handler.countDataNode用來(lái)連接NameNode的RPC請(qǐng)求的線程數(shù)量取決于系統(tǒng)的繁忙程度設(shè)置太小會(huì)導(dǎo)致性能下降甚至報(bào)錯(cuò)在DataNode上設(shè)定默認(rèn)值:3dfs.datanode.max.xcieversDataNode可以同時(shí)處理的數(shù)據(jù)傳輸連接數(shù)默認(rèn)值:256建議值:4096HDFShdfs-site.xml參數(shù)配置19dfs.permissions

如果是true則檢查權(quán)限,否則不檢查(每一個(gè)人都可以存取文件)于NameNode上設(shè)定默認(rèn)值:truedfs.datanode.du.reserved 在每個(gè)卷上面HDFS不能使用的空間大小在每個(gè)DataNode上面設(shè)定默認(rèn)值:0建議為10737418240,即10G。需要結(jié)合MapReduce場(chǎng)景設(shè)置。dfs.datanode.failed.volumes.toleratedDataNode可以容忍損塊的磁盤(pán)數(shù)量,超過(guò)這個(gè)數(shù)量DataNode將會(huì)離線,所有在這個(gè)節(jié)點(diǎn)上面的block將會(huì)被重新復(fù)制默認(rèn)是0,但是在有多塊磁盤(pán)的時(shí)候一般會(huì)增大這個(gè)值dfs.replication在文件被寫(xiě)入的時(shí)候,每一塊將要被復(fù)制多少份默認(rèn)是3份。建議3份在客戶(hù)端上設(shè)定通常也需要在DataNode上設(shè)定HDFShdfs-site.xml參數(shù)配置20文件系統(tǒng)的名字。通常是NameNode的hostname與port需要在每一個(gè)需要訪問(wèn)集群的機(jī)器上指定,包括集群中的節(jié)點(diǎn)例如:hdfs://<your_namenode>:9000/fs.checkpoint.dir以逗號(hào)分隔的文件夾列表,SecondNameNode用來(lái)存儲(chǔ)checkpointimage文件如果多于一個(gè)文件夾,那么都會(huì)被寫(xiě)入數(shù)據(jù)需要在SecondNameNode上設(shè)定默認(rèn)值:${hadoop.tmp.dir}/dfs/namesecondaryhadoop.tmp.dir HDFS與本地磁盤(pán)的臨時(shí)文件默認(rèn)是/tmp/hadoop-${}.需要在所有的節(jié)點(diǎn)中設(shè)定HDFScore-site.xml參數(shù)配置21erval當(dāng)一個(gè)文件被刪掉后,它會(huì)被放到用戶(hù)目錄的.Trash目錄下,而不是立即刪掉經(jīng)過(guò)此參數(shù)設(shè)置的分鐘數(shù)之后,再刪掉數(shù)據(jù)默認(rèn)是0,禁用此功能,建議1440(一天)io.設(shè)定在讀寫(xiě)數(shù)據(jù)時(shí)的緩存大小,應(yīng)該為硬件分頁(yè)大小的2倍默認(rèn)是4096,建議為65536(64K)HDFScore-site.xml參數(shù)配置22HDFS-javaapi使用23HDFS開(kāi)發(fā)基本步驟HDFSJavaAPI詳解ConfigurationPathStream、IOUtilsHDFSJavaAPI使用場(chǎng)景示例24實(shí)例化Configuration實(shí)例化根據(jù)配置文件選擇使用本地或分布式文件系統(tǒng)文件或目錄操作Stream

HDFS開(kāi)發(fā)基本步驟25包org.apache.hadoop.conf構(gòu)造方法publicConfiguration()調(diào)用構(gòu)造方法Configuration(true)publicConfiguration(booleanloadDefaults)true:先加載缺省配置文件,再加載用戶(hù)指定文件(addResource)core-default.xml,core-site.xml以及通過(guò)addDefaultResource添加的文件名false:不加載缺省配置文件,需要通過(guò)addResource手動(dòng)添加后加載的配置會(huì)覆蓋先加載的配置除了被指定為final的publicConfiguration(Configurationother)復(fù)制other參數(shù)信息Configuration26staticvoidaddDefaultResource(Stringname)添加默認(rèn)配置文件,配置文件加載的順序是根據(jù)添加的順序參數(shù)是文件名,文件是在classpath中voidaddResource(InputStreamin)voidaddResource(Pathfile)本地文件voidaddResource(Stringname)classpath中的文件voidaddResource(URLurl)Configuration加載配置文件方法27先加載缺省配置文件,再加載用戶(hù)定義的配置文件對(duì)于每一個(gè)文件只加載一次:第一個(gè)在classpath出現(xiàn)的classpath的目錄順序$HADOOP_CONF_DIR$JAVA_HOME/lib/tools.jar如果$HADOOP_HOME目錄下有build目錄,則添加build下各子目錄$HADOOP_HOME/hadoop-core-*.jar$HADOOP_HOME/lib/*.jar用戶(hù)在hadoop-env.sh中定義的$HADOOP_CLASS_PATH當(dāng)前作為hadoopjar…參數(shù)提交的JAR包配置文件加載順序28voidset(Stringname,Stringvalue)voidsetBoolean(Stringname,booleanvalue)voidsetInt(Stringname,Stringvalue)voidsetLong(Stringname,longvalue)voidsetFloat(Stringname,floatvalue)voidsetIfUnset(Stringname,Stringvalue)voidsetBooleanIfUnset(Stringname,booleanvalue)Stringget(Stringname)booleangetBoolean(Stringname,booleandefaultValue)Configuration設(shè)置/獲取參數(shù)方法29包org.apache.hadoop.fs構(gòu)造方法publicPath(StringpathString)publicPath(URIaUri)publicPath(Pathparent,Pathchild)publicPath(Stringparent,Stringchild)參數(shù)parent指定父目錄,參數(shù)child指定父目錄下的文件或子目錄publicPath(Stringscheme,Stringauthority,Stringpath)scheme:協(xié)議類(lèi)型,譬如hdfs、file、s3authority:認(rèn)證信息,譬如user:pwd@host:portpath:文件或目錄名如參數(shù)不符合RFC2396,則拋出異常Path30intdepth()返回路徑的深度StringgetName()返回路徑上最后的資源名稱(chēng)PathgetParent()返回父目錄,如果已是根目錄則返回nullPathsuffix(Stringsuffix)參數(shù)suffix給Path增加后綴返回加完后綴的Path實(shí)例get(Configurationconf)返回該P(yáng)ath所屬的文件系統(tǒng)實(shí)例Path常用方法31包org.apache.hadoop.fs構(gòu)造方法protected()

是一個(gè)抽象類(lèi),不能通過(guò)new來(lái)創(chuàng)建通過(guò)靜態(tài)get(Configurationconf)方法獲得子類(lèi)的實(shí)例fs.$scheme.implorg.apache.hadoop.hdfs.Distributed主要子類(lèi)Local本地文件系統(tǒng)Distributed分布式文件系統(tǒng)32booleancreateNewf)不會(huì)覆蓋已有文件創(chuàng)建成功返回true,失敗返回falseFSDataOutputStreamcreate(Pathf)覆蓋已有文件創(chuàng)建文件并返回輸出流FSDataOutputStreamcreate(Pathf,booleanoverwrite)創(chuàng)建文件并返回輸出流FSDataOutputStreamcreate(Pathf,booleanoverwrite,intbuffer)FSDataOutputStreamcreate(Pathf,booleanoverwrite,int buffer,shortreplication,longblockSize)創(chuàng)建文件33FSDataInputStreamopen(Pathf)FSDataInputStreamopen(Pathf,intbufferSize)返回輸入流如果文件不存在會(huì)拋出異常不指定bufferSize時(shí),會(huì)從Configuration中讀取io.,默認(rèn)為4096字節(jié)打開(kāi)文件34FSDataOutputStreamappend(Pathf)FSDataOutputStreamappend(Pathf,intbufferSize)塊不足64M時(shí),會(huì)補(bǔ)足到64M塊達(dá)到64M之前,該塊不可見(jiàn),ls看不到該塊新增的大小,也無(wú)法讀取不能同時(shí)多個(gè)writer追加同一個(gè)文件文件追加35voidcopyFromLocalFile(Pathsrc,Pathdst)目標(biāo)文件存在,直接覆蓋voidcopyFromLocalFile(booleandelsrc,Pathsrc,Pathdst)根據(jù)參數(shù)delsrc,如果是true,拷貝完成之后直接刪除源文件voidcopyFromLocalFile(booleandelsrc,booleanoverwrite, Pathsrc,Pathdst)voidcopyFromLocalFile(booleandelsrc,booleanoverwrite, Path[]srcs,Pathdst)參數(shù)srcs指定多個(gè)本地文件或文件夾參數(shù)dst指定HDFS文件夾voidmoveFromLocalFile(Pathsrc,Pathdst)voidmoveFromLocalFile(Path[]srcs,Pathdst)從本地拷貝文件到HDFS36voidcopyToLocalFile(Pathsrc,Pathdst)voidcopyToLocalFile(booleandelsrc,Pathsrc,Pathdst)voidmoveToLocalFile(Pathsrc,Pathdst)沒(méi)有多文件拷貝函數(shù)會(huì)覆蓋已存在的本地文件dst從HDFS拷貝文件到本地37booleanmkdirs(Pathf)booleanmkdirs(Pathf,FsPermissionpermission)staticbooleanmkdirs(fs,Pathdir,FsPermissionpermission)支持多級(jí)目錄同時(shí)創(chuàng)建(類(lèi)似mkdir-p)默認(rèn)權(quán)限是755成功返回true目錄權(quán)限的含義r+x:

獲取文件列表w:創(chuàng)建(刪除)文件/子目錄

創(chuàng)建目錄38booleandelete(Pathf,booleanrecursive)刪除文件或目錄如果f是目錄,則參數(shù)recursive指定是否要遞歸刪除recursive是false,并且f不為空,會(huì)拋出異常刪除成功返回truef不存在時(shí),會(huì)返回falsebooleandeleteOnExit(f)當(dāng)關(guān)閉時(shí),才會(huì)刪除如f是目錄,則遞歸刪除子目錄和文件booleanrename(Pathsrc,Pathdst)刪除及重命名39[]listStatus(Pathf)[]listStatus(Path[]dirs)[]listStatus(Pathf,PathFilterfilter)[]listStatus(Path[]dir,PathFilterfilter)列出文件或目錄的信息參數(shù)dir指定要查詢(xún)的多個(gè)目錄參數(shù)filter指定需要過(guò)濾規(guī)則PathFilter是一個(gè)接口,需要實(shí)現(xiàn)booleanaccept(Pathpath)方法,返回false,在返回結(jié)果中會(huì)過(guò)濾掉只返回列出指定目錄下的文件或目錄信息

信息包括:絕對(duì)路徑文件大小(單位:字節(jié))文件訪問(wèn)時(shí)間塊大小、復(fù)制份數(shù)文件所屬用戶(hù)、組、訪問(wèn)權(quán)限獲取文件或目錄信息40voidsetOwner(Pathp,Stringusername,Stringgroupname)設(shè)置文件或目錄所屬用戶(hù)及組參數(shù)p指定文件或目錄參數(shù)username,設(shè)置此文件或目錄的所屬用戶(hù)只返回列出指定目錄下的文件或目錄信息voidsetPermission(Pathp,FsPermissionpermission)設(shè)置文件或目錄權(quán)限參數(shù)p指定文件或目錄參數(shù)permission,指定權(quán)限,權(quán)限同linux權(quán)限雷同voidsetReplication(Pathf,shortreplication)設(shè)置文件復(fù)制份數(shù)參數(shù)f指定文件參數(shù)replication指定復(fù)制份數(shù)設(shè)置文件或目錄屬性41voidsetTimes(Pathf,longmtime,longatime)設(shè)置文件的修改及訪問(wèn)時(shí)間參數(shù)f指定文件參數(shù)mtime,修改時(shí)間參數(shù)atime,訪問(wèn)時(shí)間設(shè)置文件或目錄屬性42包org.apache.hadoop.fs繼承java.io.DataInputStream構(gòu)造方法publicFSDataInputStream(InputStreamin)輸入流對(duì)象實(shí)例化in參數(shù),輸入流的來(lái)源一般輸入流對(duì)象,通過(guò)方法獲得HDFS輸入流43包org.apache.hadoop.fs繼承java.io.DataOutputStream構(gòu)造方法publicFSDataOutputStream(OutputStreamout,stats)publicFSDataOutputStream(OutputStreamout,stats,longstartPosition)輸出流對(duì)象實(shí)例化out參數(shù),輸出流stats參數(shù)是對(duì)輸出流的相關(guān)的計(jì)數(shù),如bytesread,byteswrittenstats是對(duì)象startPosition參數(shù),開(kāi)始寫(xiě)入位置一般輸出流對(duì)象,通過(guò)方法HDFS輸出流44包org.apache.hadoop.fs構(gòu)造方法publicIOUtils()I/O幫助類(lèi),提供的都是靜態(tài)方法,不需要實(shí)例化

IOUtils構(gòu)造方法45publicstaticvoidcopyBytes(InputStreamin,outputStreamout,Configurationconf)publicstaticvoidcopyBytes(InputStreamin,outputStreamout,Configurationconf,booleanclose)從輸入流拷貝到輸出流參數(shù)in輸入流實(shí)例參數(shù)out輸出流實(shí)例參數(shù)conf,通過(guò)io.獲取緩存大小沒(méi)有設(shè)置io.,緩存默認(rèn)為4096bytes參數(shù)close指定是否需要拷貝完成后,由此方法關(guān)閉輸入輸出流IOUtils拷貝流方法46publicstaticvoidcopyBytes(InputStreamin,outputStreamout,intbuffSize)publicstaticvoidcopyBytes(InputStreamin,outputStreamout,intbuffSize,booleanclose)publicstaticvoidcopyBytes(InputStreamin,outputStreamout,intlength,intbuffSize,booleanclose)從輸入流拷貝制定字節(jié)大小到輸出流參數(shù)in輸入流實(shí)例參數(shù)out輸出流實(shí)例參數(shù)length指定要拷貝的字節(jié)大小參數(shù)buffSize指定輸入輸出緩沖參數(shù)close指定是否需要拷貝完成后,由此方法關(guān)閉輸入輸出流IOUtils拷貝流方法47HDFS依賴(lài)Jar包來(lái)源集群中已部署的Hadoop路徑下$HADOOP_HOME_BASE/hadoop-core-1.0.0.jar$HADOOP_HOME_BASE/lib/*.jarJavaDoc位置集群中已部署Hadoop路徑下$HADOOP_HOME_BASE/docs/api/index.html

HDFS依賴(lài)的jar包及JavaDoc位置48創(chuàng)建HDFS文件(createNewFile)Configurationconfig=newConfiguration();hdfs=(config);Pathpath=newPath();booleanisCreated=hdfs.createNewFile(path);49從本地拷貝文件到HDFS(copyFromLocalFile)Configurationconfig=newConfiguration();hdfs=(config);PathsrcPath=newPath(srcFile);PathdstPath=newPath(dstFile);hdfs.copyFromLocalFile(srcPath,dstPath)50從HDFS讀取文件(open)Configurationconfig=newConfiguration();hdfs=(config);Pathpath=newPath(dstFile);FSDataInputStreaminputStream=hdfs.open(path);Textline=newText()LineReaderliReader=newLineReader(inputStream);while(liReader.readLine(line)>0){System.out.println(line);}inputStream.close();51追加方式寫(xiě)入HDFS文件(append)Configurationconfig=newConfiguration();hdfs=(config);Pathpath=newPath(dstFile);FSDataOutputStreamout=hdfs.append(path);//在文件尾部,追加數(shù)據(jù)out.close();52列出目錄下的所有文件(listStatus)Configurationconfig=newConfiguration();hdfs=(config);Pathdir=newPath(dirName);[]=hdfs.listStatus(newPath[]{dir});53HDFS命令

HDFS中的文件權(quán)限:

讀權(quán)限(r)、寫(xiě)權(quán)限(w)

執(zhí)行權(quán)限(x)(控制對(duì)目錄下的文件和子目錄的訪問(wèn))

HDFS的命令行格式:hadoop

fs

–cmd

<args>

cmd:具體的指令內(nèi)容

<args>:一系列可變的參數(shù)

命令catchmodchowncopyFromLocalcopyToLocalcpgetlsmkdirmoveFromLocalmvputrmtail

說(shuō)明顯示非壓縮文件的內(nèi)容改變文件或目錄的訪問(wèn)權(quán)限變更文件或目錄的所有者從本地復(fù)制文件到HDFS文件系統(tǒng)中從HDFS復(fù)制文件到本地復(fù)制文件或目錄從HDFS復(fù)制文件到本地列出文件和子目錄創(chuàng)建目錄將文件或目錄從本地移動(dòng)到HDFS將文件或目錄源路徑移動(dòng)到目的路徑將文件或目錄從本地移動(dòng)復(fù)制HDFS刪除文件或空目錄顯示文件的最后1KB數(shù)據(jù)

示例-cat

hdfs:///file1-chmod

777

hdfs:///file1-chown

user1

hdfs:///file1-copyFromLocal

localf1

/usr/hadoop/file1-copyToLocal

/usr/hadoop/file1

localf1-cp

/usr/hadoop/file1

/usr/hadoop/file2-get

/usr/hadoop/file1

localf1-ls

/usr/hadoop/file1-mkdir

/usr/hadoop

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論