我使用的是vmware workstation,首先安装ubuntu 12.04,安装完成后通过vmware的clone,clone出两个虚机,设置的IP分别是:
然后修改各个主机的/etc/hosts中的内容。
使用vi或者gedit,将上边的内容编缉进去。
先创建hadoop用户组:
然后创建用户hadoop:
注:在centos 和 redhat下直接创建用户就行,会自动生成相关的用户组和相关文件,而ubuntu下直接创建用户,创建的用户没有根目录。
给hadoop用户添加权限,打开/etc/sudoers文件;
按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。
在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL,
其实网上挺多的,参考http://blog.csdn.net/klov001/article/details/8075237,这里不详细描述了。
打开/etc/hostname文件;
分别改为master、node1和node2。
主要为ubuntu安装,cents和redhat系统自带。
ubuntu下:
做这一步之前首先建议所有的机子全部转换为hadoop用户,以防出现权限问题的干扰。
ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。
创建ssh-key,这里我们采用rsa方式;
(注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)
进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的;
可以使用ssh 主机名测试一下是否成功。
在hadoop用户下建立hadoop文件夹,然后将hadoop-1.2.0.tar.gz上传到这个目录下。
解压缩。然后到hadoop目录下conf下找到hadoop-env.sh
配置JAVA_HOME为你上面配置的JAVA_HOME。
找到core-site.xml,配置信息如下:
修改hdfs-site.xml:
修改mapred-site.xml:
修改masters:
master
修改slaves:
在master主机上的hadoop安装目录下的bin目录下,执行格式化
正常情况下会出现如下提示:

说明格式化成功。
启动所有结点:
会按先后顺序启动,启动完成后,分别到主机和两个node上使用jps查看。
master上显示如下:
node1和node2上显示:
在操作的过程中遇到了DataNode不能启动的问题,经过查看node1的hadoop的日志,发现提示错误信息:
经过查找是因为权限的问题,于是
问题解决。
在根目录下新建文件a,并且向a中随意添加字符串信息。
然后在hdfs上创建目录:
把刚才创建的文件a上传到test1下:
然后查看文件中的内容:
显示结果如下: