配置环境Ubuntu8.04, Ubuntu9.04(其它版本未测试)
第一步:安装配置java (参考http://blog.sina.com.cn/s/blog_59c1f90e0100b72c.html)
第二步:为Hadoop 添加一个专用的系统用户,这里用户名和组名都为hadoop
$ sudo addgroup hadoop
$ sudo adduser –ingroup hadoop hadoop
第三步:配置SSH
(如果系统没有安装,在Ubuntu下
Sudo apt-get install openssh-serner openssh-client)
1.
webir@webir-desktop:~$ su hadoop
hadoop@webir-desktop:/home/webir$ ssh-keygen -t rsa -P "" (注意P要大写)
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
fe:6a:05:de:4b:f6:84:8c:8f:0d:02:fc:99:74:09:24 hadoop@webir-desktop
The key's randomart image is:
+--[ RSA 2048]----+
| E.. |
| .. |
| . . . |
| o . + |
| + =S= . |
| =.+ B . |
| ..O + |
| o.+ . |
| .... |
+-----------------+
第二行生成一个空密码的RSA 密钥对,通常不推荐使用空密码,但在这里需要锁定密钥从而避免你每次在Hadoop与其节点交互时都必须输入密码短语(密码短语(passphrase)不同与密码(password))。
2.
hadoop@webir-desktop:~$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
把刚才生成的公钥加入到认证的密钥中,这样在用ssh登录本机的时候就不需要输入密码了。如:
hadoop@webir-desktop:~$ ssh localhost 可以直接登录到本机而不需要密码。
这一步必须做,否则你在启动每一个节点时都得输入密码,而且仍然会出现”permission denied”
第三步:Hadoop 安装
首先下载Hadoop最新版本并将其解压到特定的目录。我这里选择/usr/local/hadoop 务必保证hadoop用户对此目录有读写权限。
例如:
$ cd /usr/local
$ sudo tar xzf hadoop-0.19.1.tar.gz
$ sudo mv hadoop-0.19.1 hadoop
$ sudo chown -R hadoop:hadoop hadoop
附:HDFS体系结构
HDFS(Hadoop Distributed System)是为了在普通的商用PC机上运行而设计的一款分布式系统。它与已有的许多分布式系统很相似,如GFS(the Google File System),但与这些系统最明显的区别就是HDFS 的高容错性和低成本性。HDFS还提供访问应用程序数据的高吞吐量而且适合拥有大数据集的应用程序。另外HDFS还放宽了一些POSIX对启用文件系统数据流访问的一些要求。HDFS最初是为nutch 搜索引擎开发的基础平台。HDFS是Apache Hadoop 项目的一部分;此项目是Apache Lucence项目的一部分。
配置 hadoop-env.sh
唯一需要配置的环境变量就是JAVA_HOME
进入你解压的Hadoop目录
打开conf/hadoop-env.sh,看到下面内容:
# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
去掉第二行的注释符号# 将 JAVA_HOME改为你自己的java_home的值。不知道的话,在命令行输入$JAVA_HOME 回车