前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop基础教程-第4章 HDFS的Java API(4.4 Windows+Eclipse+HDFS快速入门)

Hadoop基础教程-第4章 HDFS的Java API(4.4 Windows+Eclipse+HDFS快速入门)

作者头像
程裕强
发布2022-05-06 18:35:54
3580
发布2022-05-06 18:35:54
举报

第4章 HDFS的Java API

4.4 Windows+Eclipse+HDFS快速入门

前面4.1到4.3节的准备工作,本节正式进入HDFS的Java API 部分,将通过一个简单例子演示如何在Windows下通过Eclipse开发Hadoop(HDFS)应用程序,注意此部分不需要hadoop-eclipse-plugin插件。

4.4.1 数据准备

通过HDFS 命令方式将本地words.txt文件上传到HDFS上

代码语言:javascript
复制
[root@node1 ~]# hdfs dfs -put /root/words.txt input
[root@node1 ~]# hdfs dfs -ls /user/root/input
Found 1 items
-rw-r--r--   3 root supergroup         55 2017-05-17 10:32 /user/root/input/words.txt
[root@node1 ~]# hdfs dfs -cat /user/root/input/words.txt
Java Java
Hadoop Hadoop Hadoop
Hello World Hello World
[root@node1 ~]# 

4.4.2新建类文件

在Maven项目hdfsDemo的新建Java类ReadFile

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

4.4.3 编辑Java代码

在ReadFile.java类中编辑代码如下:

代码语言:javascript
复制
package cn.hadron.hdfsDemo;

import java.io.IOException;
import java.io.InputStream;
import java.net.URI;

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 ReadFile {

    public static void main(String[] args) throws IOException {
        String uri="hdfs://192.168.80.131:9000/user/root/input/words.txt";
        Configuration cfg=new Configuration();
        FileSystem fs=  FileSystem.get(URI.create(uri),cfg);
        InputStream in=null;
        try{
            in=fs.open(new Path(uri));
            IOUtils.copyBytes(in, System.out,4096,false);
        }catch(Exception e){
            System.out.println(e.getMessage());
        }finally{
            IOUtils.closeStream(in);
        }
    }
}

程序说明:

  • Configuration类:该类的对象封转了客户端或者服务器的配置。
  • FileSystem类:该类的对象是一个文件系统对象,可以用该对象的一些方法来对文件进行操作。FileSystem fs = FileSystem.get(conf);通过FileSystem的静态方法get获得该对象。
  • String uri="hdfs://192.168.80.131:9000/user/root/input/word.txt"要与core-site.xml文件中的fs.defaultFS配置对应,其值是hdfs://node1:9000。由于本地Windows系统的hosts文件没有配置node1,所以这里需要IP地址表示。

4.4.4 本地运行

右键单击ReadFile类,在弹出的快捷菜单中选择“Run As”–> “Java Application”。 等待数秒后,在Eclipse底部的Console窗口中将看到输入结果。

这里写图片描述
这里写图片描述

4.4.5 导出Jar包

将该类导出为 ReadFile.jar:

  • 选择要导出的类或者package
  • 右击选择Export子选项
这里写图片描述
这里写图片描述
  • 在弹出的对话框中,选择Java目,选择JAR file
这里写图片描述
这里写图片描述
  • 在JAR Export对话框中的JAR file文本框中选择你要生成的jar包的位置以及名字,比如此处是/root/ReadFile.jar
  • 注意在Export generated class files and resources和Export java source files and resources前面打上勾
这里写图片描述
这里写图片描述

在导出目录可以找到jar包,此处在桌面上可以看到

这里写图片描述
这里写图片描述

将jar上传集群中一个节点下 ,比如node3。 这里还是通过Xftp上传

这里写图片描述
这里写图片描述

在node3(192.168.80.133)节点上执行命令:

代码语言:javascript
复制
[root@node3 ~]# hadoop jar ReadFile.jar cn.hadron.hdfsDemo.ReadFile
这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第4章 HDFS的Java API
  • 4.4 Windows+Eclipse+HDFS快速入门
  • 4.4.1 数据准备
  • 4.4.2新建类文件
  • 4.4.3 编辑Java代码
  • 4.4.4 本地运行
  • 4.4.5 导出Jar包
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档