实验名称 | 实战HDFS | ||
实验性质 (必修、选修) | 必修 | 实验类型(验证、设计、创新、综合) | 综合 |
实验课时 | 2 | 实验日期 | 2023.10.23-2023.10.27 |
实验仪器设备以及实验软硬件要求 | 专业实验室(配有centos7.5系统的linux虚拟机三台) | ||
实验目的 | 1. 理解HDFS体系架构。 2. 理解HDFS文件存储原理和数据读写过程。 3. 熟练掌握HDFS Web UI界面的使用。 4. 熟练掌握HDFS Shell常用命令的使用。 5. 熟练掌握HDFS项目开发环境的搭建。 6. 掌握使用HDFS Java API编写HDFS文件操作程序。 | ||
实验内容(实验原理、运用的理论知识、算法、程序、步骤和方法) 1.启动全分布模式Hadoop集群,守护进程包括NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager和JobHistoryServer。 此时使用jps查看各个节点端口的启用情况: 主节点: 从节点: 2.查看HDFS Web界面。 3.练习HDFS Shell文件系统命令和系统管理命令。 查看文件目录: hdfs dfs -ls <路径> 上传文件: hdfs dfs -put <localsrc> <dst> 这个命令可以将本地文件上传到HDFS1。 下载文件: hdfs dfs -get <src> <localdst> 这个命令可以将HDFS的文件下载到本地1。 创建目录: hdfs dfs -mkdir <路径> 这个命令可以在HDFS中创建新的目录1。 删除文件: hdfs dfs -rm <路径> 这个命令可以删除HDFS中的文件1。 查看安全模式状态: hdfs dfsadmin -safemode get 这个命令可以查看HDFS的安全模式状态 以上就是一些基本的HDFS Shell命令,你可以通过这些命令来操作HDFS文件系统。 4.在Hadoop集群主节点上搭建HDFS开发环境Eclipse。 5.使用HDFS Java API编写HDFS文件操作程序,实现上传本地文件到HDFS的功能,采用本地执行和集群执行的两种执行方式测试,观察结果。 6.使用HDFS Java API编写HDFS文件操作程序,实现查看上传文件在HDFS集群中位置的功能,采用本地执行和集群执行的两种执行方式测试,观察结果。 单击Eclipse工具栏中的Run按钮,直接运行UploadFile,执行结果如图2-32所示。从图2-32中可以看出,在/root/eclipse-workspace/HDFSExample目录下增加一个“file1.txt”文件,本地文件系统发生的变化如图2-33所示,file1.txt没有上传到HDFS上,使用命令“hadoop fs -ls /”查看不到file1.txt。 此时进行传送到hadoop的集群上进行处理: 此时登录webUI界面: 此时可以看到的是file1.txt文件已经上传上去了 7. 关闭全分布模式Hadoop集群。 关闭全分布模式Hadoop集群的命令与启动命令次序相反,只需在主节点master上依次执行以下3条命令即可关闭Hadoop。 mr-jobhistory-daemon.sh stop historyserver stop-yarn.sh stop-dfs.sh 执行mr-jobhistory-daemon.sh stop historyserver时,其*historyserver.pid文件消失;执行stop-yarn.sh时,*resourcemanager.pid和*nodemanager.pid文件依次消失;stop-dfs.sh,*namenode.pid、*datanode.pid、*secondarynamenode.pid文件依次消失。 | |||
实验结果与分析 通过本次实验,我们深入理解了HDFS的体系架构、文件存储原理以及数据读写过程。通过练习HDFS Shell命令,掌握了基本的文件系统和系统管理操作。同时,在搭建HDFS开发环境和使用Java API编写HDFS文件操作程序的过程中,提高了对HDFS项目开发的实际应用能力。实验结果表明,在正确配置和操作的情况下,Hadoop集群可以有效地管理大规模数据,并提供可靠的分布式存储和处理服务。 |