Ubuntu 13.04上搭建Hadoop环境
首先要了解一下Hadoop的运行模式:
单机模式(standalone)
单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
伪分布模式(Pseudo-Distributed Mode)
伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。
全分布模式(Fully Distributed Mode)
Hadoop守护进程运行在一个集群上。
版本:Ubuntu 13.04,Hadoop 1.2.0
1.添加hadoop用户到系统用户
安装前要做一件事——添加一个名为hadoop到系统用户,专门用来做Hadoop测试。
~$ sudo addgroup hadoop
~$ sudo adduser --ingroup hadoop hadoop
现在只是添加了一个用户hadoop,它并不具备管理员权限,因此我们需要将用户hadoop添加到管理员组:
~$ sudo usermod -aG admin hadoop
2、安装JDK
3.安装ssh
由于Hadoop用ssh通信,先安装ssh
sudo apt-get install openssh-server
ssh安装完成以后,先启动服务:
sudo /etc/init.d/ssh start
启动后,可以通过如下命令查看服务是否正确启动:
ps -e | grep ssh
建立ssh无密码登录本机.首先要转换成hadoop用户:
01.su - hadoop
作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:
hadoop@scgm-ProBook:~$ ssh-keygen -t rsa -P ""
因为我已有私钥,所以会提示是否覆盖当前私钥。第一次操作时会提示输入密码,按Enter直接过,这时会在~/home/{username}/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥,现在我们将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
现在可以登入ssh确认以后登录时不用输入密码:
ssh localhost
登出:
exit
第二次登录:
ssh localhost
登出:
exit
这样以后登录就不用输入密码了。