建立连接,导包

如果不用maven,解压hadoop安装包,share==>hadoop==>common==>lib  里面的全部复制粘贴过去, share==>hadoop==>hdfs==>lib  里面的全部复制粘贴过去。

如果用maven,在maven repository中搜索hadoop,找到common,找到对应版本

复制到pom.xml中

再导入hadoop Client

第一步建立连接,连接namenode

之前通过linux对hdfs配置时,在core-site.xml中,配置

连接的是namenode。

现在用myeclipse,书写运行文件,先对文件进行读操作:

HDFSClient.java

package com.neuedu.test;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;public class HFDSClient {public static void main(String[] args) {// TODO Auto-generated method stub
        read();}public static void read(){//-------连接namenode://1、创建一个配置对象(与配置文件是一个原理)Configuration conf=new Configuration();conf.set("fs.defaultFS", "hdfs://192.168.71.141:9000");//set配置对象Path path=new Path("/hadoop/abc.txt");//读文件//FileSystem fs=new //发现方法不能用,因为它为抽象方法,在不能用情况下,创建对象时方法很陌生且不能用,调用一下静态方法,看哪个可以返回try {FileSystem fs=FileSystem.get(conf);//只用来连接namenode//因为是读文件,需要返回一个输入流FSDataInputStream input = fs.open(path);//f 为一个路径,告诉它文件在哪 //返回了一个流//读文字可以转化为字符流,转换:InputStreamReader isr=new InputStreamReader(input);//如果想按行读,BufferedReader br=new BufferedReader(isr);//开始读String str=br.readLine();//按行读while(str!=null){//只要不为空
                        System.out.println(str);str=br.readLine();//每输出一行,读一次
                    }br.close();isr.close();input.close();//流都需要关闭} catch (IOException e) {// TODO Auto-generated catch block
                    e.printStackTrace();}}
}

之后运行,结果:

查看文件是否正确:

现在对文件进行写操作,分为追加和直接写入

追加方法:

public static void append(){Configuration conf=new Configuration();conf.set("fs.defaultFS", "hdfs://192.168.71.141:9000");//set配置对象try {FileSystem fs=FileSystem.get(conf);FSDataOutputStream outpustream = fs.append(new Path("/hadoop/abc.txt"));//在哪个文件上追加outpustream.writeBytes("123123123");outpustream.close();} catch (IOException e) {// TODO Auto-generated catch block
            e.printStackTrace();}}

之后再读一下,看看是否写成功:

直接写入的形式:

//写入:直接写入public static void write(){Configuration conf=new Configuration();conf.set("fs.defaultFS", "hdfs://192.168.71.141:9000");//set配置对象try {FileSystem fs=FileSystem.get(conf);FSDataOutputStream outpustream = fs.create(new Path("/hadoop/abc.txt"));//在哪个文件上追加outpustream.writeBytes("123123123");outpustream.close();} catch (IOException e) {// TODO Auto-generated catch block
            e.printStackTrace();}}

通过read()查看结果:


因为来回切换函数查看文件内容很不方便,在此进行配置DFS Location,方便对hdfs进行管理:

先将复制到myeclipse根目录的plugins中,

重启myeclipse重启之后,点击windows==>show view==>other==>会多出一个视图

双击此视图,右击新建,

出现视图,能够显示hdfs中的文件目录,查看文件内容

转载于:https://www.cnblogs.com/610553824lyx/p/9307769.html

通过JAVA对HDFS进行操作管理插件相关推荐

  1. hdfs java 权限管理,HDFS的权限管理

    1 HDFS的权限管理介绍 HDFS的权限管理分成2大部分: 类似linux的基本权限管理(粗粒度) 针对管理对象分三种:user.group.other方式的权限管理方式 user:即目录或文件的o ...

  2. HDFS简单介绍及用C语言訪问HDFS接口操作实践

    一.概述 近年来,大数据技术如火如荼,怎样存储海量数据也成了当今的热点和难点问题,而HDFS分布式文件系统作为Hadoop项目的分布式存储基础,也为HBASE提供数据持久化功能,它在大数据项目中有很广 ...

  3. 基于Java的Minecraft游戏后端自定义插件 的Java实践项目整理

    Minecraft_Plugin 1.项目概述 2.系统设计 3.功能模块成果展示 4.个人总结 1.项目概述 1.1 项目简介 小组准备编写一个具有武器战斗,道具收集.互动社交和任务悬赏四大系统的聚 ...

  4. java毕业设计——基于java+JSP+Oracle的记账管理系统设计与实现(毕业论文+程序源码)——记账管理系统

    基于java+JSP+Oracle的记账管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+JSP+Oracle的记账管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下 ...

  5. java毕业设计—— 基于java+JavaEE+jsp的售后服务管理系统设计与实现(毕业论文+程序源码)——售后服务管理系统

    基于java+JavaEE+jsp的售后服务管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+JavaEE+jsp的售后服务管理系统设计与实现,文章末尾附有本毕业设计的论文 ...

  6. BEP 7:CUDA外部内存管理插件(下)

    BEP 7:CUDA外部内存管理插件(下) Numba依赖 向库中添加EMM插件的实现自然会使Numba成为库的依赖项,而以前可能没有.为了使依赖关系可选,如果需要的话,可以有条件地实例化并注册EMM ...

  7. BEP 7:CUDA外部内存管理插件(上)

    BEP 7:CUDA外部内存管理插件(上) 背景和目标 在CUDA阵列接口使得能够共享不同的Python之间的数据库的访问CUDA设备.但是,每个库都与其它库区别对待.例如: • Numba在内部管理 ...

  8. java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射

    http://langgufu.iteye.com/blog/2107023 java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果 ...

  9. 【Java 虚拟机原理】垃圾回收算法( Java VisualVM 工具 | 安装 Visual GC 插件 | 使用 Java VisualVM 分析 GC 内存 )

    文章目录 一.Java VisualVM 工具安装 Visual GC 插件 二.使用 Java VisualVM 分析 GC 内存 一.Java VisualVM 工具安装 Visual GC 插件 ...

最新文章

  1. SparkStreaming和Storm的区别
  2. hdu4287 水题
  3. 公钥,私钥和数字签名这样理解轻松入门!
  4. php 白名单,php实现ip白名单黑名单功能
  5. 改SB训练数据的名字
  6. 51 NOD 1013 3的幂的和
  7. tcp的粘包和拆包示例以及使用LengthFieldFrameDecoder来解决的方法
  8. Cannot resolve table 't_daily'
  9. Atitit 计算机通信技术概要 目录 1. OSI参考模型将整个协议垂直地分为7个层次 : 1 1.1. 通信类别 2 2. 传输方式 计算机通信可分为直接式和间接式两种。 2 2.1. 1)直
  10. 深度学习(13):pointnet++论文翻译与学习
  11. 转载一些Unity插件及资源
  12. 基于扩张卷积神经网络的图像超分辨率
  13. Oracle TFA日志收集工具简介
  14. in作为介词的用法_介词in,on,at的具体用法与区分
  15. Android存储子系统流程--vold
  16. 2、视觉基础知识问答
  17. 爬虫爬取www.newdianying.com心心电影网电影资源实例
  18. GEF原理及实现系列(一、GEF概述)
  19. Goldengate辅助数据库进行升级
  20. gitlab创建merge requests

热门文章

  1. 扩展 GRTN:云原生趋势下的 RTC 架构演进
  2. 刚刚,阿里开源了一项重磅炸弹,终结程序员“中年危机”!
  3. 美术师关于自己的报酬与工作的看法
  4. python+selenium自动登录qq空间并下载相册
  5. Python基础——PyCharm版本——第五章、循环(for、while、break、continue)
  6. pmp每日三题(2022年2月22日)
  7. 软件技术专业-就业提示(IT类详细岗位分化)
  8. 面试官问你的缺点是什么,该如何回答?
  9. 小程序生成二维码报错:40169:invalid length for scene, or the data is not json string
  10. firewall防火墙