在win10的Eclipse开发环境下,访问VM虚拟机上docker镜像下的hadoop的 HDFS系统

本文介绍了在Win10系统下通过Eclipse操作将文件上传到Docker中Hadoop镜像的HDFS的方法。包括确定VM虚拟机与Docker下Hadoop主机的网络连通性、设置路由、下载并配置Hadoop环境变量、在Eclipse中创建工程并导入相关jar包,还提及了一个常见BUG的解决办法。

1.首先确定在VM虚拟机上的CentOS下能ping 通 docker下的hadoop所在的主机的IP
例如: VM 192.168.10.161 ping docker下的hadoop主机的IP 172.18.0.2
2. 在WIN10系统上"管理员"进入cmd
执行 route -p add add 172.18.0.2 mask 255.255.255.0 192.168.10.161
这样就可以在 Window10 上ping 通 docker下hadoop所在机器的IP 172.18.0.2了
3. 首先下载hadoop-2.x.x 版本的Windows 10编译过的hadoop (https://download.csdn.net/download/shuimofengyang/10481994) ,解压到任意盘符。
设置环境变量 HADOOP_HOME 指向解压的目录,将hadoop.dll 文件也同时放到
C:\Windows\System32下一份,
添加环境变 量%HADOOP_HOME%\bin; %HADOOP_HOME%\sbin;
4.在eclipse开发工具创建一个工程,需要导入操作hdfs的jar包,分别是hadoop- 2.7.2\share\hadoop\hdfs 的hadoop-hdfs-2.7.2.jar,不过该jar又依赖于hadoop-2.7.2\share\hadoop\hdfs\lib包,为了方便就全部导入了,还需要hadoop-2.7.2\share\hadoop\common下的hadoop-common-2.7.2.jar 同时该包也需要导入hadoop-2.7.2\share\hadoop\common\lib下的jar 一样全部导入。


JAVA API 访问hadoop的hdfs系统文件
try {

		  System.setProperty("hadoop.home.dir", "D:\\java\\hadoop-2.7.2");
		  String localSrc = "D://docker.docx";
		  String dst = "hdfs://172.18.0.2:9000/home/";
		  InputStream in = new BufferedInputStream(new FileInputStream(localSrc));
		  Configuration conf = new Configuration();
		 
		  FileSystem fs = FileSystem.get(URI.create(dst), conf,"root");
		  OutputStream out = fs.create(new Path(dst), new Progressable() {
		   public void progress() {
		    System.out.print(".");
		   }
		  });
		  IOUtils.copyBytes(in, out, 4096, true);
		  System.out.println("上传文件成功!!!");
		
	} catch (Exception e) {
		// TODO Auto-generated catch block
		logger.info("文件上传失败!!!");
		e.printStackTrace();
	}

5.解决BUG:could only be replicated to 0 nodes instead of minReplication (=1)
将虚拟机种的CentOS系统的防火墙关闭systemctl disable firewalld 永久关闭
systemctl stop firewalld 本次关闭,重启生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值