Hadoop基础教程-第4章 HDFS的Java API(4.4 Windows+Eclipse+HDFS快速入门)
2017-05-17 22:44
891 查看
第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上[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类ReadFile4.4.3 编辑Java代码
在ReadFile.java类中编辑代码如下: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)节点上执行命令:
[root@node3 ~]# hadoop jar ReadFile.jar cn.hadron.hdfsDemo.ReadFile
相关文章推荐
- Hadoop基础教程-第4章 HDFS的Java API(4.2 Eclipse+Maven)
- Hadoop基础教程-第4章 HDFS的Java API(4.1 Maven入门)
- Hadoop基础教程-第4章 HDFS的Java API(4.3 pom.xml解析)
- Hadoop基础教程-第4章 HDFS的Java API(4.7 Java API封装类)(草稿)
- Hadoop基础教程-第4章 HDFS的Java API(4.6 Java API应用)(草稿)
- Hadoop基础教程-第4章 HDFS的Java API(4.5 Java API介绍)
- Hadoop基础教程-第2章 Hadoop快速入门(2.4 Hadoop单机运行)
- 4000 hadoop入门(三)之 javaAPI操作Hdfs,进行文件操作
- Hadoop基础教程-第2章 Hadoop快速入门(2.5 WordContent简单应用)
- Java Servelet API入门基础教程
- Java Servelet API入门基础教程
- Java基础学习总结(25)——Log4j快速入门教程
- Java基础学习总结(25)——Log4j快速入门教程
- Hadoop基础教程-第2章 Hadoop快速入门(2.2 Hadoop下载与安装)
- 大数据入门第五天——离线计算之hadoop(下)hadoop-shell与HDFS的JavaAPI入门
- Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.3 Hive 快速入门)
- Java Servelet API入门基础教程-Java基础-Java-编程开发
- Eclipse Form程序设计快速入门-Java基础-Java-编程开发
- Hadoop基础教程-第2章 Hadoop快速入门(2.3 Hadoop单机配置)
- Java Servelet API入门基础教程