2.3 在Windows上安装与配置Hadoop
2.3.1 安装JDK 1.6或更高版本
相对于Linux,JDK在Windows上的安装过程更容易,你可以在http://www.java.com/zh_CN/download/manual.jsp下载到最新版本的JDK。这里再次申明,Hadoop的编译及MapReduce程序的运行,很多地方都需要使用JDK的相关工具,因此只安装JRE是不够的。
安装过程十分简单,运行安装程序即可,程序会自动配置环境变量(在之前的版本中还没有这项功能,新版本的JDK已经可以自动配置环境变量了)。
2.3.2 安装Cygwin
Cygwin是在Windows平台下模拟UNIX环境的一个工具,只有通过它才可以在Windows环境下安装Hadoop。可以通过下面的链接下载Cygwin:http://www.cygwin.com/。
双击运行安装程序,选择install from internet。
根据网络状况,选择合适的源下载程序。
进入select packages界面,然后进入Net,选中OpenSSL及OpenSSH(如图2-1所示)。
如果打算在Eclipse上编译Hadoop,还必须安装Base Category下的sed(如图2-2所示)。
另外建议安装Editors Category下的vim,以便在Cygwin 上直接修改配置文件。
2.3.3 配置环境变量
依次右击“我的电脑”,在弹出的快捷菜单中依次单击“属性”→“高级系统设置”→“环境变量”,修改环境变量里的path设置,在其后添加Cygwin的bin目录。
2.3.4 安装sshd服务
单击桌面上的Cygwin图标,启动Cygwin,执行ssh-host-config命令,当要求输入Yes/No时,选择输入No。当显示“Have fun”时,表示sshd 服务安装成功。
2.3.5 启动sshd服务
在桌面上的“我的电脑”图标上右击,在弹出的快捷菜单中单击“管理”命令,启动CYGWIN sshd 服务,或者直接在终端下输入下面的命令启动服务:
net start sshd
2.3.6 配置SSH免密码登录
执行ssh-keygen命令生成密钥文件。按如下命令生成authorized_keys文件:
cd ~/.ssh/
cp id_rsa.pub authorized_keys
完成上述操作后,执行exit 命令先退出Cygwin 窗口,如果不执行这一步操作,后续的操作可能会遇到错误。
接下来,重新运行Cygwin,执行ssh localhost 命令,在第一次执行时会有提示,然后输入yes,直接回车即可。
2.3.7 安装并运行Hadoop
在Windows上安装Hadoop与在Linux上安装的过程一样,这里就不再赘述了,不过有两点需要注意:
1)在配置conf/hadoop-evn.sh文件中Java的安装路径时,如果路径之间有空格,需要将整个路径用双引号引起来。例如可以进行配置:
export JAVA_HOME="/cygdrive/c/Program Files/Java/jdk1.6.0_22"
其中cygdrive表示安装cygdrive之后系统的根目录。
另外一种办法是在cygwin窗口使用类似下面的命令创建文件链接,使后面的文件指向Windows下安装的JDK,然后将conf/hadoop-env.sh中JDK配置为此链接文件:
$ ln -s /cygdrive/c/Program\ Files/Java/jdk1.6.0_22 /usr/local/jdk
2)在配置conf/mapred-site.xml文件时,应增加对mapred.child.tmp属性的配置,配置的值应为一个Linux系统的绝对路径,如果不配置,Job在运行时就会报错。具体配置为:
<property>
<name>mapred.child.tmp</name>
<value>/home/Administrator/hadoop-1.0.1/tmp</value>
</property>
同样需要在conf/core-site.xml文件中为hadoop.tmp.dir属性配置一个和mapred.child.tmp属性相似的绝对路径。