云计算 - 2 - HDFS文件系统的基本操作
- 目标
- 1、使用命令行操作 HDFS 文件系统
- 2、使用 java-api 操作 hdfs 文件系统
- 遇到的问题
目标
1、HDFS 文件系统命令行操作,包括加入、修改、更新和删除 HDFS 文件系统中的文件。
2、利用 Java 开发 HDFS 文件系统应用程序,使用 HDFS Java API 接口读写 HDFS 文件系统中的文件。
1、使用命令行操作 HDFS 文件系统
1.1 查看根文件夹 hadoop fs -ls /
1.2 查看容量hadoop fs -df hdfs:/
1.3 统计文件夹文件夹、文件和字节大小 hadoop fs -count hdfs:/
1.4 查看根文件夹内容 hadoop fsck - /
1.5 集群平衡 hadoop balancer
1.6 建立新文件、新文件夹
创建新文件夹并查看:hadoop fs -mkdir /XXXX
创建新文件:
查看新文件:
1.7 查看文件的内存占用 hadoop fs -du -s -h
文件名
1.8 删除文件 hadoop fs -rm
文件路径
首先可以看到,test文件是存在的。
删除后再查看已不存在。
1.9 删除文件夹/文件 hadoop fs -rm -r
文件路径
由下可以看出,创建的test文件夹被成功删除
1.10 清空回收站hadoop fs -expunge
**1.11 从本地拷贝文件至文件系统 **
第一种:hadoop fs -copyFromLocal 文件名 目标路径
第二种:hadoop fs -put 文件名 目标路径
1.12 从命令行查看文件,能在命令行看到文件内容 Hadoop fs -cat 目标文件
1.13 从文件/文件夹系统拷贝到本地
第一种:hadoop fs -copyToLocal 目标文件/文件夹 目标路径
(不写路径则拷贝到当前路径下)
第二种:hadoop fs -get 目标文件/文件夹 目标路径
(不写路径则拷贝到当前路径下)
1.14 文件系统内部拷贝 Hadoop fs -ls -cp 目标文件/文件夹 目标路径
1.15 修改文件权限
1.16 移动文件/文件夹 hadoop fs -mv 目标文件/文件夹 目标路径
1.17 关闭安全模式
2、使用 java-api 操作 hdfs 文件系统
2.1 新建一个文件,这里命名为 test222.txt
2.2 将文件传入 hadoop 文件系统
2.3 搜索并进行复制
2.4 检测输出结果,符合预期
遇到的问题
1.刚开始进行实验时,发现hadoop启动不了,进入子节点,查看启动日志,发现是因为子节点连接不上NmaeNode,如下图:
网上查询了很久,最后发现是忘记关闭各个节点的防火墙,再使用systemctl stop firewalld关闭各个节点防火墙后,成功启动。
2.在间隔了一小段时间再做实验时,发现启动hadoop时ssh连接不通,如下图所示:
后来经查询得知,虚拟机的IP地址是随即分配的,我重新查询了以下IP地址,发现和上一次实验一中设置的IP地址已经不同,故我重新设置了/etc/hosts中各节点的IP地址,随后成功启动Hadoop。