开发环境,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已出现以下界面:

hadoop 命令上传文件 向hadoop上传文件_Hadoop ecliple 文件上传为

右击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、在虚拟下,则右击虚拟机,选择设置,将网络适配器选择为桥接模式,如下图所示。

hadoop 命令上传文件 向hadoop上传文件_hadoop 命令上传文件_02


2、在虚拟机终端输入dhclient,再输入ifconfig,就可看到虚拟机IP地址也为121.248.*.*


(5)关闭虚拟机的防火墙,操作如下:

1、在虚拟机终端输入setup

hadoop 命令上传文件 向hadoop上传文件_hadoop_03

2、点击回车进入一下界面后,按空格键,将FireWall与Enable之间的“*”去掉后,

hadoop 命令上传文件 向hadoop上传文件_hadoop 命令上传文件_04

3、点击OK,点击Yes。成功关闭虚拟机的防火墙。


(6)关闭win7系统的防火墙。

1、点击控制面板,选择系统和安全,选择Windows防火墙,在自定义设置下关闭防火墙。

hadoop 命令上传文件 向hadoop上传文件_hadoop_05

(7)验证win7和虚拟机是否可以ping通

在win7下开始菜单输入cmd,进入Dos操作系统,输入“ping 虚拟机的IP地址”,查看win7系统主机可以访问虚拟机,

在虚拟机下右击选择“open in terminal”,输入“ping win7主机IP地址”,查看虚拟机可以访问win7主机。

(8)在Eclipse下可以成功上传文件至虚拟机下的Hadoop!

hadoop 命令上传文件 向hadoop上传文件_hadoop_06