hdfs的java操作实验报告 常用的hdfs操作实验报告 | 您所在的位置:网站首页 › 常用的hdfs操作实验报告有哪些类型 › hdfs的java操作实验报告 常用的hdfs操作实验报告 |
HDFS 的使用和管理 实验环境 Linux Ubuntu 16.04 实验内容 前提条件: 1)Hadoop 3.0.0 的单点部署完成 2)Java 运行环境部署完成 上述前提条件,我们已经为你准备就绪了。 1. 启动hadoop的hdfs相关进程 cd /apps/hadoop/sbin/ ./start-dfs.sh2. 用jps查看HDFS是否启动 jps显示信息如下 705 SecondaryNameNode 853 Jps 519 DataNode 409 NameNode我们可以看到相关进程,都已经启动。 3. 验证HDFS运行状态 先在HDFS上创建一个目录, 看是否能够成功 ```bash hadoop fs -mkdir /myhadoop1如果成功,查询hdfs文件系统根目录,将看到 /myhadoop1 目录。hadoop fs -ls /4. ls 命令 列出hdfs文件系统根目录下的目录和文件。 hadoop fs -ls列出hdfs文件系统所有的目录和文件。 hadoop fs -ls -R /5. put 命令 1)拷贝文件: hadoop fs -put < local file > < hdfs file >其中< hdfs file >的父目录一定要存在,否则命令不会执行, 比如: hadoop fs -put /apps/hadoop/README.txt / 2)拷贝目录: hadoop fs -put < local dir > < hdfs dir >其中< hdfs dir >的父目录一定要存在,否则命令不会执行, 比如: hadoop fs -put /apps/hadoop/logs / 3)查询是否拷贝成功: hadoop fs -ls / 如果拷贝文件和目录成功,你将会看到 /logs 和 /REAME.txt 6. moveFromLocal 命令 1)拷贝文件或目录: hadoop fs -moveFromLocal < local src > < hdfs dst >与put相类似,命令执行后源文件 local src 被删除 hadoop fs -moveFromLocal /apps/hadoop/NOTICE.txt /myhadoop1 hadoop fs -moveFromLocal /apps/hadoop/logs /myhadoop12)查询是否拷贝成功: hadoop fs -ls /myhadoop1如果拷贝文件和目录成功,你将会看到 /logs 和 /NOTICE.txt 7. get 命令 1)拷贝文件或目录到本地: hadoop fs -get < hdfs file or dir > < local file or dir>local file不能和 hdfs file名字不能相同,否则会提示文件已存在,没有重名的文件会复制到本地 hadoop fs -get /myhadoop1/NOTICE.txt /apps/hadoop/ hadoop fs -get /myhadoop1/logs /apps/hadoop/拷贝多个文件或目录到本地时,本地要为文件夹路径 注意:如果用户不是root, local 路径要为用户文件夹下的路径,否则会出现权限问题 2)查询是否拷贝得到本地成功: cd /apps/hadoop ls -l如果拷贝文件和目录成功,你将会看到 logs 和 NOTICE.txt 8. rm 命令 1)删除一个或多个文件 hadoop fs -rm < hdfs file > …hadoop fs -rm /README.txt 2)删除一个或多个目录 hadoop fs -rm -r < hdfs dir > …hadoop fs -rm -r /logs3)查询是否删除成功 hadoop fs -ls /如果删除文件和目录成功,你将不会看到 /logs 和 /NOTICE.txt 9. mkdir 命令 1)创建一个新目录: hadoop fs -mkdir < hdfs path >只能一级一级的建目录,父目录不存在则这个命令会报错 hadoop fs -mkdir -p < hdfs dir > …所创建的目录如果父目录不存在就创建该父目录 hadoop fs -mkdir /myhadoop1/test hadoop fs -mkdir -p /myhadoop2/test2)查询目录: hadoop fs -ls / hadoop fs -ls /myhadoop1 hadoop fs -ls /myhadoop2如果创建目录成功,你将不会看到 /myhadoop1/test 和 /myhadoop2/test 10. cp 命令 完成HDFS 上文件或目录的拷贝 hadoop fs -cp < hdfs file > < hdfs file >目标文件不能存在,否则命令不能执行,相当于给文件重命名并保存,源文件还存在 hadoop fs -cp < hdfs file or dir >… < hdfs dir >目标文件夹要存在,否则命令不能执行 1)拷贝一个本地文件到 HDFS 的根目录下 hadoop fs -put /apps/hadoop/LICENSE.txt /成功后,即可以查询到此文件 hadoop fs -ls /2)然后将此文件拷贝到 /myhadoop1 下 hadoop fs -cp /LICENSE.txt /myhadoop13)查询 /myhadoop1 目录 hadoop fs -ls /myhadoop1如果拷贝成功,你将会看到 LICENSE.txt 文件 11. mv 命令 完成HDFS 上文件或目录的移动 hadoop fs -mv < hdfs file > < hdfs file >目标文件不能存在,否则命令不能执行,相当于给文件重命名并保存,源文件不存在 hadoop fs -mv < hdfs file or dir >… < hdfs dir >源路径有多个时,目标路径必须为目录,且必须存在 注意:跨文件系统的移动(local到hdfs或者反过来)都是不允许的 1)移动一个 HDFS 文件 hadoop fs -mv /myhadoop1/LICENSE.txt /myhadoop22)查询 /myhadoop2 目录 hadoop fs -ls /myhadoop2如果拷贝成功,你将会看到 /myhadoop2/LICENSE.txt 文件 12. count 命令 统计hdfs对应路径下的目录个数,文件个数,文件总计大小 hadoop fs -count < hdfs path >hadoop fs -count /myhadoop1/logs显示为目录个数,文件个数,文件总计大小,输入路径, 如下: 1 8 128199 /myhadoop1/logs 13. du 命令 hadoop fs -du < hdsf path>显示hdfs对应路径下每个文件夹和文件的大小 hadoop fs -du -s < hdsf path>显示hdfs对应路径下所有文件和的大小 hadoop fs -du -h < hdsf path>显示hdfs对应路径下每个文件夹和文件的大小,文件的大小用方便阅读的形式表示,例如用64M代替67108864 hadoop fs -du /myhadoop2 hadoop fs -du -s /myhadoop2 hadoop fs -du -h /myhadoop214. setrep 命令 hadoop fs -setrep -R 3 < hdfs path >改变一个文件在hdfs中的副本个数,上述命令中数字3为所设置的副本个数 -R选项可以对一个人目录下的所有目录+文件递归执行改变副本个数的操作 hadoop fs -setrep -R 3 /myhadoop115. stat 命令 hdoop fs -stat [format] < hdfs path >返回对应路径的状态信息 [format]可选参数有: %b(文件大小) %o(Block大小) %n(文件名) %r(副本个数) %y(最后一次修改日期和时间) hadoop fs -stat %b /myhadoop2/LICENSE.txt显示为文件大小, 如下: 14706616. balancer 命令 hdfs balancer如果管理员发现某些DataNode保存数据过多,某些DataNode保存数据相对较少,可以使用上述命令手动启动内部的均衡过程 hadoop balancer17. dfsadmin 命令 hdfs dfsadmin -help管理员可以通过dfsadmin管理HDFS,用法可以通过上述命令查看 hdfs dfsadmin -help hdfs dfsadmin -report显示文件系统的基本数据 hdfs dfsadmin -report hdfs dfsadmin -safemode < enter | leave | get | wait >enter:进入安全模式; leave:离开安全模式; get:获知是否开启安全模式; wait:等待离开安全模式 hdfs dfsadmin -safemode enter
|
CopyRight 2018-2019 实验室设备网 版权所有 |