HDFS:是将客户端的大文件存放在很多节点的数据块中。
NameNode:NameNode的作用是管理文件目录结构,是管理数据节点的。
NameNode维护两套数据,一套是文件目录与数据块之间的关系(数据是静态,放在磁盘上,通过fsimage和edits文件来维护),
另一套是数据块与节点之间的关系(数据是动态,不持久化到磁盘,每当集群启动会自动建立这些信息)
DataNode:DataNode的作用是HDFS中真正存储数据的。
Block:Block本质上是一个逻辑概念,不会真正的存储数据,只是划分文件的。每个Block是64MB
如果不想使用64MB大小,可以在core-site.xml中的dfs.block.size参数覆盖该值(单位字节)
Block划分文件后存放的位置可以在core-default.xml中的dfs.data.dir参数查看,
以"blk_"开头的文件就是存储数据的block,后缀是"meta"的文件就是block的源数据文件,存放一些元数据信息
副本:副本就是备份,目的是为了安全,因为集群环境的不可靠,所有使用副本机制保证数据的安全性。
默认的副本数量为3,在hdfs-default.xml中的dfs.replication参数中设置
SecondaryNameNode:作用是合并NameNode中的edits到fsimage中。
50070端口,查看NameNode状态
50075端口,查看DataNode
50090端口,查看SecondaryNameNode
50030端口,查看JobTracker状态
50060端口,查看TaskTracker
HDFS shell
1.0查看帮助
hadoop fs -help <cmd>
1.1上传(linux路径,hdfs路径)
hadoop fs -put /hadoop/test/demo.txt /test
1.2下载文件(hdfs路径,linux路径)
hadoop fs -get /test/demo.txt /hadoop/test
1.3查看文件列表
hadoop fs -ls /
1.4递归查看目录结构
hadoop fs -lsr /user
1.5查看文件内容
hadoop fs -cat /hbase-env.sh
1.6统计目录下个文件大小(单位字节)
hadoop fs -du /hbase
1.7汇总统计目录下文件大小
hadoop fs -dus /hbase
1.8统计文件夹数量
hadoop fs -count /usr
1.9移动文件(第一个路径是源文件,第二个路径是目的目录)
hadoop fs -mv /user/root/abc /user
1.10复制文件(第一个路径是源文件,第二个路径是目的目录)
hadoop fs -cp /user/abc /user/root
1.11删除文件/空白文件夹(不能删除非空目录)
hadoop fs -rm /user/abc
1.12递归删除(删除指定目录的所有子目录和文件)
hadoop fs -rmr /user
1.13从本地复制(与put上传一样)
hadoop fs -copyFromLocal /hadoop/test/demo.txt /test
1.14从本地移动(linux路径,hdfs路径)
hadoop fs -moveFromLocal /hadoop/test/demo.txt /test
1.15合并到本地(hdfs路径,linux路径)
hadoop fs -getmerge /hbase abc
1.16查看文件内容(与cat一样)
hadoop fs -text /hbase-env.sh
1.17创建空白文件夹
hadoop fs -mkdir /abc
1.18设置副本数量(副本数默认1改为2,多了一个副本,hdfs会自动执行文件的复制工作,产生新的副本)
hadoop fs -setrep 2 /install.log(文件)
hadoop fs -setrep -R 2 /install.log(文件夹需要加个-R)
hadoop fs -setrep -R -w 2 /install.log(加个-w表示等待副本操作结束才退出命令)
1.19创建空白文件
hadoop fs -touchz /emptyfile
1.20显示文件的统计信息(依次表示文件大小,文件名称,块大小,副本数,访问时间)
hadoop fs -stat '%b %n %o %r %Y' /install.log
1.21查看文件尾部内容
hadoop fs -tail /install.log
1.22修改文件权限
hadoop fs -chmod 755 /emptyfile
1.23修改文件属主
hadoop fs -chown root /emptyfile
1.24修改文件属组
hadoop fs -chgrp supergroup /emptyfile