不適用低延遲高吞吐 1. 比如毫秒級 2. 低延遲和高吞吐率 - 不適用存儲小文件小文件 1. 占用namenode大量內存 2. 尋道時間超過存儲時間 3. namenode的block塊有限制 - 不能并發寫入,隨機修改 1. 一次寫入,多次讀取,一個文件只能有一個寫者 2. 僅支持append
基于Shell
文件命令操作bin/hdfs dfs -mkdir /homebin/hdfs dfs -ls /bin/hdfs dfs -put localfile /home管理命令bin/hdfs dfsadmin bin/hdfs fsck examplefile -files -locations -blocks均衡器balancebin/start-balancer.sh -threshold < percentage of disk capacity設置目錄配額bin/hadoop dfsadmin -setSpaceQuota 1t /home/hadoop增加或移除節點 增加節點 將已存在的datanode安裝包(包括配置文件)拷貝到新datanode上啟動新datanode sbin/hadoop-deamon.sh start datanode 刪除節點將datanode加入黑名單,并更新黑名單移除datanode bin/hadoop dfsadmin -refreshNodes基于javaApi
將本地文件拷貝到hdfs上Configuration conf = new Configuration();FileSystem fs = FileSystem.get(conf);Path srcPath = new Path(srcFile);Path dstPath = new Path(dstFile);fs.copyFromLocalFile(srcPath,dstPath);創建hdfs文件Configruation conf = new Configuration();FileSystem fs = FileSystem.get(conf);Path path = new Path(fileName);FSFileDataOutputStream outputstream = hdfs.create(path);outputstream.write(buff,0,buff.length);新聞熱點
疑難解答