今天闲来无事,于是把HDFS的基本操作用java写出简化程序出来给大家一些小小帮助! package com.quanttech; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; /** * @topic HDFS文件操作工具类 * @author ZhouJ * */ public class HdfsUt…
  Hadoop是用java语言实现的,因此HDFS有很好的java接口用以编程,重点就是Hadoop的FileSystem类,它是所有文件系统的抽象类,HDFS实例(DistributedFileSystem)也是基于它实现的.本部分主要介绍如何通过使用HDFS的java接口来编写程序. 1.如何运行一个Hadoop程序   当我们要写一个Hadoop的应用程序时,因为要用到hadoop的第三方依赖包,所以最好的方法是使用maven项目管理工具来构建,可以方便的管理所有第三方jar包.   完…
如今我们来深入了解一下Hadoop的FileSystem类. 这个类是用来跟Hadoop的文件系统进行交互的.尽管我们这里主要是针对HDFS.可是我们还是应该让我们的代码仅仅使用抽象类FileSystem.这样我们的代码就能够跟不论什么一个Hadoop的文件系统交互了.在写測试代码时,我们能够用本地文件系统測试,部署时使用HDFS.仅仅需配置一下,不须要改动代码了. 在Hadoop 1.x以后的版本号中引入了一个新的文件系统接口叫FileContext,一个FileContext实例能够处理多种…
在本次操作中所用到的命令 1.首先启动HDFS $HADOOP_HOME/sbin/start-dfs.sh 2.关防火墙 切换到root用户,执行service iptables stop 3.拷贝文件到HDFS bin/hadoop fs -put 本地 HDFS 4.查看HDFS根目录的文件 bin/hadoop fs -ls / 1.新建Java项目,导入Hadoop相关jar包. 在hadoop解压包中的hadoop-2.6.0\share\hadoop\common目录下红色标注的文…
public class HDFSDemo { private FileSystem fs = null; @Before public void init() throws IOException, URISyntaxException, InterruptedException{ fs = FileSystem.get(new URI("hdfs://localhost:9000"), new Configuration()); } @Test //递归删除文件或者文件夹 publ…
先把上节未完毕的部分补全,再剖析一下HDFS读写文件的内部原理 列举文件 FileSystem(org.apache.hadoop.fs.FileSystem)的listStatus()方法能够列出一个文件夹下的内容. public FileStatus[] listStatus(Path f) throws FileNotFoundException, IOException; public FileStatus[] listStatus(Path[] files) throws FileNo…
5.hdfs的客户端操作 客户端的理解 hdfs的客户端有多种形式: 1.网页形式 2.命令行形式 3.客户端在哪里运行,没有约束,只要运行客户端的机器能够跟hdfs集群联网 文件的切块大小和存储的副本数量,都是由客户端决定! 所谓的由客户端决定,是通过配置参数来定的 hdfs的客户端会读以下两个参数,来决定切块大小.副本数量: 切块大小的参数: dfs.blocksize 副本数量的参数: dfs.replication 上面两个参数应该配置在客户端机器的hadoop目录中的hdfs-site…
Java接口对Hadoop集群的操作 首先要有一个配置好的Hadoop集群 这里是我在SSM框架搭建的项目的测试类中实现的 一.windows下配置环境变量 下载文件并解压到C盘或者其他目录. 链接:http://pan.baidu.com/s/1jHHPElg 密码:aufd 配置环境变量 1.配置HADOOP_HOME 2.配置PATH 在PATH中添加 %HADOOP_HOME%\bin 1 3.配置HADOOP_USER_NAME 这是Hadoop集群的用户名 HADOOP_USER_N…
HDFS设计的主要目的是对海量数据进行存储,也就是说在其上能够存储很大量文件(可以存储TB级的文件).HDFS将这些文件分割之后,存储在不同的DataNode上, HDFS 提供了两种访问接口:Shell接口和Java API 接口,对HDFS里面的文件进行操作,具体每个Block放在哪台DataNode上面,对于开发者来说是透明的. 通过Java API接口对HDFS进行操作,我将其整理成工具类,地址见底部 1.获取文件系统 /** * 获取文件系统 * * @return FileSyste…
HDFS 文件的系统访问的接口 1.Hadoop的shell命令脚本 hadoop fs -ls   列出某一个目录下的文件 hadoop fs -lsr 递归的方式列出所有文件 hadoop fs -mkdir 创建目录 hadoop fs -rm   删除文件或者目录 hadoop fs -rmr  删除目录及目录下的所有目录或者文件 hadoop fs -put src /  向hdfs上传文件 hadoop fs -copyFromLocal /src /  hadoop fs -get…