开发环境,win7下java -version"1.7.0_40",Eclipse version=4.4.2;
虚拟机Redhat6.5,java -version"1.7.0_79",hadoop-1.2.1.
在eclipse下的plugins文件夹下已经复制了hadoop-eclipse-plugin-1.2.1.jar
打开eclipse已出现以下界面:
右击opt选择Upload Files to DFS,
若不允许上传文件,需要先在hadoop1.2.1下已经改变文件的拥有者,即执行hadoop@localhost:~/hadoop1.2.1$./bin/hadoop fs -chmod -R 777 /
若上传前的文件明明有内容,上传后却显示文件大小为0.0.
则需要在win7下开始菜单输入cmd,进入Dos操作系统,输入“ping 虚拟机的IP地址”,查看win7系统主机是否可以访问虚拟机,
在虚拟机下右击选择“open in terminal”,输入“ping win7主机IP地址”,查看虚拟机是否可以访问win7主机。
(1)若不能访问,首先查看win7的IP地址和虚拟机的IP地址是否在同一网段。方案一:比如win7 ip:121.248.52.99,虚拟机1 IP:121.248.52.100,虚拟机2 IP:121.248.48.99。此时win7需要自动获取IP,虚拟机的网络适配器需要选择桥接模式。
方案二:也可以win7 ip:1192.168.13.137,虚拟机1 IP:192.168.13.10,虚拟机2 IP:192.168.13.11。此时win7需要手动设置IP,虚拟机的网络适配器需要选择仅主机模式。
(2)小插曲:
在VMware Workstation下有三种网络适配器模式:桥接模式、NAT模式和仅主机模式。
1、桥接模式
在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一台独立的主机,它直接连接物理网络,可以访问网内的任何一台计算机。默认使用VMnet0。
2、NAT模式
NAT(Network address translate)模式下,虚拟机可以配置动态IP或静态IP,宿主机能上网,虚拟机就可以访问Internet,但是主机不能访问虚拟机。所以,若要通过win7下的Eclipse向Hadoop下的HDFS上传文件,虚拟机的网络适配器就不能设置为NAT。默认使用VMnet8。
3、仅主机模式
仅主机模式提供了主机和虚拟机之间的网络互访。虚拟机和宿主机之间有数据交换,而虚拟机不可以访问Internet。默认使用VMnet1。
下面已第一种方案为例。
(3)设置win7的IP地址
1、win7下打开网络共享中心,点击本地连接,
2、选择属性
3、点击Internet协议版本4(TCP/IPv4)
4、选择自动获得IP地址
5、在开始菜单下输入cmd,在DOS操作系统下输入ipconfig,查看win7 IP地址为121.248.*.*
(4)设置虚拟机的IP地址
1、在虚拟下,则右击虚拟机,选择设置,将网络适配器选择为桥接模式,如下图所示。
2、在虚拟机终端输入dhclient,再输入ifconfig,就可看到虚拟机IP地址也为121.248.*.*
(5)关闭虚拟机的防火墙,操作如下:
1、在虚拟机终端输入setup
2、点击回车进入一下界面后,按空格键,将FireWall与Enable之间的“*”去掉后,
3、点击OK,点击Yes。成功关闭虚拟机的防火墙。
(6)关闭win7系统的防火墙。
1、点击控制面板,选择系统和安全,选择Windows防火墙,在自定义设置下关闭防火墙。
(7)验证win7和虚拟机是否可以ping通
在win7下开始菜单输入cmd,进入Dos操作系统,输入“ping 虚拟机的IP地址”,查看win7系统主机可以访问虚拟机,
在虚拟机下右击选择“open in terminal”,输入“ping win7主机IP地址”,查看虚拟机可以访问win7主机。
(8)在Eclipse下可以成功上传文件至虚拟机下的Hadoop!