在Ubuntu Server 8.10上搭建Hadoop-0.19.0环境

在Ubuntu Server 8.10上搭建基于Hadoop-0.19.0的分布式运行环境

(VMware workstation版)

长期以来,一直很喜欢研究分布式的技术,也一直想尝试搭建一个分布式编程环境,最近看到一些文章讨论Hadoop很多,而且也看到Google也使用Hadoop开发了搜索引擎,因此想尝试着自己也弄一个玩玩,在网上查到了几篇文章讨论了Hadoop环境的搭建,但是讲的都不是很明白,我跟随这些文章Step by step,本以为会是很顺利,但是却遇到诸多磕磕绊绊,很棘手,在网上查了很久,试了很多方法,走了很多弯路才最终解决。好在所有问题都解决了,昨天晚上,终于把环境搭起来,并运行了一遍,Hadoop的Wordcount例子,很顺利地通过了,今天准备把自己的这些天的“搭建之旅”,讲出来,算是给自己的工作做一个注解吧。

之所以选择Ubuntu,是因为这个操作系统很简洁,很容易配置,而且占用硬盘空间比较小,我的T61上2G内存支持2个虚拟机Ubuntu服务器是没问题的,而且速度很快,虚拟机环境我选择的是VMware-workstation-6.5.1-126130,官网上Download的。开始在我的XP Professional上安装VMware,并在它上面安装Ubuntu Server 8.10,一切都很顺利,都是默认设置,包括硬盘(8G)和内存(512M)分配等,配置低可要吃苦头哦,值得一提的有两点,

1、Ubuntu在安装时候需要把SSH Server安装上,这样免得你以后安装SSH软件比较麻烦,因为Hadoop是通过SSH来与各个机器通讯的。安装时候记得不不要安装Ubuntu自带的JDK,也就是Virual Machine Host(BSD OpenJDK),没用,我们需要的SUN JDK。

2、是网络配置,现在网上很多讲VM上网络配置的文章,我看了好几篇都没有看明白,也是因为自己一直没有碰过VMware。别的不说了,我只说一下我的经历吧,我在家里搭建了一个环境,在单位也搭建了一个环境。家里的是宽带PPPoE上网的,单位是静态IP的局域网通过代理上网。由于我不想用NAT上网,所以就都用了Bridged的方式,而且都是Replicated physical network connection state,这种方式使得虚拟机都在独立存在于网上的,容易访问,有种看得见摸得找的感觉。

网址的配置

家里:我使用的是DHCP动态分配网址,配置文件/etc/network/interfaces,我没有改动,就是:

iface eth0 inet dhcp

auto eth0

单位:修改了/etc/network/interfaces,添加了IP地址,子网掩码,网关。

iface eth0 inet static

address 10.8.83.200

netmask 255.255.255.0

gateway 10.8.83.254

auto eth0

命令如下:sudo vi /etc/network/interfaces,至于vi的操作命令俺在这里就不说了,自己上网查吧。

DNS配置:

家里的配置,我也没有管,也是自动获取的。而单位的配置是修改了/etc/resolv.conf文件。在文件的最末行添加了以下代码:nameserver 10.8.83.11。

还有重要的两个配置需要注意:

1、需要配置/etc/hostname:

命令如下:sudo /etc/hostname

改掉localhost,换成,你自己喜欢的名字,如我的就是ubuntu1,这样你安装的系统就有了一个主机名了,但是一定唯一。

2、需要配置/etc/hosts

命令如下:sudo /etc/hosts

打开这个文件在文件第一行会显示如下文字:

127.0.0.1               localhost

下面的文字不要看。添加上一行如下:

127.0.0.1               ubuntu1.localdomain   ubuntu1

然后保存文件。如果你是静态IP,将127.0.0.1换成你所指定的IP,如果你是动态DHCP的IP,那么你需要查找到动态分配给这个虚拟机的IP,然后替换127.0.0.1。

这样网络配置就完成了,重启网络使之生效:sudo /etc/init.d/networking restart

由于单位是通过代理来上网的,因此单位还需要配置代理,代理在安装的时候我就配置过,可一上网就连接不上,我估计是配置错了,上网一查,很多人说如果设置全局代理,可以在profile里增加配置。其实我的需求很简单,就是能apt update就可以了,因此选择修改~/.bashrc,在.bashrc文件末尾添加如下内容(根据你的实际情况替换yourproxyaddress和proxyport):

export http://[user:password]@yourproxyaddress:proxyport。

使用的命令如下:sudo vi ~/.bashrc

这样在家里和单位尝试 ping www.sohu.com,都可以ping通。没问题。

相关推荐