注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

云计算和云存储之九Hadoop的节点遍历中遇到的问题  

2016-09-15 21:30:34|  分类: |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

云计算和云存储之九Hadoop的节点遍历中遇到的问题

今天继续搞Hadoop,前面的文件的创建删除等都还是比较顺利的,可是当获取HDFS集群上的节点的名称时,突然报一个错误:

org.apache.hadoop.fs.LocalFileSystem

cannot be cast to org.apache.hadoop.hdfs.DistributedFileSystem

这个东西一开始觉得可能是本地的文件系统和Hadoop的文件系统不匹配,结果仔细看了一下引入的包,都是Hadoop的包,不会有问题的。

只好上网查找,结果发现这个东西还真是不多,大多只是有问题,但是没有解决方法,百度上有一个人说是两个文件系统的原因,但上面已经证明了不是这个原因,不过当时可能理解还是有一些偏差,确实人家也了说明了要对URI进行重新定义,但是他并没有说怎么定义。

后来还是在CSDN上,找到了一个非常相近的解决方案:

Configuration conf = new Configuration();

String uri = "hdfs://localhost:9000/";

try {

FileSystem fs = FileSystem.get(URI.create(uri), conf);

DistributedFileSystem hdfs = (DistributedFileSystem) fs;

为什么说是相近的解决方案呢?因为这个东西在自己的电脑里使用的是IP地址,也就是说使用的是固定的IP地址。把localhost改成当前的固定IP后,程序就OK了。

简单的事,未必对任何人来说都简单。正是:

难者不会,会者不难。

  评论这张
 
阅读(67)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017