不适用低延迟高吞吐 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);新闻热点
疑难解答