HDFS 分布式文件存儲(chǔ)服務(wù)(三) 操作維護(hù)

操作命令

  • 創(chuàng)建用例
* get
fs = FileSystem.get(conf)
  • 創(chuàng)建目錄
* mkdirs
fs.mkdirs(path)
  • 寫(xiě)入文件
* create
out = fs.create(path)
out.write(bytes)
out.hsync()
IOUtils.closeStream(out)
  • 追加文件
* append
out = fs.append(path)
out.write(bytes)
out.hsync()
IOUtils.closeStream(out)
  • 讀取文件
* open
in = fs.open(path)
reader = new BufferedReader(new InputStreamReader(in))
readerLine = reader.readLine()
IOUtils.closeStream(reader)
IOUtils.closeStream(in)
  • 刪除文件
* delete 
fs.delete(path,false)
  • 刪除目錄
* delete 
fs.delete(path,true)
  • 存儲(chǔ)策略
* 為HDFS上某個(gè)文件或文件夾指定存儲(chǔ)策略。policyName
* <li>HOT 
* <li>WARM 
* <li>COLD 
* <li>LAZY_PERSIST 
* <li>ALL_SSD 
* <li>ONE_SSD 

DistributedFileSystem dfs = (DistributedFileSystem) fs
BlockStoragePolicySpi[] storage = dfs.getStoragePolicies();
dfs.setStoragePolicy(destPath, policyName);

  1. FileSystem:是客戶(hù)端應(yīng)用的核心類(lèi)
get
create
copyFromLocalFile
mkdirs
rename
delete
exists
getFileStatus
getFileBlockLocations
open
create
append

2.FileStatus:記錄文件和目錄的狀態(tài)信息

getModificationTime
getPath

運(yùn)行維護(hù)

  • 內(nèi)存規(guī)劃
    NameNode JVM配置可以根據(jù)文件對(duì)象數(shù)量來(lái)評(píng)估,正常情況下每1千萬(wàn)文件數(shù)量,nn的堆內(nèi)存需要6G,
  • 容量均衡
    1. datanode的balance
    2. disk的balance
    3. 副本放置策略(可用磁盤(pán)剩余空間策略(org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy )
  • 回收機(jī)制
    默認(rèn)1h檢測(cè)一次,默認(rèn)2天清理一次,skiptrash跳過(guò)回收站直接刪除
  • 文件權(quán)限
    默認(rèn)創(chuàng)建文件或文件夾權(quán)限是755
  • 預(yù)留磁盤(pán)
    預(yù)留磁盤(pán)百分比 默認(rèn)10%
  • 常見(jiàn)問(wèn)題
  1. IOException (Too many open files) 句柄數(shù)超過(guò)限制
  2. 當(dāng)執(zhí)行HDFS客戶(hù)端命令時(shí),客戶(hù)端程序異常退出,報(bào)“java.lang.OutOfMemoryError”的錯(cuò)誤,需要修改CLIENT_GC_OPTS修改HDFS客戶(hù)端的內(nèi)存上限
  3. 在JournalNode節(jié)點(diǎn)有斷電,數(shù)據(jù)目錄磁盤(pán)占滿(mǎn),網(wǎng)絡(luò)異常時(shí),會(huì)導(dǎo)致JournalNode上的EditLog不連續(xù)。此時(shí)如果重啟NameNode,很可能會(huì)失敗。需要從其他jn節(jié)點(diǎn)上把EditLog拷貝補(bǔ)齊,然后重啟

配置調(diào)優(yōu)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容