Hadoop的HDFS-javaapi

环境配置

首先需要在hadoop-env.sh中配置 HADOOP_CLASSPATH变量..

export HADOOP_CLASSPATH=/home/hadoop/hadoop-1.2.1/myclass

在.bash_profile中配置JAVA_HOME ,并且生效

测试程序

URLCat.java
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
import java.io.InputStream;
import java.net.URL;
public class URLCat {
  static {
    URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
  }
  public static void main(String[] args) throws Exception {
    InputStream in = null;
    try {
      in = new URL(args[0]).openStream();
      IOUtils.copyBytes(in, System.out, 4096, false);
    }
    finally {
      IOUtils.closeStream(in);
    }
  }
}

javac -classpath ../hadoop-core-1.2.1.jar URLCat.java 
hadoop URLCat hdfs://hadoop1:9000/user/hadoop/inp/test2.txt

通过引入classpath和import可以使用这个URLCat,通过hdfs的API读取文件.

API在线手册: http://hadoop.apache.org/docs/r1.2.1/api/index.html

使用ant

它也是apache的一个编译软件, 也是用于编译的. 完成工程项目的编译..

下载地址:http://ant.apache.org/bindownload.cgi

wget http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.9.4-bin.tar.gz

#下载参考代码..
wget -SO 11101.zip http://www.packtpub.com/code_download/11101
unzip 11101.zip
cd 7287OS_Code/7287OS_Code/chapter2
ls -l 
total 8
drwxrwxr-x 2 hadoop hadoop 4096 Apr 2 18:07 HDFS_C_API
drwxrwxr-x 3 hadoop hadoop 4096 Apr 2 18:07 HDFS_Java_API
cd HDFS_Java_API/
export HADOOP_HOME=/home/hadoop/hadoop-1.2.1   #建议放到.bash_profile
/home/hadoop/apache-ant-1.9.4/bin/ant          #进行编译..
#在当前目录下会生成一个HDFSJavaAPI.jar
#在build目录中是class文件
#执行API的jar包,进行测试.

hadoop jar HDFSJavaAPI.jar HDFSJavaAPIDemo
时间: 2024-10-27 01:31:31

Hadoop的HDFS-javaapi的相关文章

Hadoop之HDFS文件操作

摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件    命令行     Java API HDFS是一种分布式文件系统,为MapReduce这种框架下的海量数据分布式处理而设计. Hadoop之HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似的命令行工具:另一种是JavaAPI,即利用Hadoop的Java库,采用编程的方式操作HDFS的文件.

hadoop之 HDFS fs 命令总结

版本:Hadoop 2.7.4 -- 查看hadoop fs帮助信息[[email protected] sbin]# hadoop fsUsage: hadoop fs [generic options][-appendToFile <localsrc> ... <dst>][-cat [-ignoreCrc] <src> ...][-checksum <src> ...][-chgrp [-R] GROUP PATH...][-chmod [-R] &l

Hadoop之HDFS原理及文件上传下载源码分析(下)

上篇Hadoop之HDFS原理及文件上传下载源码分析(上)楼主主要介绍了hdfs原理及FileSystem的初始化源码解析, Client如何与NameNode建立RPC通信.本篇将继续介绍hdfs文件上传.下载源解析. 文件上传 先上文件上传的方法调用过程时序图: 其主要执行过程: FileSystem初始化,Client拿到NameNodeRpcServer代理对象,建立与NameNode的RPC通信(楼主上篇已经介绍过了) 调用FileSystem的create()方法,由于实现类为Dis

Hadoop之HDFS

摘要:HDFS是Hadoop的核心模块之一,围绕HDFS是什么.HDFS的设计思想和HDFS的体系结构三方面来介绍. 关键词:Hadoop  HDFS   分布式存储系统 HDFS是Hadoop的核心模块之一,HDFS是什么?它是Hadoop分布式文件系统(Hadoop Distributed File System),摘录Apache 组织关于HDFS的介绍"The Hadoop Distributed File System (HDFS) is a distributed file syst

hadoop和hdfs环境搭建

参考链接:http://blog.csdn.net/zolalad/article/details/11470449 环境:ubuntu14.04 hadoop1.0.1 下面以3台机器为例,讲解安装过程 1) 准备3台机器,一台作为nameNode,命名为master,两台作为dataNode,命名为slave01, slave02.强调命名是为了方便管理,其实命名无所谓.如果已命名为其它名称,可通过编辑/etc/hostname进行更改. 2) 为所有主从节点配置静态ip,因为主从节点间需要

Hadoop之——HDFS

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/45849029 Hadoop 主要由HDFS和MapReduce 引擎两部分组成.最底部是HDFS,它存储Hadoop 集群中所有存储节点上的文件.HDFS 的上一层是MapReduce 引擎,该引擎由JobTrackers 和TaskTrackers组成.  一.HDFS基本概念    1.数据块 HDFS默认的最基本的存储单位是64M的数据块,这个数据块可以理解和一般的文件里面

浅谈Hadoop下HDFS文件系统

Hadoop下HDFS文件系统 在这里我们对Hadoop的基本概念,历史功能就不做过多的阐述,重点在对于他的文件系统做一些了解和阐述. HDFS(Hadoop distributed file system)是一个分布式文件系统.具有高容错性(fault-tolerant),使得他能够部署在低廉的硬件上.他可以提供高吞吐率来访问应用程序的数据.HDFS放宽了可移植操作系统接口的要求.这样就可以实现以流式的形式来访问文件系统的数据. HDFS的设计目标: 检测和快速回复硬件故障 流式的数据访问 简

【Hadoop】HDFS - 创建文件流程详解

1.本文目的 通过解析客户端创建文件流程,认知hadoop的HDFS系统的一些功能和概念. 2.主要概念 2.1 NameNode(NN): HDFS系统核心组件,负责分布式文件系统的名字空间管理.INode表的文件映射管理.如果不开启备份/故障恢复/Federation模式,一般的HDFS系统就只有1个NameNode,当然这样是存在单点故障隐患的. NN管理两个核心的表:文件到块序列的映射.块到机器序列的映射. 第一个表存储在磁盘中,第二表在NN每次启动后重建. 2.2 NameNodeSe

hadoop学习;hdfs操作;运行抛出权限异常: Permission denied;api查看源码方法;源码不停的向里循环;抽象类通过debug查找源码

eclipse快捷键alt+shift+m将选中的代码封装成方法:alt+shift+l将选中的代码添加对应类型放回参数 当调用一个陌生方法时,进入源码不停的向里循环,当找不到return类似方法的时候,可以看到最原始的方法 package com.kane.hdfs; import java.io.InputStream; import java.net.URL; import org.apache.hadoop.fs.FsUrlStreamHandlerFactory; import org

介绍hadoop中的hadoop和hdfs命令

有些hive安装文档提到了hdfs dfs -mkdir ,也就是说hdfs也是可以用的,但在2.8.0中已经不那么处理了,之所以还可以使用,是为了向下兼容. 本文简要介绍一下有关的命令,以便对hadoop的命令有一个大概的影响,并在想使用的时候能够知道从哪里可以获得帮助. 概述 在$HADOOP_HOME/bin下可以看到hadoop和hdfs的脚本. hdfs的相当一部分的功能可以使用hdoop来替代(目前),但hdfs有自己的一些独有的功能.hadoop主要面向更广泛复杂的功能. 本文介绍