栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hadoop2.8.5详细教程(七)Java操作HDFS

Hadoop2.8.5详细教程(七)Java操作HDFS

在windows下开发

1.在windows下解压hadoop,在etc/hadoop中的hadoop.env.cmd修改以下值
set JAVA_HOME=C:PROGRA~1Javajdk1.8.0_102
2.将winutils.exe、hadoop.dll放到hadoopbin下
3.设置环境变量
HADOOP_HOME=d:softwarehadoophadoop2.8.5
在path变量中追加%HADOOP_HOME%bin
4.新建Java项目,项目下新建lib文件夹,将hadoop的jar包拷贝到lib文件夹中,然后导入到项目。

右键项目选properties,在弹出框中选择Librarys

点击add jars,在弹出框中,选择testhdfs1项目下的lib文件夹,选中里面所有的jar包,点击ok

5.代码:

package a;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class TestHDFS {
	FileSystem fs;

	public void init() {
		try {
			URI uri = new URI("hdfs://192.168.150.21:9000");
			Configuration conf = new Configuration();
			// conf.set("dfs.replication", "2");
			// conf.set("dfs.block.size", "64m");
			conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");
			fs = FileSystem.get(uri, conf, "root");
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		} catch (URISyntaxException e) {
			e.printStackTrace();
		}
	}

	public void put(String local, String hdfs) {
		try {
			fs.copyFromLocalFile(new Path(local), new Path(hdfs));
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	// 下载需要配置hadoop_home
	public void get(String local, String hdfs) {
		try {
			fs.copyToLocalFile(new Path(hdfs), new Path(local));
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		TestHDFS th = new TestHDFS();
		th.init();
		th.put(args[0], args[1]);
		// th.get(args[0], args[1]);
	}
}

在D盘test文件夹下新建一个如下文本文件,保存一些单词,以供上传到HDFS中之用。

通过main方法传参设置本地路径和HDFS的远程路径,在eclipse中运行该程序需要这样设置:
1.在代码上右键【run as】 --【run configurations】,在弹出框中双击如下图所示Java Application。

2.在新窗口中选择Arguments选项卡,在程序参数编辑框中,填入参数。第一个参数是本地路径,第二个参数是HDFS的文件系统地址。

3.点击run即可以运行程序。
4.去HDFS中查看,是否将本地程序上传到虚拟机中的HDFS中。

5.以同样方式执行下载。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/350653.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号