继续上周开启telnet的过程,这个过程发现win10上运行不了telnet的命令

原因大概在于没有开启telnet服务,从网上下载好telent服务端,安装后继续尝试是否能在win10上使用hadoop

安装完成后,现在在CMD命令中能够连通telnet

接着开启,eclipse 进入上周的上传过程

hadoop上传实验成功!!!

留下了感动了泪花

以下功能,通过网址:https://blog.csdn.net/HcJsJqJSSM/article/details/83418976的教程参考学习

1.实现删除目录的功能

进入网址中查看是否存在相应的目录

网址中存在相应的目录

测试成功将其封装为一个方法:

2.删除文件功能

测试成功

目标网址中相应目录被删除

将其封装为一个方法:

3.实现上传文件

首先在d盘里面创建一个hadoop.txt的文件,然后在文件里面写上12315的内容,该内容总共5个字节

接着在main里面写上下列的代码

执行程序

执行后,在对应位置能够看到相应的文件

如图:

将其封装为一个方法:

4.实现下载文件

在main中写入下列的函数:

将刚刚上传的hadoop.txt文件下载到d盘的hadoop1.txt中

执行结果:

将其封装为一个方法:

至此,hadoop的在java上基本操作的被封装成一个简单的类了。

其代码如下:

package hadoop;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils; public class HDFSDemo { public final String hd_uri = "hdfs://192.168.57.128:9000";
public final String hd_owner = "hadoop"; public static void main(String[] args) throws IOException, InterruptedException, URISyntaxException { // HDFSDemo down=new HDFSDemo(); }
public void downloadFile(String path,String source) throws IOException, InterruptedException, URISyntaxException
{
// 使用root权限,URI就是之前hadoop配置的路径.9000端口.
FileSystem fs=getFileSystem();
// 实现HDFS内的文件下载至本地
InputStream in=fs.open(new Path(path));
// 下载到本地,保存后的名称是hadoop.txt
OutputStream out=new FileOutputStream(source);
// 按照字节的方式复制.buffersize是4K,写完后返回true.
IOUtils.copyBytes(in, out, 4096, true);
//关闭流
fs.close();
}
public void updateFile(String source,String path) throws IOException, InterruptedException, URISyntaxException
{
// 使用root权限,URI就是之前hadoop配置的路径.9000端口.
FileSystem fs=getFileSystem();
// 实现上传文件,首先是读取本地的文件
InputStream in=new FileInputStream(source);
// 上传文件到HDFS的指定目录下.
OutputStream out=fs.create(new Path(path));
// 按照字节的方式复制.buffersize是4K,写完后返回true
IOUtils.copyBytes(in, out, 4096, true);
// 关闭流
fs.close();
} public boolean deleteFileSystem(String path) throws IOException, InterruptedException, URISyntaxException
{
//删除目录
// 使用root权限,URI就是之前hadoop配置的路径.9000端口.
FileSystem fs=getFileSystem();
// 删除一个文件夹,这里从HDFS的根目录写起的,如果是单个文件就是false,目录下面有目录就true.
@SuppressWarnings("deprecation")
Boolean flag=fs.delete(new Path(path));
// 关闭
fs.close();
return flag;
} public boolean createFileSystem(String path) throws IOException, InterruptedException, URISyntaxException
{
//创建目录
// 使用root权限,URI就是之前hadoop配置的路径.9000端口.
FileSystem fs=getFileSystem();
// 创建一个文件夹,这里从HDFS的根目录写起的.
Boolean flag=fs.mkdirs(new Path(path));
//关闭流
fs.close();
return flag;
} public FileSystem getFileSystem() throws IOException, InterruptedException, URISyntaxException
{
FileSystem fs=FileSystem.get(new URI(hd_uri), new Configuration(),hd_owner);
return fs;
} }

第六周之Hadoop学习(六)的更多相关文章

  1. 20145330第六周《Java学习笔记》

    20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...

  2. 20175215 2018-2019-2 第六周java课程学习总结

    第七章 内部类与异常类 1.内部类 Java支持在一个类中定义另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类 内部类和外嵌类之间重要关系如下 内部类的外嵌类的成员变量在内部类中仍然有 ...

  3. 大二暑假第六周总结--开始学习Hadoop基础(五)

    简单学习数据仓库HIVE HIVE是一个构建于Hadoop顶端的数据仓库工具 支持大规模数据存储,分析,具有良好的可扩展性 某种程度上可以看做是用户编程接口,本身不存储和处理数据 依赖分布式系统HDF ...

  4. 第六周实验总结&学习总结

    一.实验目的 (1)掌握类的继承方法 (2)变量的继承和覆盖,方法的继承,重载和覆盖实现 二.实验内容 源代码 package java2; import java.util.Scanner; cla ...

  5. hadoop学习(六)----HDFS的shell操作

    HDFS所有命令: [uploaduser@rickiyang ~]$ hadoop fs Usage: hadoop fs [generic options] [-appendToFile < ...

  6. 第六周 day6 python学习笔记

    1.Python面向对象编程OOP(Object Oriented Programming) 封装:可以隐藏实现细节,使代码模块化 继承:可以扩展已存在的代码模块,可以使代码实现重用 多态:一种接口, ...

  7. 第五周之Hadoop学习(五)

    在上周已经完成Hadoop的Java编程环境下的配置,这周则是通过对Eclipse的环境编程对Hadoop的API进行简单的调用 参考地址:https://blog.csdn.net/u0105237 ...

  8. 第二周之Hadoop学习(二)

    这篇博客根据http://dblab.xmu.edu.cn/blog/install-hadoop-in-centos/中的教程进行学习: 首先按照教程的操作的第一步的时候,电脑直接蓝屏了. 但是依然 ...

  9. 第三周之Hadoop学习(三)

    从上周的这篇教程中继续hadoop的安装过程:http://dblab.xmu.edu.cn/blog/install-hadoop-in-centos/ 上节课安装到对hadoop中的输出的文件夹的 ...

随机推荐

  1. const和defin区别

    (1)类型的安全性检查:const常量有数据类型,而define定义宏常量没有数据类型.则编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查(字符替换时可能会产生意料不到的错误 ...

  2. 解决teamviewer试用期到期的方法

    Teamviewer是一款远程控制软件,使用过程中系统弹出“Teamviewer试用版已到期”的提示, 需要用户购买许可证或延长试用期才能继续使用,解决teamviewer试用期到期问题步骤如下: 出 ...

  3. Linux 文件属性 chgrp、chown、chmod的用法

    Linux 文件属性 ls 是 list 的意思,重点在显示文件的文件名与相关属性.选项 -al 表示列出所有的文件详细的权限与属性(包含隐藏文件,就是文件名第一个字符为 . 的文件) 第一栏代表这个 ...

  4. Java的JAVA_HOME、Path、CLASSPATH环境变量小结,可以借助这三个的配置去理解Oracle中的那几个环境变量的配置作用

    问题:在哪里都能执行java命令,是和JAVA_HOME变量有关系呢还是path中指定的那个java路径呢?? 刚学Java的时候,很多jdk配置教程都要求设置JAVA_HOME.Path.CLASS ...

  5. 极客从CPU选择开始-CPU详解

    先来看看CPU天梯图(来自(快科技CPU性能天梯图)[https://www.mydrivers.com/zhuanti/tianti/cpu/index.html]) Intel VS AMD (P ...

  6. 后台接口报500,前端获取报错详情message

    最近和前端对接口的时候,前端说后台接口报500,不能获取里面的东西,然后就开始了这个研究,网上查了一些资料,发现报500里面的报错详情是可以获取的. 前端在调用接口的时候,加个catch,注意!!!这 ...

  7. C++模板详解(三):参数化声明详解

    在前两节中(C++模板详解(一).C++模板详解(二)),我们了解了函数模板和类模板的基本概念和使用方法.在这篇博文里,我们主要来详细地阐述一下"模板的参数声明"这个话题,并且也谈 ...

  8. 8.5-Day1T2--Asm.Def 的基本算法

    题目大意 给一棵树,求∑∑w_i*w_j*w_LCA(i,j) w_i表示i点权值 题解 显然一点点求lca是肯定会tle的 那就想如何优化 i和j的lca和j和i的lca是一样的 DFS,在每个x处 ...

  9. wordpress 添加友情链接

    最近入了wordpress的坑,虽然还没深入,但是好歹弄了点东西了:) 一般网站都有友情链接这个东东吧,看网上说这个有个插件的,叫“Link Manager”,添加完了以后就能添加了,可是我今天去搜的 ...

  10. 201771010135 杨蓉庆《面对对象程序设计(java)》第十六周学习总结

    1.实验目的与要求 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程的优先级属性及调度方法: (4) 掌握线程同步的概念及实现技术: 一.理论知识 ⚫ 线程的概念 (1 ...