inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish )。
Hadoop是Apache基金会下的一个开源云计算平台项目。当前最新版本是hadoop 0.20.1。下面就hadoop 0.20.1为蓝本,介绍在Ubuntu Linux 9.10下安装hadoop的方法。
支持的平台:
Linux,可作为开发和产品部署的平台;
Windows,可作为开发平台。
事先需要的软件:
1.JavaTM1.6.x,必须安装,建议选择Sun公司发行的Java版本;
2.ssh必须安装,并保证sshd运行,hadoop将以ssh进行通讯;
3.如果是windows,则需要装Cygwin,用以支持shell命令。
安装可用的模式:
1.本地模式;
2.伪分布模式;
3.完全分布模式。
完全分布模式安装步骤(这里的步骤只让hadoop能跑,不带任何调优步骤):
1.下载并解压hadoop到集群中某台服务器目标目录。
2.配置/etc/hosts文件
2.1确认集群中所有服务器均有hostname,并记录IP
2.2每一台服务器的/etc/hosts文件里配置hostname和IP对应关系,加快解析速度。
3.配置SSH免密码登陆
3.1每台服务器上运行:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3.2把各台服务器的~/.ssh/authorized_keys文件内容合并到一个总的authorized_keys文件;
3.3把那个总的authorized_keys文件scp到每台服务器,替换原有的authorized_keys文件;
3.4互相SSH对方机器,确认SSH登陆不需要密码
4.配置各台服务器时间,确保每台服务器时间相同;
5.配置hadoop
5.1配置conf/hadoop-env.sh文件
配置JAVA_HOME一行,配置正确的路径。
5.2配置conf/core-site.xml文件
注:这里的host必须改为对应的namenode的hostname
5.3配置conf/hdfs-site.xml文件
如果不修改使用默认设置也可以。
5.4配置conf/mapred-site.xml文件
注:这里的host必须改为对应的namenode的hostname
6.配置conf/slaves和conf/master文件
slaves文件里写datanode的hostname或IP,master里写namenode、secondary namenode的hostname或IP,每行写一个服务器,以#开头的行视为注释。
7.分发hadoop
直接通过scp,把hadoop整个目录复制到各台服务器的相同目录即可
8.格式化hadoop的namenode
执行命令:$ bin/hadoop namenode -format
9.启动hadoop
执行命令:$ bin/start-all.sh
至此,完全分布式安装完毕,通常启动到所有服务器完全识别出来需要一定的时间(我这里是5分钟左右),要耐心等待,在namenode节点上,打开浏览器,输入http://localhost:50070/即可看到整个hadoop情况,JobTracker情况可以看每一个服务器的http://localhost:50030/。