`
bearsorry
  • 浏览: 93560 次
  • 性别: Icon_minigender_2
  • 来自: 湖南
社区版块
存档分类
最新评论

hadoop集群上传下载文件

 
阅读更多

在过年前夕我们小组就开始研究云计算了,之前都是在搭建云平台,配置hadoop集群环境,出现各种问题,各种不解,最终还是成功搭建了由10台机器组成的hadoop集群环境!由于写这篇技术博客的时候没有网络,暂时就不写搭建环境的步骤了,下面就在hadoop集群上运行的程序进行分析吧!

我们知道云计算应用中就有文件的上传和下载,我们提交任务到云端,让云端帮我们完成任务,下面就分析一下代码吧!

要在Hadoop集群进行操作,就应该用hadoop自己的一套api,只要我们和云端的hadoop集群连接上并用这套api编程,就可以享受云服务了!

文件的上传和下载最主要的就是org.apache.hadoop.fs FileSystem抽象类和org.apache.hadoop.conf Configuration类,再看看FileSystem的源代码:

public abstract class FileSystem extends Configured implements Closeable {

 

Hadoop集群上的文件系统也是与Configuration有关的,我们将这个类写进代码中,云端根据响应的api找到配置执行任务。

上传文件的代码:

//写入数据:从本机到云端(存储)
private static void uploadToHdfs() throws FileNotFoundException,IOException{
	//我的文件地址
	String localSrc = "H://Reading/Google_三大论文中文版.pdf";
	//存放在云端的目的地址
	String dest = "hdfs://192.168.1.11:9000/usr/Google_三大论文中文版.pdf";
	InputStream in = new BufferedInputStream(new FileInputStream(localSrc));
	//得到配置对象
	Configuration conf = new Configuration();
	//文件系统
	FileSystem fs = FileSystem.get(URI.create(dest), conf);
	//输出流
	OutputStream out = fs.create(new Path(dest), new Progressable() {
	@Override
	public void progress() {
		System.out.println("上传完一个设定缓存区大小容量的文件!");
		}
	});
	//连接两个流,形成通道,使输入流向输出流传输数据
	IOUtils.copyBytes(in, out, 4096,true);
	}
 

下载文件的代码:

//读入数据:从云端到本机(提取数据)
private static void readFromHdfs()throws FileNotFoundException,IOException{
	//云端地址
	String dest = "hdfs://192.168.1.11:9000/usr/Google_三大论文中文版.pdf";
	//我的目录地址
	String mySrc = "H://Google_三大论文中文版.pdf";
	//得到配置
	Configuration conf = new Configuration();
	//实例化文件系统
	FileSystem fs = FileSystem.get(URI.create(dest), conf);
	//读出流
	FSDataInputStream hdfsInStream = fs.open(new Path(dest));
	//写入流
	OutputStream out = new FileOutputStream(mySrc);
	//将InputStrteam 中的内容通过IOUtils的copyBytes方法复制到out中
	IOUtils.copyBytes(hdfsInStream, out, 4096,true);
		}

 

这是一个小小的开端,今年要开始认真研究了!

 

1
1
分享到:
评论

相关推荐

    hadoop文件上传下载

    在这个场景中,我们讨论的是如何利用Struts2这个Java Web框架来实现文件的上传和下载功能,目标是将文件存入Hadoop分布式文件系统(HDFS)中,并能够从HDFS中检索这些文件。下面将详细介绍这一过程涉及的关键知识点...

    实验4:hadoop文件上传.docx

    命令行上传文件可以使用 hadoop fs -put 命令,而 Java API 可以使用 FileSystem 的 copyFromLocalFile 方法上传文件。 3. Hadoop 集群:Hadoop 集群由多个节点组成,每个节点可以作为 NameNode 或 DataNode。启动 ...

    mac环境下hadoop集群搭建

    搭建一个Hadoop集群是一个复杂的过程,但为了更好的理解,我们将这个过程拆解成几个主要步骤,并且由于本文档是在Mac环境下进行Hadoop集群搭建的指南,我们需要专注于特定于Mac和VMware Fusion的步骤。 1. 创建...

    hadoop集群安装手册

    使用Hadoop命令进行基本的测试,如`hdfs dfs -put`上传文件,`hdfs dfs -ls`列出目录,确保HDFS正常工作。 ### 性能调优 安装完成后,还需要根据实际需求和硬件资源对Hadoop集群进行性能调优,包括内存分配、线程...

    基于WEB实现的Hadoop集群可视化上传下载增删查改系统

    2. **HDFS操作**:在Hadoop中,文件系统的操作通常通过HDFS的Shell命令完成,如`hadoop fs -put`用于上传文件,`-get`用于下载,`-rm`用于删除,`-ls`用于列出目录内容,`-mv`用于移动或重命名文件。本项目的目标是...

    IDE直接和hadoop集群连接

    2. **资源管理**:在IDE内查看HDFS文件系统,包括上传、下载、删除文件,浏览目录结构,这对于数据预处理和调试非常方便。 3. **编写和运行MapReduce程序**:IDE支持直接编辑Java源代码,如本例中的IDES.java、...

    Hadoop集群部署方案.docx

    "Hadoop集群部署方案" Hadoop 集群部署方案是指在分布式系统中部署 Hadoop 集群的详细步骤和配置过程。下面是该方案的详细知识点解释: 1. Hadoop 简介 Hadoop 是Apache软件基金会旗下的开源项目,主要用于大数据...

    3.基于hadoop集群搭建hbase

    1. **上传HBase压缩包**:将HBase的压缩包上传到Hadoop集群的主节点(master)上,通常推荐与Hadoop放在同一目录下。例如,如果您的Hadoop位于`/home/wangkang/`目录下,则可以将HBase也放在此处。 ```bash tar -...

    大数据技术基础实验报告-Hadoop集群的使用和管理.doc

    3. **上传文件**:使用`hdfs dfs -put`命令将本地文件上传到HDFS。 4. **运行WordCount**:执行`hadoop jar`命令,指定jar包路径和输入、输出路径,运行WordCount程序。 5. **监控运行状态**:在Web界面的MapReduce...

    上传文件到Hadoop失败的原因分析及解决方法.pdf

    本文主要讨论了在 Java Web 程序中上传文件到 Hadoop HDFS 文件系统中失败的原因分析及解决方法。通过对问题的分析和解决,可以总结出以下知识点: 1. Hadoop 文件上传失败的原因分析: 在上传文件到 Hadoop HDFS ...

    Hadoop集群-WordCount运行详解.pdf

    本篇文档深入浅出地介绍了Hadoop集群的WordCount运行详解,从MapReduce理论到WordCount程序的运行,再到源码分析,内容丰富且详细,对于想要入门和深入了解Hadoop分布式计算和MapReduce模型的读者来说,是一份宝贵的...

    在linux环境安装hadoop集群

    安装 Hadoop 集群需要上传安装包到服务器,然后解压安装包并配置环境变量。在 Linux 系统中,使用 tar 命令解压安装包: ``` tar -zxvf hadoop-2.7.1.tar.gz ``` 然后,重命名安装文件夹并授权给 hadoop 用户: `...

    hadoop集群搭建

    ### Hadoop集群搭建详解 #### 一、概述 在大数据处理领域,Hadoop因其出色的分布式存储与计算能力而被广泛采用。本文将详细介绍如何搭建一个Hadoop单机集群,并通过三台虚拟机来实现这一过程。我们将从创建虚拟机...

    安装hadoop集群三台虚拟机

    Hadoop集群的搭建不仅仅是简单的配置几个文件,而是涉及到多个组件的相互配合与协调。此外,还需要对每一步配置进行仔细检查,确保所有的配置都正确无误,这样才能保证Hadoop集群的正常运行。希望本教程能帮助大家...

    hadoop web tomcat上传文件

    在IT行业中,构建一个能够通过Web接口上传文件到Hadoop集群的应用是一项常见的需求。这个场景中,"hadoop web tomcat上传文件" 提供了一个基于Web的解决方案,它利用了Apache Tomcat作为Web服务器和Hadoop生态系统来...

    Hadoop集群命令

    - **上传文件到HDFS**: - `./hadoop fs -get /1.data /usr/local/src/` - 从HDFS中的`/1.data`目录下载文件到本地的`/usr/local/src/`目录下。 - **查看HDFS目录**: - `./hadoop fs -ls /` - 列出HDFS根目录下...

    Hadoop集群部署完整版

    * 上传文件:用户可以将文件上传到HDFS中。 *下载文件:用户可以从HDFS中下载文件。 * 文件浏览:用户可以浏览HDFS中的文件。 Linux集群 Hadoop集群需要部署在Linux操作系统上,Linux集群可以提供高可扩展性和高...

    基于Hadoop集群实现的视频在线播放+源代码+文档说明

    基于Hadoop集群的视频在线播放平台 实现了视频文件分布式存储和转码,通过web在线播放视频流等功能 -------- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后...

Global site tag (gtag.js) - Google Analytics