您的位置:首页 > 运维架构

Hadoop通过url地址访问HDFS

2017-12-29 16:53 393 查看
新建Java工程
package com.cr.java;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.junit.Test;

import javax.print.DocFlavor;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

/**
* 完成HDFS操作
*/
public class HDFS {
/**
* 第一步:读取HDFS文件
*/
@Test
public void readFile() throws Exception {
System.setProperty("hadoop.home.dir", "E:\\hadoop-2.7.5");
//注册HDFS流处理器
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
//拿到HDFS文件系统的url地址
//HDFS	NameNode	8020	fs.defaultFS	接收Client连接的RPC端口,用于获取文件系统metadata信息。
URL url = new URL("hdfs://s150:8020/usr/xiaoqiu/hadoop/index.html");
//拿到链接
URLConnection con = url.openConnection();
//读取文件,获取输入流
InputStream is = con.getInputStream();
//创建缓冲区
byte[] buf = new byte[is.available()];
//开始向缓冲区读取
is.read(buf);
//读取完关闭输入流
is.close();
//将缓冲区的内容转为字符串打印出来
String str = new String(buf);
System.out.println(str);
}

}

添加Hadoop所有的jar包
添加日志文件log4j.properties(一定要加入到src文件夹下面)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: