HDFS的概述
HDFS:Hadoop Distributed File System ,Hadoop分布式文件系统。主要用来解决海量数据的存储问题。
HDFS中的角色
HDFS是主从结构的,有一个主节点和多个从节点,主节点叫NameNode,从节点叫DataNode。
NameNode:是主节点,是大当家。管理元数据,响应客户端的读写请求,配置副本策略,管理HDFS的名称空间。
SecondaryNameNode:相当于一个二当家,分担主节点NameNode的工作量,用于NameNode的冷备份。
DataNode:从节点,相当于小弟。负责存储客户端发来的Block块,响应客户端的读写操作并定期向主节点汇报。
HDFS的特性
HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M。
每一个文件被切分成多个Block块,DataNode负责Block块的存储,每个Block默认会存储3个副本(副本数量也可以通过参数设置dfs.replication),存储在不同的DataNode上。
不适合存储小文件。不适合低延迟数据访问。
4HDFS常用的Shell命令
启动HDFS集群 | start-dfs.sh |
查看HDFS系统根目录 | hdfs dfs -ls / |
创建文件夹 | hdfs dfs -mkdir /a |
级联创建文件夹 | hdfs dfs -mkdir -p /aa/bb/cc |
上传文件 | hdfs dfs -put words.txt /aa |
下载文件 | hdfs dfs -get /aa/words.txt ~/newwords.txt |
…… | 其他命令都类似于linux命令 |