大数据平台/大数据技术与原理-实验报告--实战HDFS

|-----------------|----|-------------------|-----------------------|
| 实验名称 | 实战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集群可以有效地管理大规模数据,并提供可靠的分布式存储和处理服务。 ||||

相关推荐
第二只羽毛1 分钟前
遵守robots协议的友好爬虫
大数据·爬虫·python·算法·网络爬虫
Elastic 中国社区官方博客3 分钟前
使用 A2A 协议和 MCP 在 Elasticsearch 中创建一个 LLM agent 新闻室:第二部分
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
好难取啊4 分钟前
[python学习]案例01:随机验证码与账号密码修改
python
出征5 分钟前
Pnpm的进化进程
前端
秋邱12 分钟前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
安达发公司16 分钟前
安达发|告别手工排产!车间排产软件成为中央厨房的“最强大脑”
大数据·人工智能·aps高级排程·aps排程软件·安达发aps·车间排产软件
屿小夏17 分钟前
openGauss020-openGauss 向量数据库深度解析:从存储到AI的全栈优化
前端
Y***985129 分钟前
【学术会议论文投稿】Spring Boot实战:零基础打造你的Web应用新纪元
前端·spring boot·后端
2501_9411444230 分钟前
Python + C++ 异构微服务设计与优化
c++·python·微服务
M***Z21030 分钟前
如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
windows·node.js