Windows下运行Hadoop,通常有两种方式:

  • 第一种是用VM方式安装一个Linux操作系统,这样基本可以实现全Linux环境的Hadoop运行。
  • 第二种是通过Cygwin模拟Linux环境。

后者的好处是使用比较方便,安装过程也简单。在这里咱们就基于第二种方案在Windows下快速安装一个Hadoop环境。
整个安装过程包括以下三大步骤:

一、安装JDK1.6或更高版本

  官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件中的路径加引号即可解决,但我没测试成功)。
如果你的电脑已经安装了JDK并进行了相关的配置,此处不需要安装,后面也不需要配置JAVA_HOME。

二、Cygwin的安装和配置

1、安装Cygwin

  Cygwin是Windows平台下模拟Linux环境的工具,需要在安装Cygwin的基础上安装Hadoop,下载地址:http://www.cygwin.com/
根据操作系统的需要下载32位或64的安装文件。

(1)双击下载好的安装文件,点击下一步,选择install from internet

windows hadoop安装 windows安装hadoop及配置_Hadoop

(2)下一步,选择Cygwin的安装位置

windows hadoop安装 windows安装hadoop及配置_windows hadoop安装_02

(3)下一步,选择Cygwin安装文件的下载位置

windows hadoop安装 windows安装hadoop及配置_hadoop_03

(4)下一步,选择Internet的连接方式,这里我们选择Direct Connection即可

windows hadoop安装 windows安装hadoop及配置_Hadoop_04

(5)下一步,选择下载网址

windows hadoop安装 windows安装hadoop及配置_hdfs_05

(6)下一步,展开net节点,选择如下openssh和openssl两项

windows hadoop安装 windows安装hadoop及配置_hdfs_06


如果要在Eclipe上编译Hadoop,需要安装Category为Base下的sed

windows hadoop安装 windows安装hadoop及配置_hadoop_07


如果想在Cygwin上直接修改hadoop的配置文件,可以安装Editors下的vim

windows hadoop安装 windows安装hadoop及配置_windows hadoop安装_08

(7)下一步,等待安装

2、配置环境变量

在“我的电脑”上点击右键,选择菜单中的“属性”,点击属性对话框上的高级页签,点击”环境变量”按钮,在系统变量列表里双击“Path”变量,在变量值后输入安装的Cygwin的bin目录,例如:C:\cygwin64\bin

3、安装sshd服务

双击桌面上的Cygwin图标,启动Cygwin,执行ssh-host-config -y命令

windows hadoop安装 windows安装hadoop及配置_cygwin_09

执行后,会提示输入密码,否则会退出该配置,此时输入密码和确认密码,回车。最后出现Host configuration finished.Have fun!表示安装成功。
输入net start sshd,启动服务。或者在系统的服务里找到并启动Cygwin sshd服务。
可能会遇到无法安装和启动sshd服务的问题,可参考此连接。
另外,如果是Win8操作系统,启动Cygwin时,需要以管理员身份运行(右键图标,选择以管理员身份运行),否则会因为权限问题,提示“发生系统错误5”。

4、配置SSH免密码登录

执行ssh-keygen命令生成密钥文件
如下图所示,输入:ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa,注意-t -P -f参数区分大小写。
ssh-keygen是生成密钥命令:

  • -t 表示指定生成的密钥类型(dsa,rsa)
  • -P表示提供的密语
  • -f指定生成的密钥文件。

注意:~代表当前用户的文件夹,/home/用户名

windows hadoop安装 windows安装hadoop及配置_windows hadoop安装_10


执行此命令后,在你的Cygwin\home\用户名 路径下面会生成.ssh文件夹,可以通过命令ls -a /home/用户名 查看,ssh -version命令查看版本。

执行完ssh-keygen命令后,再执行下面命令,就可以生成authorized_keys文件了。

cd ~/.ssh/

cp id_dsa.pub authorized_keys

如下图所示:

windows hadoop安装 windows安装hadoop及配置_windows hadoop安装_11


然后执行exit命令,退出Cygwin窗口。

5、连接SSH服务

再次在桌面上双击Cygwin图标,打开Cygwin窗口,执行ssh localhost命令,第一次执行该命令会有提示,输入yes后,回车即可。如下图所示

windows hadoop安装 windows安装hadoop及配置_Hadoop_12

至此,Cygwin的安装和配置就完成了。

三、Hadoop的安装和配置

hadoop官网下载http://hadoop.apache.org/releases.html

把hadoop压缩包解压到“/home/用户名”目录下,文件夹名称更改为hadoop,可以不修改,但后边在执行命令时稍显麻烦。

1、配置Hadoop

hadoop的配置有两种方式,一种是单机模式,另一种是伪分布模式。
单机模式配置方式:
单机模式不需要配置,这种方式下,Hadoop被认为是一个单独的Java进程,这种方式经常用来调试。

伪分布模式:
可以把伪分布模式看作是只有一个节点的集群,在这个集群中,这个节点既是Master,也是Slave,既是NameNode,也是DataNode,既是JobTracker,也是TaskTracker。
这种模式下修改几个配置文件即可。
(1)配置hadoop-env.sh,记事本打开改文件,设置JAVA_HOME的值为你的JDK安装路径,例如:JAVA_HOME=”D:\hadoop\Java\jdk1.7.0_25”,如果你的环境变量里面已经配置了JAVA_HOME,此处不需要再次配置。

(2)配置core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>mapred.child.tmp</name>
    <value>/home/u/hadoop/tmp</value>
  </property>
</configuration>

(3)配置hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
  <property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
</configuration>

(4)配置mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
  <property>
    <name>mapred.child.tmp</name>
    <value>/home/u/hadoop/tmp</value>
  </property>
</configuration>

2、启动Hadoop

打开Cgywin窗口,执行cd ~/hadoop命令,进入hadoop文件夹,如下图:

windows hadoop安装 windows安装hadoop及配置_cygwin_13


  

启动Hadoop前,需要先格式化Hadoop的文件系统HDFS,执行命令:bin/hadoop namenode -format

注意:namenode要小些,否则如果输入NameNode,会提示错误,找不到或无法加载主类NameNode。

执行正确命令后如下图所示:

windows hadoop安装 windows安装hadoop及配置_hadoop_14

输入命令 bin/start-all.sh,启动所有进程,如下图:

windows hadoop安装 windows安装hadoop及配置_windows hadoop安装_15

3、验证是否安装成功

打开浏览器,分别以下网址,如果能够正常浏览,说明安装成功。

http://localhost:50070,回车打开NameNode的web页面,如下图(页面部分截图):

windows hadoop安装 windows安装hadoop及配置_cygwin_16