hadoop用eclipse的基本操作

本文介绍了如何在Eclipse中操作Hadoop,包括新建Java项目,导入Hadoop所需jar包,理解HDFS命令及NameNode的端口配置。重点强调了将jar包添加到Build Path并确保配置生效的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在eclipse新建一个java的项目,然后在根目录创建一个新的文件夹
把hadoop所需要的jar包导入

hdfs dfs -help查看所有基本的dfs命令

9000端口是NameNode的RPC端口,50070是NameNode的http端口

1、把hadoop-2.6.5上传上去
在这里插入图片描述
2、创建一个lib放置jar包的地方,然后把hadoop有关的lib里的jar包全部放入进去
在这里插入图片描述
3、Build Path 出现这东西,右边点击Add Library… 把刚才创建的lib导入生效
在这里插入图片描述

如果你上传,重命名什么都不报错但是web页面不显示没有效果,那就是你配置没有生效, 右击项目 Build Path 一下,让你新创的文件夹变成源文件,这样才能找到你的xml配置
在这里插入图片描述

以下代码块,高能预警!!!

// 引入配置文件
	Configuration conf=null;
	// 创建文件流 --- 引用的是hadoop内部封装的方法
	FileSystem fs = null;
	
	@Before
	public void conn() throws Exception{
		// 设置是否读取配置信息
		conf=new Configuration(true);
		fs=FileSystem.get(conf);
	}
	@After
	public void close() throws Exception{
		//关流
		fs.close();
	}
	
	
	@Test
	public void mkdir() throws Exception{
		// new一个文件
		Path f = new Path("/aaa/");
		// 判断文件是否存在
		if(fs.exists(f)){
			// 如果存在删除
			fs.delete(f);
		}
		// 没有的话就创建
		fs.mkdirs(f);
	}
	
	@Test
	public void exist() throws Exception{
		Path f = new Path("/user/root/aaa.txt");
		if(fs.exists(f)){
			System.out.println("文件存在"+true);
		}
	}
	
	// 创建文件
	@Test
	public void tc() throws Exception{
		Path p1=new Path("/aaa/bbb");
		boolean mkdirs = fs.mkdirs(p1);
		System.out.println("mkdirs"+mkdirs);
	}
	
	// 重命名
	@Test
	public void rn() throws Exception{
		Path p1=new Path("/user/root/aaa.txt");
		Path p2=new Path("/user/root/bbb.txt");
		// 重命名
		boolean rename = fs.rename(p1, p2);
		System.out.println("rename"+rename);
	}
	
	
	// 上传文件
	@Test
	public void uploadFile() throws Exception{
		// 输出位置
		Path inputFile=new Path("/user/root/bbb.txt");
		// 相当于文件内容的输出
		FSDataOutputStream output=fs.create(inputFile);
		
		// 输入位置,相当于文件内容的输入
		InputStream input =new BufferedInputStream(new FileInputStream(new File("E:\\123.txt")));
		
		IOUtils.copyBytes(input, output, conf, true);
	}
	
	//下载文件
	@Test
	public void downloadFile() throws Exception{
			

		//上传文件到HDFS
		Path src = new Path("/user/root/aaa.txt");
		//输入源:将我集群中的文件作为输入
		FSDataInputStream input=fs.open(src);
		//输出位置
		FileOutputStream output=new FileOutputStream("E://a.txt"); //E盘下
			

		IOUtils.copyBytes(input, output, conf, true);
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值