Windows下通过Cygwin搭建Hadoop 1.0.4 运行环境

说明及前期准备

为什么要在windows下配置hadoop?

  • 最适合运行hadoop的平台是linux,毕竟hadoop的文件系统是基于linux的文件系统构建的。因此可选的hadoop运行方案有:真机下的Linux运行,虚拟机下的Linux运行,Windows中安装Cygwin运行。
  • 内存够大,CPU速度够快,想体验原生Linux环境又不想脱离开Windows可以借助虚拟机运行hadoop。
  • Cygwin为我们模拟了一个Linux环境(去官网查看更多的介绍),在Windows中使用Cygwin的好处是不用安装Linux虚拟机,可以直接在Windows中执行伪Linux命令,对于常在Windows下工作的用户而言是个不错的选择,也便于针对hadoop开发Map/Reduce应用。

去官网把下面的东西搞到

  1. 下载并安装jdk(Windows版本的),建议使用最新的1.7版;
  2. 去Cygwin官网下载setup.exe安装程序;
  3. 去hadoop官网下载稳定版本1.0.4的bin.tar.gz包

Cygwin安装配置

安装Cygwin不要让安装路径中出现空格,比如不要安装到C:\Program Files\Cygwin

在下面的安装界面中搜索并安装一下软件(默认是skip的):ssh(hadoop需要),vim(编辑配置文件),wget(下载用)。

无标题

Cygwin中的ssh服务配置

具体的配置方法就不详细叙述了,参考一下链接进行配置:http://blog.chinaunix.net/uid-25603759-id-252295.html

为Cygwin添加Windows jdk目录的软连接

hadoop还不能很好地处理路径中的空格,所以如果你安装jdk的路径中包含空格,需要额外处理一下,没有空格的话跳过此步。

我们使用软连接的方式解决空格问题:

打开cygwin的控制台,输入以下命令(视具体路径而定)

image

Hadoop单节点(Single Node)配置

1. 首先将下载的hadoop放到你的主目录(cygwin安装目录下的home/用户名)中,使用tar –xzvf hadoop_1.0.4.bin.tar.gz将hadoop解压。

2. 转到hadoop的conf目录,使用vi编辑hadoop-env.sh运行环境相关配置,去掉export JAVA_HOME前面的#注释,修改为本机对应的jdk目录。

注意:JAVA_HOME的设置,如果已经设置了jdk目录的软连接,直接填写软连接的目录,可避免路径中包含空格的问题,如:/usr/local/jdk1.7.0_09

3. 分配配置以下3个文件:

conf/core-site.xml:

<configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>
     </property>
</configuration>

conf/hdfs-site.xml:

<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
</configuration>

conf/mapred-site.xml:

<configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>localhost:9001</value>
     </property>
</configuration>


4. 设置ssh免登陆:在Cygwin中使用如下命令设置不需要密码的dsa秘钥对。

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

设置完成后使用ssh localhost测试能否登陆到本机,如果无法连接请查看ssh服务的配置是否正确。

运行Hadoop

1. 首先要格式化hadoop文件系统(只需第一使用的时候,或是hadoop出现重大的难以修复的故障是才格式化)

$ bin/hadoop namenode –format

2. 启动hadoop

$ bin/start-all.sh

3. 测试hadoop是否正常启动

访问namenode节点:http://localhost:50070/

访问jobtracker节点:http://localhost:50030/

如果以上2个节点都能正常访问说明hadoop已经正常启动了,如果不能正常访问可以查看${HADOOP_HOME}/logs目录下的日志,找到错误原因。

posted @ 2012-11-18 14:59  StanZhai  阅读(2465)  评论(1编辑  收藏  举报