清华主页 - 清华新闻 - 综合时讯 - 正文

在Hadoop中创建、修改、查看、删除文件夹和文件

一、实验目的。

熟练掌握常用的hadoop shell命令。

二、实验内容 。

 。

1.学习打开和关闭Hadoop。

2.学习在Hadoop中创建、修改、查看和删除文件夹和文件。

3.学会改变文件的权限和所有者。

4.学会使用shell命令提交job任务。

5.进出Hadoop安全模式。

三、实验原理或流程。

调用文件系统(FS)使用Shell命令 hadoop fs 的形式。 所有FS Shell命令使用URI路径作为参数。URI格式为schemeee://authority/path。HDFS文件系统,scheme是hdfs,本地文件系统,scheme是file。scheme和authority参数都是可选的,如果没有指定󿀌配置中指定的默认scheme将被使用。HDFS文件或目录,例如//parent/child可以表示hdfs://namenode:namenodeport/parent/child,或更简单/或更简单/parent/child(假设您配置文件中的默认值是namenode:namenodeport)。大多数FS Shell命令的行为和相应的Unix Shell命令类似于#xff0c;错误信息输出到stder,将其他信息输出到stdout。

四、实验过程及源代码。

1.打开终端模拟器󿀌切换到/apps/hadoop/sbin目录,启动Hadoop。

。2.实施jps󿀌检查Hadoop相关流程是否启动。

3.在/目录下创建test1文件夹。

hadoop fs -mkdir /test1  。

  1. 在Hadoptest1文件夹中创建file.txt文件。

hadoop fs -touchz //////////////////////////file.txt 。 。

  1. 查看根目录下的所有文件。

hadoop fs -ls /  。

  1. 也可以使用ls -将R的方式递归查看根下所有文件。

hadoop fs -ls -R /  。

  1. 将Hadoop根据test1目录中的file.txt文件,移动到根部并重命名为file2.tx。t。

hadoop fs -mv //////////////////////////file.txt /file2.txt  。

Hadoop中的mv用法与Linux中的mv用法相同c;移动文件和重命名都可以发挥作用。

  1. Hadoop根下的file2.将txt文件复制到test1目录下。

hadoop fs -cp /file2.txt /test1 。

  1. #xff0在Linux本地/data目录中c;创建data.txt文件༌并将hellolo写入其中 hadoop。

cd /data  。

touch data.txt  。

echo hello hadoop! >> data.txt  。

  1. 将Linux本地/data目录下的data.txt文件,/test1目录下上传到HDFS。hadoop fs -put /data/data.txt /test1  。
  2. 查看Hadoop/test1目录下的data.txt文件。 。

hadoop fs -cat //////////////////////////data.txt  。

  1. 此外,tail方法也可以使用。

hadoop fs -tail //////////////////////////data.txt  。

tail方法是输出文件尾部1K字节的内容。支持-f选项󰀌行为与Unix一致。

  1. 查看Hadoop/test1目录下的data.txt文件大小。

hadoop fs -du -s //////////////////////////data.txt  。

-du 以后可以不加-s,直接写目录,查看目录下的所有文件大小。

  1. text方法可以将源文件输出到文本格式。允许的格式是zip和textrecordinputstream。

 。hadoop fs -text //////////////////////////data.txt。

  1. stat方法可以返回指定路径的统计信息,多个参数可供选择,使用stat选项但不指定format时�只打印文件创建日期,相当于%y。

hadoop fs -stat //////////////////////////data.txt。

以下是format形式:

%b:打印文件大小󿂀0)目录;

%n:打印文件名称。

%o:打印block size (我们想要的值)

%r:打印备份数。

%y:打印UTC日期 yyyy-MM-dd HH:mm:ss。

%Y:UTC微秒数自1970年1月1日起打印。

%F:directory打印在目录中, 打印regular file。

  1. datata在Hadoop/test1目录中.txt文件,下载到Linux本地/aps目录。hadoop fs -get //////////////////////////data.txt /apps  。
  2. 检查datata是否存在于/aps目录中.txt文件。

ls /apps  。

18.。使用chown方法,在Hadoop/test1目录中改变data.root,在目录结构下,使用-R将变更递归。  。

hadoop fs -chown root //////////////////////////data.txt 。

19.。使用chmod方法,在Hadoop/test1目录中赋予data.txt文件777权限。

hadoop fs -chmod 777 //////////////////////////data.txt。

  1. 删除Hadoop根下的file2.txt文件。

hadoop fs -rm /file2.txt 。

  1. 删除Hadoop根下的test1目录。

hadoop fs -rm -r /test1。

  1. 回收站功能在Hadoop中设置时,删除的文件将保留在回收站,expunge方法可用于清空回收站。

hadoop fs -expunge  。

当分布式文件系统启动时,一开始会有安全模式,当分布式文件系统处于安全模式时,不允许修改或删除文件系统中的内容,直到安全模式结束。安全模式主要是在系统启动时检查每个Datanode上数据块的有效性,同时,根据必要的策略复制或删除一些数据块。安全模式也可以通过命令进入运行期。在实践过程中,当系统启动时,修改和删除文件也会有不允许修改的安全模式错误提示,等一会儿就行了。

  1. 使用Shell命令执行Hadoop自带的WordCount。

首先切换到/data目录,使用vim编辑data.txt文件,内容为:hello world hello hadoop hello ipieuvre。

cd /data  。

vim data.txt  。

在HDFS的根下创建in目录,并将/data下的data.将txt文件上传到HDFS中的in目录。

hadoop fs -put /data/data.txt /。in。

执行hadop jar命令,hadoop/apps/hadoop/share/hadoophadopop在mapreduce路径下存在-mapreduce-examples-2.6.0-cdh5.4.5.jar包,我们执行worldcount类,HDFS/in目录࿰的数据源c;将数据输出到HDFS/out目录。hadoop jar /apps/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.4.5.jar wordcount /。hadoop jar /apps/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.4.5.jar wordcount /。in。

 /out  。

查看HDFS中的/out目录。

hadoop fs -ls /out 。 。

  1. hadoop fs -cat /out/* 。

进入Hadop安全模式。

  1. hdfs dfsadmin -safemode enter  。

退出Hadop安全模式。

  1. hdfs dfsadmin -safemode leave  。

切换到/apps/hadoop/sbin目录,关闭Hadoop。cd /apps/hadoop/sbin  。

./stop-all.sh。

五、实验结论及经验。

通过完成本实验󿀌我熟练掌握了常用的Hadoopp Shell命令,并对Hadop的基本操作有了更深入的了解。

在这个实验中,我学会了如何打开和关闭Hadoop集群。使用适当的命令,我可以启动和停止Hadoop服务,确保集群正常运行。

我还学会了如何在Hadoop中创建、修改、查看和删除文件夹和文件。使用命令界面,我可以轻松创建新的文件夹和文件,并对其进行必要的修改和删除。

另外,我知道如何改变文件的权限和所有者。使用适当的命令,我可以为文件设置不同的权限,控制文件的访问级别。我还学会了如何更改文件的所有者,确保适当的文件管理和访问控制。

在这个实验过程中,我还学会了如何使用Shell命令提交Hadoop作业任务。这样我就可以把作业提交给Hadoop集群,并跟踪操作的执行情况。通过这种方式,对我的工作进行有效的管理和监控。

最后,我了解了Hadoop的安全模式,并学会了如何进出安全模式。这对于确保集群的安全性和稳定性非常重要c;因为安全模式可以防止文件系统的意外修改。

总的来说,�通过这个实验我不仅熟悉常用的Hadoopp Shell命令,还获得了Hadoop集群管理的实践经验。这将对我未来的工作和学习中的大数据处理任务非常有帮助。

2025-06-24 12:12:03

相关新闻

清华大学新闻中心版权所有,清华大学新闻网编辑部维护,电子信箱: news@tsinghua.edu.cn
Copyright 2001-2020 news.tsinghua.edu.cn. All rights reserved.