实验环境
Linux Ubuntu 16.04
前提条件:
1)Java 运行环境部署完成
2)Hadoop 的单点部署完成
上述前提条件,我们已经为你准备就绪了。
实验内容
在上述前提条件下,学习HDFS文件权限管理操作。
实验步骤
启动HDFS,在命令行窗口输入下面的命令:
/apps/hadoop/sbin/start-dfs.sh
运行后显示如下,根据日志显示,分别启动了NameNode、DataNode、Secondary NameNode:
dolphin@tools:~$ /apps/hadoop/sbin/start-dfs.sh
Starting namenodes on [localhost]
localhost: Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Starting datanodes
Starting secondary namenodes [tools.hadoop.fs.init]
tools.hadoop.fs.init: Warning: Permanently added 'tools.hadoop.fs.init,172.22.0.2' (ECDSA) to the list of known hosts.
在命令行窗口输入下面的命令:
jps
运行后显示如下,表明NameNode、DataNode、Secondary NameNode已经成功启动
dolphin@tools:~$ jps
484 DataNode
663 SecondaryNameNode
375 NameNode
861 Jps
在命令行窗口输入下面的命令:
hadoop fs -put ./test.txt /
运行后,已经本地的test.txt文件上传到HDFS的根目录下
在命令行窗口输入下面的命令:
hadoop fs -ls /
运行后显示如下
dolphin@tools:~$ hadoop fs -ls /
Found 1 items
-rw-r--r-- 1 dolphin supergroup 306 2019-11-18 16:09 /test.txt
如上,-rw-r–r-- 表示该文件的权限,1代表其大小,dolphin supergroup 代表该文件所属用户和用户组,再后面是该文件最后修改时间和文件名信息。
关于文件的权限说明如下:
若要 rwx 则 4+2+1=7
若要 rw- 则 4+2=6
若要 r-x 则 4+1=5
若要 r-- 则 =4
若要 -wx 则 2+1=3
若要 -w- 则 =2
若要 --x 则 =1
若要 — 则 =0
r表明该文件有可读权限,w代表有可写权限,x代表有可执行权限。如上可以使用4,2,1三个数据的组合相加来表示这些权限。
其中三组rwx分别代表该用户、用户组、其它用户对该文件的权限。
在命令行窗口运行下面的命令,修改文件权限为rwx
hadoop fs -chmod 777 /test.txt
再运行下面的命令,查询文件信息
hadoop fs -ls /
运行后显示如下,表明修改权限成功。
dolphin@tools:~$ hadoop fs -ls /
Found 1 items
-rwxrwxrwx 1 dolphin supergroup 306 2019-11-24 07:55 /test.txt
在命令行窗口运行下面的命令,修改文件用户zeno
hadoop fs -chown zeno /test.txt
再运行下面的命令,查询文件信息
hadoop fs -ls /
运行后显示如下,表明修改所属用户成功。
dolphin@tools:~$ hadoop fs -ls /
Found 1 items
-rwxrwxrwx 1 zeno supergroup 306 2019-11-24 07:55 /test.txt
在命令行窗口运行下面的命令,修改文件用户组为hadoop
hadoop fs -chgrp hadoop /test.txt
再运行下面的命令,查询文件信息
hadoop fs -ls /
运行后显示如下,表明修改所属用户组成功。
dolphin@tools:~$ hadoop fs -ls /
Found 1 items
-rwxrwxrwx 1 zeno hadoop 306 2019-11-24 07:55 /test.txt
在命令行窗口运行下面的命令,修改文件用户为dolphin,用户组为supergroup
hadoop fs -chown dolphin:supergroup /test.txt
再运行下面的命令,查询文件信息
hadoop fs -ls /
运行后显示如下,表明修改所属用户组成功。
dolphin@tools:~$ hadoop fs -ls /
Found 1 items
-rwxrwxrwx 1 dolphin supergroup 306 2019-11-24 07:55 /test.txt
至此,本实验结束啦。开始下一个实验吧。