hdfs的特性、命令、安全模式、基准测试
1.第一點(diǎn):如何理解hdfs分布式文件系統(tǒng),每臺(tái)機(jī)器出一塊磁盤(pán),湊成一個(gè)大的硬盤(pán),大的硬盤(pán)的容量來(lái)自各個(gè)服務(wù)器的硬盤(pán)容量之和。
你出5毛,我出5毛,大家湊成1塊。
2. HDFS 是 Hadoop Distribute File System 的簡(jiǎn)稱(chēng),意為:Hadoop 分布式文件系統(tǒng)。是 Hadoop 核心組件之一,作為最底層的分布式存儲(chǔ)服務(wù)而存在。
3.hdfs的特性:
(1)master/slave架構(gòu):namenode是我們的主節(jié)點(diǎn),datanode是我們的從節(jié)點(diǎn)
??????????????????????????????????????????????????????? ? namenode主要管理元數(shù)據(jù)信息? datanode主要存儲(chǔ)各種數(shù)據(jù)
(2)分塊存儲(chǔ)
(3)名字空間(NameSpace)
(4)HDFS 會(huì)給客戶(hù)端提供一個(gè)統(tǒng)一的抽象目錄樹(shù),客戶(hù)端通過(guò)路徑來(lái)訪問(wèn)文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。
(5)Namenode 元數(shù)據(jù)管理;
(6)Datanode 數(shù)據(jù)存儲(chǔ);
(7)副本機(jī)制;
(8)一次寫(xiě)入,多次讀出:頻繁的寫(xiě)入會(huì)造成元數(shù)據(jù)的頻繁的更新改變,比較麻煩。
3. hdfs常用的操作命令:
hdfs? dfs?? -ls? /? 查看根路徑下面的文件或者文件夾
hdfs dfs? -mkdir? -p?? /xx/xxx? 在hdfs上面遞歸的創(chuàng)建文件夾
hdfs? dfs -moveFromLocal? sourceDir(本地磁盤(pán)的文件或者文件夾的路徑)?? destDir(hdfs的路徑) (剪切)
hdfs? dfs? -mv? hdfsSourceDir?? hdfsDestDir(剪切,從hdfs上的一個(gè)位置移動(dòng)到另一個(gè)位置)
hdfs? dfs -put? localDir? hdfsDir?? 將本地文件系統(tǒng)的文件或者文件夾放到hdfs上面去 (復(fù)制)
Usage: hdfs dfs -rm [-f] [-r|-R遞歸] [-skipTrash跳過(guò)垃圾桶永久刪除] URI [URI ...] 刪除hdfs上的一個(gè)或多個(gè)文件或文件夾。
hdfs dfs -tail [-f] URI? (Displays last kilobyte of the file to stdout)
hdfs dfs -appendToFile <localsrc> ... <dst> 將本地系統(tǒng)的一個(gè)或多個(gè)文件追加到hdfs的一個(gè)文件中。
hdfs? dfs -cat? hdfsFiles 查看一個(gè)或多個(gè)hdfs的文件內(nèi)容
hdfs? dfs? -cp?? hdfsSourceDIr?? hdfsDestDir?? 拷貝文件或者文件夾,從hdfs上的一個(gè)位置拷貝到另一個(gè)位置
hdfs的權(quán)限管理兩個(gè)命令:
hdfs? dfs? -chmod -R? 777? /xxx
hdfs? dfs? -chown -R hadoop:hadoop? /xxx
hdfs dfs -expunge 清空回收站?
?
2.hdfs高級(jí)命令使用:主要就是用于限制某個(gè)路徑下面的文件的個(gè)數(shù),或者限制某個(gè)路徑下面文件的大小。
hdfs dfs -mkdir -p /user/root/lisi???? #創(chuàng)建hdfs文件夾
hdfs dfsadmin -setQuota 2 lisi????? # 給該文件夾下面設(shè)置最多上傳兩個(gè)文件,上傳文件,發(fā)現(xiàn)只能上傳一個(gè)文件
hdfs dfsadmin -clrQuota /user/root/lisi??? # 清除文件數(shù)量限制
hdfs dfsadmin -setSpaceQuota 4k /user/root/lisi?? # 限制空間大小4KB
hdfs dfs -put? /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz /user/root/lisi
hdfs dfsadmin -clrSpaceQuota /user/root/lisi?? #清除空間限額
hdfs dfs -count -q -h /user/root/lisi 查看hdfs文件限額數(shù)量
注意:hdfs dfs -count -q -h /user/root/lisi 可以簡(jiǎn)寫(xiě)為hdfs dfs -count -q -h lisi 這里使用了相對(duì)路徑,
當(dāng)前登錄用戶(hù)是root,所以當(dāng)前路徑是/user/root/
?
3.? hdfs的安全模式:文件系統(tǒng)只接受讀數(shù)據(jù)請(qǐng)求,而不接受刪除、修改等變更請(qǐng)求。hdfs集群剛啟動(dòng)的時(shí)候,默認(rèn)30S鐘的時(shí)間是出于安全期的,去檢測(cè)datanode了,只有過(guò)了30S之后,集群脫離了安全期,然后才可以對(duì)集群進(jìn)行操作
hdfs? dfsadmin? -safemode [ enter | leave | get? ]
?
4.? hdfs基準(zhǔn)測(cè)試(壓力測(cè)試)
測(cè)試寫(xiě)入速度:
hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO? -write -nrFiles 10 -fileSize 10MB
完成之后查看寫(xiě)入速度結(jié)果,寫(xiě)入速度一般在30M/S左右超不多:
hdfs dfs -text /benchmarks/TestDFSIO/io_write/part-00000
測(cè)試讀取速度:
hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO -read -nrFiles 10 -fileSize 10MB
查看讀取結(jié)果,實(shí)際工作當(dāng)中通過(guò)MR讀取速度大概在100M/s左右:
hdfs dfs -text /benchmarks/TestDFSIO/io_read/part-00000
清除測(cè)試數(shù)據(jù):
hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO -clean
注:在執(zhí)行命令時(shí)的當(dāng)前路徑下,會(huì)生成一個(gè)測(cè)試報(bào)告文件:-rw-r--r-- 1 root root ?303 May 23 22:06 TestDFSIO_results.log
轉(zhuǎn)載于:https://www.cnblogs.com/mediocreWorld/p/10941071.html
總結(jié)
以上是生活随笔為你收集整理的hdfs的特性、命令、安全模式、基准测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 英雄联盟ADC排行榜?
- 下一篇: 企业级应用,如何实现服务化一(项目架构演