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

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 本次关闭,重启生效。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值