HDFS怎么操作
这篇文章主要介绍了HDFS怎么操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
①必须要知道的
盗来的图:HDFS架构体系
1、Client
在咱们这就是Linux命令或者Java代码。
2、NameNode
整个HDFS集群只有一个NameNode,它存储整个集群文件分别的元数据信息。这些信息以fsimage和editlog两个文件存储在本地磁 盘,Client通过这些元数据信息可以找到相应的文件。此外,NameNode还负责监控DataNode的健康情况,一旦发现DataNode异常, 就将其踢出,并拷贝其上数据至其它DataNode。虽然Client是与NameNode通信,但是最终操作文件还是连接Datenode
3、Secondary NameNode
Secondary NameNode负责定期合并NameNode的fsimage和editlog。这里特别注意,它不是NameNode的热备,所以NameNode依 然是Single Point of Failure。它存在的主要目的是为了分担一部分NameNode的工作(特别是消耗内存的工作,因为内存资源对NameNode来说非常珍贵)。
4、DataNode
DataNode负责数据的实际存储。当一个文件上传至HDFS集群时,它以Block为基本单位分布在各个DataNode中,同时,为了保证数据的可靠性,每个Block会同时写入多个DataNode中(默认为3,咱们搞成了2)。DataNode通过心跳向node汇报自己的状态,同时拿到namedode指派下来的command执行。
5、Block
默认64M一块,一块存三分,童叟无欺。
②Linux操作HDFS
HDFS 命令基本就是 Linux命令前面加上 "Hadoop fs -",官方文档入口。
下面是具有代表性的命令:
hadoop dfsadmin -safemode leave //退出安全模式,不然无法put
hadoop fs -mkdir /user/kitten //建文件夹,创建HDFS的用户
hadoop fs -chown kitten /user/kitten //更改文件夹的所有权
hadoop fs -ls /user //罗列文件
hadoop fs -lsr /user //递归罗列文件
hadoop fs -put test.txt /user/kitten //从Linux复制到HDFS
hadoop fs -get /user/kitten /test.txt //从HDFS取到Linux
hadoop fs -cat /user/kitten/test.txt //建文件
hadoop fs -tail /user/kitten/test.txt //查看最后1000字节
hadoop fs -rm /user/kitten/test.txt //删除
hadoop fs -help ls //国际惯例,查看ls命令的帮助文档
感谢你能够认真阅读完这篇文章,希望小编分享的"HDFS怎么操作"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!