在Windows下配置,还需要当心IP地址和eclipse配置时的问题,这需要单独说一下。
在Ubuntu下eclipse新建HadoopIP直接填localhost就好,但是在Windows下肯定是不行的,它需要连接到虚拟机中的hadoop,这里涉及到配置虚拟机Ubuntu的固定IP,还设计到telnet服务,比较麻烦,我们一个一个讲(所以说,还是推荐在Ubuntu下使用eclipse连接hadoop)
1. 配置虚拟机IP地址:这一步,这个教程的简单粗暴就体现出来了,如何简单地固定虚拟机的IP地址呢。传统的固定IP的方法是在VMware设置完后,再在Ubuntu中设置获取IP的方法,这种方法当然结果一定正确,也最普适。这里有一篇文章讲到这种方法 VMware下Ubuntu 14.04静态IP地址的设置方法 见
我觉得上面提到的方式太复杂了,没有照着做。
我的方法是:
在VMware中->编辑->虚拟网络编辑器->Vmnet8->修改最下面显示的子网IP,比如改为192.168.100.0 ->再修改DHCP设置中的开始IP和结束IP,比如开始IP改为192.168.100.128,结束IP改为192.168.100.129
附图
这种方法的好处是不需要再在Ubuntu中设置什么了,Ubuntu如果联网,一定只能获取一个IP,按照这里的修改方法,IP为192.168.100.128。当然,缺点也是很明显的,所有VMware下的虚拟机都是这一个IP,如果要多开虚拟机的话一定会有问题。不过我们这是Hadoop伪分布式配置,只使用一个虚拟机,而且多个虚拟机我的笔记本电脑也受不了,所以这个问题目前不用考虑。
2. 配置talnet服务Windows连接Ubuntu需要talnet服务,Windows默认可能是关闭这个服务的,我们需要首先到控制面板->程序与功能->左侧面板 找 启动或关闭Windows功能->找到talnet客户端,打对勾开启功能
然后,Ubuntu默认也是没有这项功能的,需要我们自己安装
安装openbsd-inetd ,运行命令:
sudo apt-get install openbsd-inetd
然后是telnet,运行命令:
sudo apt-get install telnet
配置,运行命令:
sudo gedit /etc/inetd.conf
在打开的文件中加入以下一行
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd1
2
重启openbsd-inetd,运行命令:
sudo /etc/init.d/openbsd-inetd restart
使用命令netstat -a | grep telnet命令查看是否开启telnet
没有任何显示的话就是没开启,开启的话,在Windows下命令行输入talnet 192.168.100.128会显示一个没有文字的黑框或者提示登陆,注意,这里的IP地址也是我们在VMvare中配置的
3. Ubuntu配置hadoop的IP
这一步比较混乱,我试了好久,糊里糊涂找到一种可行的方法,却想不清楚缘由。
首先修改hosts文件,将VMware分配的固定的IP加入:这里,我直接将原先有的127.0.0.1 ubuntu改成了192.168.100.128 ubuntu,没有问题。
修改hadoop下的core-site.xml文件:
这个文件中,我们曾配置过IP地址为localhost,现在,我们为了Windows连接到hadoop,将其改为192.168.100.128,保存
启动hadoop,在hadoop文件下打开命令行,输入sbin/start-all.sh
测试
这个时候在ubuntu的命令行里输入netstat -a | grep tcp应该能看到192.168.100.128(我的对应主机名正是ubuntu)下有监听端口9000。在Windows中也打开命令行telnet相应端口,输入telnet 192.168.100.128 9000,没有问题的话会像之前测试telnet功能一样只显示一个黑框
4. 配置Windows下的eclipse
这里就和上一篇博文中提到的ubuntu下配置eclipse大同小异了
1. 首先,将hadoop-eclipse插件放入eclispe安装目录的plugins目录下
2. window->Preference->左侧Hadoop Map/Reduce->右侧browse ,选择Hadoop的安装目录
3. 然后在eclipse的window选项卡下找到show view->other->选择Map/Reduce Tool下的Map/Reduce Location即可。同时,这时,在Project Explorer中可以看到一个DFS Location的文件夹,Hadoop的HDFS文件系统的文件都会显示在这里,之后我们开发就不用使用命令行向HDFS中拷贝文件了,直接在这里拷贝就行
4. 连接hadoop
首先确保Ubuntu的hadoop正常启动,然后在Windows下的eclipse中新建一个hadoop,配置如图:
IP输配置好的(我的是192.168.100.128),端口是9001,另一个选项栏打对勾(选中是伪分布模式),端口是9000(到此位置和在Ubuntu下的配置相同)。然后另一个选项卡找hadoop.tem.dir,填Ubuntu下hadoop的临时文件目录,与core-site.xml中配置的是一样的。确认,等一会儿就会出现hadoop的文件夹了(速度比较慢)
至此,不出意外的话Windows下eclipse就连接到虚拟机中的hadoop了。不得不说,两边开两个重型软件,我的电脑比较卡,还是在Ubuntu下用Eclipse感觉流畅一些。
Hadoop项目之基于CentOS7的Cloudera 5.10.1(CDH)的安装部署
Ubuntu 16.04上构建分布式Hadoop-2.7.3集群
CentOS 7.3下Hadoop2.8分布式集群安装与测试