hdfs命令
HDFS是一个分布式文件旨在运行在大规模集群上。它的设计目标是存储超大规模数据集并提供高吞吐量的数据访问。HDFS将文件划分为多个数据块并将这些数据块分布存储在集群中的多个节点上以实现数据的并行处理和高可靠性。HDFS的架构包含组件NameNode负责管理文件系统的命名空间、存储文件的元数据信息并协调数据块的存储和访问。DataNode存储实际的数据块并向NameNode报告数据块的存储信息。Secondary NameNode定期合并和持久化NameNode的编辑日志以便在NameNode故障时恢复文件系统。客户端与HDFS交互的应用程序可以读取、写入和删除文件。HDFS命令选项的说明-ls列出指定路径下的文件和目录。-mkdir创建一个新的目录。-put将本地文件或目录上传到HDFS。-get从HDFS下载文件或目录到本地文件系统。-rm删除HDFS中的文件或目录。-mv移动文件或目录。-cat显示文件的内容。-chmod更改文件或目录的权限。-chown更改文件或目录的所有者。-chgrp更改文件或目录的所属组。-du计算文件或目录的大小。-copyFromLocal从本地文件系统复制文件到HDFS。-copyToLocal从HDFS复制文件到本地文件系统。-getmerge将HDFS中的多个文件合并为一个本地文件。-tail显示文件的末尾内容。-text以文本格式显示文件的内容。-count统计文件和目录的数量。-setrep设置文件的副本数。-touchz在HDFS上创建一个空文件。-test检查文件或目录的存在性。1. 列出指定路径下的文件和目录[rootmaster hadoop-3.3.2]# hdfs dfs -ls /2、创建新的目录[rootmaster hadoop-3.3.2]# hdfs dfs -mkdir -p /usr/hadoop/local3、本地文件上传HDFS[rootmaster hadoop-3.3.2]# hdfs dfs -put README.txt /usr/hadoop/local4、从 HDFS 下载文件或目录到本地文件系统[rootmaster ~]# hdfs dfs -get /usr/hadoop/local/README.txt .5. 删除 HDFS 中的文件或目录。hdfs dfs -rm /user/hadoop/file.txt[rootslaveone ~]# hdfs dfs -cat /usr/hadoop/local/README.txt //显示文件内容 [rootslaveone ~]# hdfs dfs -du /usr/hadoop/local/README.txt //计算文件大小 [rootslaveone ~]# hdfs dfs -text /usr/hadoop/local/README.txt // 文本展示文件内容 [rootslaveone ~]# hdfs dfs -count /usr/hadoop/local //统计 /user/hadoop/local 目录下的文件和目录的数量6、hadoop fs -test -e 是要检查的HDFS文件的路径。如果文件存在命令返回0如果文件不存在命令返回非0值hadoop fs -test -e /user/hadoop/myfile.txt if [ $? -eq 0 ]; then echo 文件存在 # 执行相应操作... else echo 文件不存在 # 执行其他操作或跳过处理... fi