1.1 管理文件系统的命名空间操作
打开、关闭、重命名文件活着目录
1.2 记录每个文件数据块在各个Datanode上的位置和副本信息
1.3 协调客户端对文件的访问
类似起到目录的作用
1.4 记录命名空间内的改动或空间本身属性空间本身属性的改动
比如权限
1.5 Namenode使用事物日志记录HDFS元数据的变化
使用映像文件存储文件系统的命名空间,包括文件映射,文件属性等等
2.1 负责所在物理节点的存储管理
2.2 一次写入,多次读取
不需要考虑一致性(一致性:多个人同时修改,到底采用哪个人的修改)
2.3 文件由数据块文件组成
一般数据块大小是64M
3.1 副本策略
3.1.1 复制因子:在hdfs-site.xml设置复制因子的数量,越大越安全,不过越大速度越慢,空间利用率越低
3.1.2 汇报策略:Datanode启动时候,会将数据块和本地文件的对应关系列表汇报给Namenode
3.2 机架感知
一般本机架存放一个副本,其他机架再存放另外一个副本
3.3 心跳机制
Namenode会周期行的从datanode接收心跳信号和块报告,如果与自己记录的信息不一致,那么会采取策略
3.4 安全模式
Namenode启动的时候,会经过一个“安全模式”阶段,在此阶段收集datanode的报告,当数据块达到最小副本数量以上才会启动,否则会复制
3.5 校验和
校验文件使用的
3.6 回收站
当我们删除一个文件时候,不会物理删除,而是放入回收站。这都可以设置时间阀值,当回收站里面的文件超过这个阀值,就会彻底被删除
3.7 元数据保护
元数据包括影像文件和事物日志两部分,他是Hadoop的核心,这个可以配置拥有多少副本。Namenode在一个物理服务器上,还是单点的
3.8 快照
当前尚不支持,已经列入计划
4.1 命令行方式
事例:hadoop fs -ls /user/ticketdev/hive/warehouse/business_mirror.db/
上面的命令等于:hadoop fs -ls hive/warehouse/business_mirror.db/
也可以查看集群的使用情况
[~]$ hadoop dfsadmin -report Configured Capacity: 7071155845193728 (6.28 PB) Present Capacity: 7057854001847953 (6.27 PB) DFS Remaining: 2809033405625391 (2.49 PB) DFS Used: 4248820596222562 (3.77 PB) DFS Used%: 60.20% Under replicated blocks: 0 Blocks with corrupt replicas: 6 Missing blocks: 0
添加新的节点,是否需要重启Namenode?
不需要,启动datanode和tasktracker即可。如果想要立刻将这台服务器加入到集群里面,分担数据压力,也可以启动均衡脚本
4.2 API方式
java提供的api的方式