三、配置Eclipse、Hadoop开发环境
第一步:安装Eclipse-Hadoophadoop集成插件
把hadoop-eclipse-plugin-1.1.1.jar插件放到/home/eclipse/plugins中,然后重新启动Eclipse如下图。
细心的你从上图左侧“Project Explorer”下面发现“DFS Locations”,说明Eclipse已经识别刚才放入的Hadoop Eclipse插件了。
第二步:在Eclipse中指定Hadoop的安装目录
选择“Window”菜单下的“Preference”,然后弹出一个窗体,在窗体的左侧中找到“Hadoop Map/Reduce”选项,点击此选项,选择Hadoop的安装目录(如我的Hadoop目录:/home/hadoop/hadoop-1.1.1)。结果如下图:
第三步:切换“Map/Reduce”工作目录
有两种方法:
1)、选择“Window”菜单下选择“Open Perspective–>Other”,弹出一个窗体,从中选择“Map/Reduce”选项即可进行切换。
2)、在Eclipse软件的右上角,点击图标“”中的“”,从中选择“Map/Reduce”,然后点击“OK”即可确定。
第四步:配置DFS Locations
建立与Hadoop集群的连接,在Eclipse软件下面的“Map/Reduce Locations”进行右击,弹出一个选项,选择“New Hadoop Location ”,然后弹出一个窗体。
注意上图中的红色标注的地方,是需要我们关注的地方。
Location Name:可以任意填,标识一个“Map/Reduce Location”
Map/Reduce Master
Host:xx.xx.xx.xx(Master.Hadoop的IP地址,即/home/hadoop/hadoop-1.1.1/conf/mapred-site.xml中ip)
Port:xx(即/home/hadoop/hadoop-1.1.1/conf/mapred-site.xml中端口)
DFS Master
Use M/R Master host:前面的勾上。(因为我们的NameNode和JobTracker都在一个机器上。)
Host:xx.xx.xx.xx(/home/hadoop/hadoop-1.1.1/conf/core-site.xml中ip)
Port:xxxx (/home/hadoop/hadoop-1.1.1/conf/core-site.xml中端口)
User name:hadoop(操作hadoop的用户)
接着点击“Advanced parameters”从中找到“hadoop.tmp.dir”,修改成为我们Hadoop集群中设置的地址,我们的Hadoop集群是“/home/hadoop/hadoop-datastore/”,这个参数在“core-site.xml”进行了配置。
再从中找到“fs.default.name”,修改成为我们Hadoop集群中设置的地址,我们的Hadoop集群是“hdfs://localhost:54310”,这个参数在“core-site.xml”进行了配置。
点击“finish”之后,会发现Eclipse软件下面的“Map/Reduce Locations”出现一条信息, 就是我们刚才建立的“Map/Reduce Location ”。
第五步:查看HDFS文件系统
查看HDFS文件系统,点击Eclipse软件左侧的“DFS Locations”下面的“localhost”,就会展示出HDFS上的文件结构(记得要先启动hadoop,不然看不到效果)。
到此为止,我们的Hadoop Eclipse开发环境已经配置完毕。
Call to ubuntu/192.168.1.111:9000 failed on connection exception: java.net.ConnectException: 拒绝连接
1.常见解决办法:配置都很正常,就是连接不了。后来重新配置hadoop location,把Map/Reduce Master 和 DFS Master中的Host由localhost改成了ip地址(192.168.1.111),然后问题就解决了。奇怪,localhost不就是本机嘛,而namenode主机(192.168.1.111)也是本机。
2.eclipse的hadoop插件与hadoop的版本号不一致导致的,你最好使用下载的hadoop包解压后的contri文件中的eclipse插件
3.hadoop-site.xml文件配置错误
<property>
<name>fs.default.name</name>
<value>hdfs://你的用户名:9000</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://用户名:9001</value>
</property>
4.关闭hdfs权限:hdfs-site.xml中 <property> <!-- 是否对DFS中的文件进行权限控制(测试中一般用false)--> <name>dfs.permissions</name> <value>false</value> </property> 5.检查eclipse插件是否设置了hadoop安装目录:将与linux下安装的hadoop相同版本的hadoop解压到windows下一个文件夹,然后指定hadoop插件目录,插件目录在preferences的map/reduce的hadoop installation location 6.在windows的hosts文件中添加hadoop所有节点的ip和主机名 7.关闭linux系统防火墙 8.把hadoop三个配置文件中涉及到的主机名全部改成ip地址,master和salves文件也改成ip 9/etc/hosts出错
HADOOP_HOME路径下的hadoop-0.20.*-core.jar,hadoop-0.20.*-ant.jar,hadoop-0.20.*-tools.jar等包也复制了吗? 很重要滴