南大科院大数据Hadoop工程实训
科学技术学院
SCIENCE & TECHNOLOGY COLLEGE OF
NANCHANG UNIVERSITY
《工 程 训 练》报 告
REPORT ON ENGINEERING TRAINING
题 目大数据hadoop开发工程实训
学科部、系: 信息学科部计算机系
专业班级:计算机172
学 号:7020817074
学生姓名: 温鑫
指导教师: 邓伦丹 熊婷 刘伟华
起讫日期:2019年12月16日——20日
大数据hadoop开发工程实训报告
实验名称:
大数据hadoop开发工程实训
实验目的:
本次工程训练通过Linux、HDFS环境配置的学习,掌握Java程序控制HDFS增删改查的基本设计方法;综合应用Linux命令行、hadoop开源软件、JAVA应用程序的开发训练。
实验需要的设备、工作环境:
一台目前实验室使用的计算机,要安装以下软件:
(1) 中文版Windows XP或以上系统;
(2) JDK 1.6 或以上版本;
(3) 任一Java编程工具,如Eclipse idea等;
(4) 虚拟机VMware Workstation 9以上,配置有系统CentOS。
实验内容:
- 使用Linux命令行实现对CentOS的操作。
- 实现 HDFS 客户端的操作。
实验步骤和操作(源程序):
(1)初始化连接代码:
/*
* 初始化 hadoop hdfs 配置信息
* */
@Before
public void init() {
try {
URI uri = new URI("hdfs:192.168.75.129:9000");
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.75.129:9000");
conf.set("dfs.replication", "1");
fs = FileSystem.get(uri, conf, "root");
} catch (Exception e) {
e.printStackTrace();
}
}
(2)在HDFS分布式集群创建目录的代码:
/** 创建一个文件夹到 hdfs:192.168.75.129:9000* */@Testpublic void mkdir() {try {Path path = new Path("/IDEAtest/");fs.mkdirs(path);System.out.println("创建成功");} catch (Exception e) {e.printStackTrace();System.out.println("创建失败");}}
(3)本地上传文件到HDFS目录的代码:
/**上传文件到 hdfs:192.168.75.129:9000*/@Testpublic void upload() {try {Path src = new Path("G:\\hadoop\\happy.txt");Path dst = new Path("/test/hapyy.rar");fs.copyFromLocalFile(src, dst);System.out.println("上传成功");} catch (IOException e) {e.printStackTrace();System.out.println("上传失败");}}
(4)从分布式系统下载文件到本地的代码:
/**从 hdfs:192.168.137.128:9000 hadoop分布式文件系统 * 下载文件到本地 * */@Testpublic void down() {try {Path src = new Path("/eclipse/shenxian.txt");Path dst = new Path("C:\\Users\\温鑫\\Desktop\\day1220.rar");fs.copyToLocalFile(false, src, dst, true);System.out.println("下载成功");} catch (IOException e) {e.printStackTrace();System.out.println("下载失败");}}
(5)删除分布式系统指定目录的代码:
/** hdfs:192.168.75.129:9000 hadoop分布式文件系统 * 执行删除文件或者文件夹 * */@Testpublic void delet() {try {Path src = new Path("/joker/");fs.delete(src, true);System.out.println("删除成功");} catch (IOException e) {e.printStackTrace();System.out.println("删除失败");}}
(6)遍历HDFS分布式集群指定路径下所有目录的代码:
/*hdfs:192.168.75.129:9000 hadoop分布式文件系统 * 遍历 文件 或者文件夹 * */@Testpublic void list() {try {Path src = new Path("/IDEA/hadoop");RemoteIterator<LocatedFileStatus> list =fs.listLocatedStatus(src);System.out.println("该路径下所有目录及文件遍历如下:");while (list.hasNext()) {LocatedFileStatus lf = list.next();System.out.println(lf.getPath().getName());}} catch (Exception e) {System.out.println("操作失败");e.printStackTrace();}}
实验结果(运行截图):
(1)命令行启动所有集群结点运行截图:
(2)主机访问虚拟机50070端口运行截图:
(4)初始化界面运行截图:
(4)在HDFS上创建目录运行截图:
(5)上传文件到HDFS指定路径运行截图:
(5)从HDFS下载指定路径文件到主机运行截图:
(5)删除HDFS指定路径目录运行截图:
(6)遍历HDFS指定路径下目录及文件运行截图:
附录:HdfsUtils类完整源代码
package com.demo;import java.io.IOException;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.LocatedFileStatus;import org.apache.hadoop.fs.Path;import org.apache.hadoop.fs.RemoteIterator;import org.junit.Before;import org.junit.Test;public class HdfsUtils {/*Java 操作 hadoop 文件系统 * FileSystem 客户端类 * */FileSystem fs = null;/** 初始化 hadoop hdfs 配置信息 * */@Beforepublic void init() {try {URI uri = new URI("hdfs:192.168.75.129:9000");Configuration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://192.168.75.129:9000");conf.set("dfs.replication", "1");fs = FileSystem.get(uri, conf, "root");} catch (Exception e) {e.printStackTrace();}}/** 创建一个文件夹到 hdfs:192.168.75.129:9000* */@Testpublic void mkdir() {try {Path path = new Path("/IDEAtest/");fs.mkdirs(path);System.out.println("创建成功");} catch (Exception e) {e.printStackTrace();System.out.println("创建失败");}}/**上传文件到 hdfs:192.168.75.129:9000*/@Testpublic void upload() {try {Path src = new Path("G:\\hadoop\\happy.txt");Path dst = new Path("/test/hapyy.rar");fs.copyFromLocalFile(src, dst);System.out.println("上传成功");} catch (IOException e) {e.printStackTrace();System.out.println("上传失败");}}/**从 hdfs:192.168.137.128:9000 hadoop分布式文件系统 * 下载文件到本地 * */@Testpublic void down() {try {Path src = new Path("/eclipse/shenxian.txt");Path dst = new Path("C:\\Users\\温鑫\\Desktop\\day1220.rar");fs.copyToLocalFile(false, src, dst, true);System.out.println("下载成功");} catch (IOException e) {e.printStackTrace();System.out.println("下载失败");}}/** hdfs:192.168.75.129:9000 hadoop分布式文件系统 * 执行删除文件或者文件夹 * */@Testpublic void delet() {try {Path src = new Path("/joker/");fs.delete(src, true);System.out.println("删除成功");} catch (IOException e) {e.printStackTrace();System.out.println("删除失败");}}/*hdfs:192.168.75.129:9000 hadoop分布式文件系统 * 遍历 文件 或者文件夹 * */@Testpublic void list() {try {Path src = new Path("/IDEA/hadoop");RemoteIterator<LocatedFileStatus> list =fs.listLocatedStatus(src);System.out.println("该路径下所有目录及文件遍历如下:");while (list.hasNext()) {LocatedFileStatus lf = list.next();System.out.println(lf.getPath().getName());}} catch (Exception e) {System.out.println("操作失败");e.printStackTrace();}}}
实验总结与建议(必须手写,200字以上):
工程训练成绩评定表
专业: 计算机科学与技术 班级: 计算机172 学号: 7020817074 姓名: 温鑫
指导教师评语 |
建议成绩: 指导教师: 年 月 日 |
教研组评定意见 |
评定成绩: 负责人: 年 月 日 |
南大科院大数据Hadoop工程实训相关推荐
- 【南大科院】高级网络服务工程训练
密级: 科学技术学院 NANCHANG UNIVERSITY COLLEGE OF SCIENCE AND TECHNOLOGY 计算机系工程训练报告 <高级网络服务工程训练> (2019 ...
- 在线大数据 / AI竞赛实训平台深度技术解析 | 文末抽奖
点击"蓝字"关注我们 文末抽奖!留言区留下你的学习心得或疑问,点赞数前3名的粉丝,炫酷奖品等你拿! 12月24日晚,智领云第五次社群图文技术直播如约而至.本次直播由智领云云平台部 ...
- 大数据项目开发实训报告
大数据项目开发实训 一.总体设计 爬取招聘网站前程无忧: ...
- 【光电工程实训】几何光学 小孔成像 光的反射 光的折射 透镜成像
实验报告一 实验名称:几何光学实验 课程名称:光电工程实训 一.实验题目和实验目的总览 1.实验题目: (1)小孔成像实验 (2)光的反射实验 (3)光的折射实验 (4)透镜成像实验 2.实验目的: ...
- 【光电工程实训】红外测温枪 红外辐射原理 测量影响因素探究标定
实验报告 实验名称:红外测温枪实验 课程名称:光电工程实训 实验一 红外测温枪装调实践训练 一. 实验目的 1.学习红外测温的原理,了解红外光谱 2. 熟悉了解红外测温枪的组成以及工作原理,能对其进行 ...
- 【光电工程实训】物理光学 干涉及衍射实验 偏振现象 波的衍射理论 光的偏振 方晶石
实验报告二 实验名称:物理光学实验 课程名称:光电工程实训 一.实验题目和实验目的总览 实验题目: 1)干涉及衍射实验现象观察实验 2偏振现象观察实验(偏振与双折射) 实验目的: 1观察单缝衍射现象, ...
- 物联网工程实训——智慧家居开发
物联网工程实训 目标:用嵌入式开发板采集信息,用WiFi传输到云平台. 开发手机App或者微信小程序,实现云平台数据和信息的读取.可以开发Web页面,对采集的数据进行显示. 本组目标:设计并制造一个物 ...
- 【光电工程实训】光通信与光纤通信 电子元器件认知 万用表测量参数 元件特性 激光传声实验 自由空间光通讯 光纤光通信 全反射
实验报告 实验名称:光通信与光纤通信实验 课程名称:光电工程实训 一. 实验题目和实验目的总览 实验题目: (1)实验一:电子元器件认知及万用表测量 (2)实验二:激光传声实验(自由空间光通讯) (3 ...
- 青软集团大数据和人工智能实训室 助力西北工业大学高端软件人才培养
新时代背景下,高校在人才培养的过程中,需要搭建理论与实践并进的桥梁.与产业接轨的渠道.作为国家「一流大学」建设高校,西北工业大学也在积极寻找创新方法.创新模式,力在选拔.培养一批有志于服务国家重大战略 ...
最新文章
- oracle主从关系表查询,Oracle 主从表联合查询解决方法
- App 组件化/模块化之路——如何封装网络请求框架
- linux删除目录所有内容,如何从Linux上的目录中删除所有内容
- 结构型模式之Proxy模式
- knockout的使用
- 【java】动态绑定机制
- 基本图形怎么改字体_PPT做得慢怎么办?掌握这6个技巧,你也能快速做出精美的PPT...
- 数据安全_个人信息查询
- CompTIA IT Fundamentals认证考试的相关信息【2018.06.05更新】
- 程序员如何帮助公司快速上市、获得分红?
- HiTool烧写Hi3536操作记录
- python爬取新浪博客_python爬取韩寒博客的实例
- Web全栈~27.文件和目录的操作
- Mesos+Marathon搭建部署
- Linux is内存管理,【原创】(七)Linux内存管理
- @touchmove.prevent 阻止苹果手机透过modal层触发底层滚动
- Chameleon(变色龙)源码下载编译指南
- lpk.dll usp10.dll 感染病毒专杀工具 lpk usp10
- Masm for Winodws 集成实验环境安装绿色免费版
- C. Discrete Acceleration