eclipse 联接hadoop
由于我用的hadoop是1.0.4,网上大部分教程都是0.2.0的,有一些地方不能借鉴。
eclipse的hadoop的插件可以从网上下载,或者自己从下载的hadoop包里边编译而来(具体方法搜下即可)。
拿到插件后放到eclipse安装目录下的plugins目录下即可。然后重启eclipse。
用eclipse建立 DFS Locations后,发现不能连接到HDFS。
仔细检查了配置,没有错。
环境是:
虚拟机下的ubuntu 作为hadoop的伪分布式环境,ip 192.168.0.111。
win7下的eclipse 去连接HDFS,各种不能连上。
无奈在ubuntu下安装了eclipse,安装了插件。在创建Hadoop Location时,Map/Reduce Master 和 DFS Master的Host 设为localhost (127.0.0.1也可),成功连上。
然后修改了conf/core-site.xml
将<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
的value配置改为<value>hdfs://192.168.0.111:9000</value>。
然后重启hadoop,win7下的eclipse 可以连接虚拟机下的HDFS。
但是此时虚拟机下的eclipse不能连接HDFS,再次将虚拟机的 Map/Reduce Master 和 DFS Master的Host 设为192.168.0.111,可以连上。
瞬间无语...
平时我认为绑定了localhost 或者127.0.0.1会默认绑定本机的对外ip地址(也就是说本文中的192.168.0.111)。但是hadoop并没有这样做.
不知道是我理解有偏差还是hadoop真的做错了?
=========
处理掉上个问题之后,在虚拟机下的eclipse能成功执行操作hdfs的程序。但是在win7下的运行程序会报org.apache.hadoop.security.AccessControlException
解决方法参见
http://39382728.blog.163.com/blog/static/353600692011101051217731/