HDFS 分布式文件系统,高容错性,部署到成本低的硬件;
典型的观察者结构,NameNode(1)-----(*)DataNode, NameNode存储元数据,DataNode存小数据,
假设节点失效是常态,任何一个节点挂了,不影响使用(自动的备份,副本);
简单一致的模型,假设一次写-多次读 模式;
流式数据访问;
不支持文件并发写入
不支持文件修改
轻便的访问异构的平台
http://coderplay.iteye.com/blog/1067463
存储小文件、随机读、文件修改
NameNode:存储元数据,元数据存在内存和磁盘,保存文件—block DataNode之间的映射关系;
DataNode:存文件内容,磁盘上,维护block id 到datanode本地文件的映射
SecondaryNameNode:将NameNode的fsimage与edit log从NameNode复制到临时目录 将fsimage同edit log合并并产生新的fsimage 将产生的新的fsimage上传给NameNode 清除NameNode中的edit log
NameNode是单点,SecondaryNameNode可以认为是NameNode的备份,不是热切,可能会丢数据。
数据块,HDFS默认的最基本存储单位,默认64M
好处:抽象的,跟磁盘大小无关,可以存储到多个节点上;
hadoop fs命令
跟linux的类似
ls(显示一层) lsr(递归)
du(显示所有文件及大小) dus(文件夹大小) count(多少个文件、大小)
hadoop fs –help mv 帮助
mv(移动)
cp(复制)
rm(删除) rmr(递归删除)
mkdir(新文件夹)
put(从本地文件复制到hdfs)
get(从hdfs复制到本地)
getmerge(合并目录中到多个文件 到 本地系统)
copyFromLocal(从本地拷贝到hdfs)
movelFromLocal(从本地移动到hdfs)
copyToLocal(从hdfs拷贝到本地)
text(允许压缩包)
cat(输出到控制台)
stat(分析,如修改时间 块大小 复制)
setrep(指定备份几份)
touchz(往文件写一个时间戳 内容是yyyy-MM-dd HH:mm:ss(文件必须零长度))
tail
chmod chowm chgrp
hdfs dfsadmin –report dfs信息
hdfs dfsadmin –savemode enter 进入 leave 离开 get得到当前状态 wait等待结束
hdfs dfsadmin –saveNamespace 保存内存信息到磁盘
hdfs dfsadmin –saveNamespace 保存内存信息到磁盘(必须安全模式)
hdfs dfsadmin –refreshNodes 比如新加节点 重新通信
hdfs dfsadmin –upgradeProgress status 升级信息
hdfs dfsadmin –finalizeUpgrade 停止升级
hdfs dfsadmin –metasave filename 存meta到本地文件
hdfs dfsadmin –setQuota 2 path 最多放几个文件(从现在开始的)
hdfs dfsadmin –clrQuota 2 path 清除
hdfs dfsadmin –setSpaceQuota 2 path (包含当前的)
hdfs dfsadmin –clrSpaceQuota 2 path (包含当前的)
hdfs dfsadmin –setBalancerBandwidth [byte per second] 负载均衡带宽
KFS:差点写成KFC了, c++写的
S3(本地):Amazon S3支持的
S3(基于块):
HAR:
我的博客:http://sishuok.com/forum/blogPost/list/6915.html