【实验目的】
1)熟练hdfs shell命令操作
2)理解hdfs shell和linux shell命令
【实验原理】
安装好hadoop环境之后,可以执行hdfs shell命令对hdfs 的空间进行操作。我们通过命令行和HDFS打交道,进一步增加对HDFS的认识,HDFS命令行接口是一种最直接,也比较简单的一种方式。
调用文件系统(FS)Shell命令应使用bin/hadoop fs 的形式。也可以使用其他形式:
hadoop dfs {args}
hdfs dfs {args}
所有的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。HDFS的scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。
【实验环境】
本次环境是:centos6.5 + jdk1.7.0_79 + hadoop2.4.1
工具包在/simple/soft目录下
【实验步骤】
一、hdfs shell命令
1.1 在任意目录下(需要配置hadoop环境变量),执行命令:start-dfs.sh启动hdfs服务。如图1所示
图1
1.2 启动hdfs之后,通过jps查看hdfs服务是否启动,执行命令:jps 。如图2所示
图2
1.3 在任意目录下执行如下命令(配置hadoop环境变量):hdfs dfs -help,查看到所有hdfs shell命令解释。如图3所示
图3
1.4 appendToFile的使用:假如hdfs上已经存在一个文件words.txt,具有一些信息,假如不存在words.txt,先在本地通过touch /simple/words.txt在simple下创建words.txt文件,并通过cd /simple 命令进入simple目录下执行vim words.txt命令进行编译,编译完成通过esc退出编辑状态,再:wq保存退出。然后通过hdfs dfs -put /simple/words.txt /上传到hdfs根目录并通过cat命令进行查看,如图4:
图4
在本地simple文件夹中建立words.txt,把指定的本地文件中(/simple/words.txt)的内容追加到到hdfs系统的words.txt文件。执行命令:`hdfs dfs -appendToFile /simple/words.txt /words.txt `。从下面的命令可以看出,hdfs中的文件words.txt中的内容多一部分。如图5所示
图5
1.5 rmr循环删除hdfs系统中的目录。执行命令:hdfs dfs -rmr /words.txt 可以把hdfs根目录下的words.txt文件删除。如图6所示
图6
1.6 touchz的使用:在hdfs系统指定的目录下创建一个文件。执行命令:hdfs dfs -touchz /newword.txt。如图7所示
图7
1.7 mkdir的使用:在hdfs系统的指定位置创建一个目录,执行命令:hdfs dfs -mkdir -p /aa/bb。如图8所示
图8
1.8 moveFromLocal的使用:把指定的本地的文件移到hdfs系统指定的位置,执行命令:hdfs dfs -moveFromLocal /simple/words.txt /aa 。如图9所示
图9
1.9 chgrp的使用:修改hdfs系统中指定文件或文件夹的用户所属组 ,执行命令:hdfs dfs -chgrp -R root /。如图10所示
图10
1.10 chmod的使用:改变指定目录文件的权限,如果指定R表示递归进行改变所有文件目录和文件的权限.用户必须是文件所有者或超级用户,执行命令:hdfs dfs -chmod -R 777 /。如图11所示
图11
1.11 chown的使用:改变文件的所有者,用户必须是超级用户,执行命令:hdfs dfs -chown -R root:supergroup /。如图12所示
图12