
Version 1.0.0
北京博睿宏远科技发展有限公司
修改记录:
| 序号 | 版本号 | 修改时间 | 修改内容 | 修改人 | 
| 1 | 1.0.0 | 2013-05-28 | 文档初始化 | 张念礼 | 
目 录
Hadoop-Windows-安装手册 1
目 录 3
1 安装JDK 4
2 安装Cygwin 4
2.1 下载Cygwin 4
2.2 运行setup.exe 4
2.3 选择安装类型 5
2.4 选择安装目录 5
2.5 选择保存源文件目录 6
2.6 选择下载链接类型 6
2.7 选择下载点 7
2.8 连接站点 8
2.9 选择所需要安装包 9
2.10 完成安装 10
3 安装Hadoop 11
3.1 下载安装 11
3.2 修改配置文件 11
3.2.1 hadoop-env.sh 12
3.2.2 core-site.xml 12
3.2.3 hdfs-site.xml 12
3.2.4 mapred-site.xml 13
3.3 配置SSH服务 13
3.4 开启SSHD服务 13
3.5 生成密钥文件 14
3.6 启动Hadoop 14
3.7 停止Hadoop 15
3.8 web UI 15
1安装JDK
下载并安装java环境JDK(6.0及以上版本)。
注意:JDK的安装路径不要用空格。
配置环境变量,在系统变量里增加JAVA_HOME属性(如没有则添加),hadoop程序中会使用到。
以上操作的详细步骤略,你懂的……
2安装Cygwin
Cygwin是在Windows平台下模拟Unix环境的一个工具,只有通过它才可以在Windows环境下安装Hadoop。
2.1下载Cygwin
首先要下载Cygwin安装文件setup.exe(网址:http://www.cygwin.com/setup.exe)。
下载setup.ini(网址:ftp://ftp.sjtu.edu.cn/cygwin/setup.ini),并将setup.exe和setup.ini放在一个文件夹下。
2.2运行setup.exe
完成下载后,双击运行setup.exe安装程序,如下图:
2.3选择安装类型
点下一步,如下图页面(选择安装类型),选择install from internet从网络上安装,如果有已下载的文件,可选择第三项,从本地目录安装:
2.4选择安装目录
点下一步,如下图页面(选择安装目录),红色标注部分是Cygwin的安装目录(可自行选择),下面的单选项使用默认的。
2.5选择保存源文件目录
点下一步,如下图页面(选择保存源文件目录),红色标注部分是Cygwin的源文件目录(可自行选择)。
2.6选择下载链接类型
点下一步,如下图页面(选择下载数据的链接类型),如果你的网速足够快的话可以选第二项。
2.7选择下载点
点下一步,如下图页面(选择下载点),这里我们使用的是上海交大的ftp地址下载,在UserURL文本框中输入:ftp://ftp.sjtu.edu.cn/sites/cygwin.com/pub/cygwin/,然后点Add按钮,将地址添加到下载点的文本框中,然后选中添加的下载。
2.8连接站点
点下一步,如下图页面(连接站点页面),此时可能会弹出一个版本不统一的异常,可以忽略,直接点确定即可。
2.9选择所需要安装包
然后会出现下图页面(选择所需要的安装包),这里我们需要的包是:
Net Category包下的:openssh,openssl
BaseCategory包下的:sed (若需要Eclipse,必须sed)
Devel Category包下的:subversion,binutils,gcc,gcc-ming,gdb
Editors Category包下的:vim
如下图可用Search查找。
查找出相应包下的结果后,点刷新图标,可获得当前包的最新版本,后面紧跟着是所需包的bin文件和src文件,这里我所只选择bin文件。
2.10完成安装
当完成上述操作后,点下一步,会出现一个resolving dependencies页面,直接再点下一步,出现如下图页面(安装进度),这是你可以休息会……
最后选择是否安装快捷键图标,完成安装操作。当你是第一次安装时,快捷键图是灰的,这时你点完成操作,然后再点setup.exe重新安装(已下载过的文件不会被重新下载)即可出现选择安装快捷键图标。
安装完Cygwin后,把Cygwin的usr/sbin目录追加到系统环境变量PATH中(一般会 自动添加)。
3安装Hadoop
3.1下载安装
下载Hadoop安装包hadoop-1.1.2.tar.gz(http://apache.etoak.com/hadoop/common/),目前最新版本是2.0.6,但这里还是选择了稳定版本1.1.2。
将下载的tar包解压到Cygwin安装目录下的hadoop文件夹中(可自行放置)。
解压命令再啰嗦下:tar -zxvf hadoop-1.1.2.tar.gz
然后重命名:cp hadoop-1.1.2 hadoop
3.2修改配置文件
下面开始配置Hadoop需要配置的文件:(hadoop/conf目录下)
hadoop-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
3.2.1hadoop-env.sh
把里面的JAVA_HOME改掉,注意export前面的#号要去掉。
而且必须要使用Linux的路径表达方式。我的jdk路径是 C:\\JAVA\\jdk1.6.0_31,在Cygwin中对应的路径为:/cygdrive/c/java/jdk1.6.0_31。
如果JDK的路径有空格的话,启动Hadoop就会有异常,有的网站上说加转义符就没问题,本人试了后还是不行。
3.2.2core-site.xml
首先删除它,然后把hadoop/src/core目录下的core-default.xml文件复制到conf目录下,并命名为core-site.xml。然后修改其中的fs.default.name变量,如下所示。
(确保端口号(我的是9100)未被占用)
其它节点介绍:
3.2.3hdfs-site.xml
首先把它删除,然后复制src/hdfs目录下的hdfs-default.xml到conf目录下,并改名为hdfs-site.xml,然后修改dfs.replication变量,如下图示:
该变量意思是文件系统中文件的复本数量。在单独的一个数据节点上运行时,HDFS无法将块复制到三个数据节点上。
其它节点介绍:
3.2.4mapred-site.xml
首先删除它,然后复制src/mapred目录下的mapred-default.xml到conf目录下,并改名为mapred-site.xml,然后修改其mapred.job.tracker变量:
(同样确保端口号未被占用)
3.3配置SSH服务
打开桌面上CygWin图标,启动程序,输入SSH-HOST-CONFIG,会有如下提示项:
系统提示:should privilege separation be used ? 输入:no
系统提示:(Say "no" if it is already installed as a service) (yes/no)? 输入:yes
系统提示:Enter the value of CYGWIN for the daemon: [] 输入:ntsec
系统提示:Do you want to use a different name? (yes/no) 输入:no
系统提示:Create new privileged user account 'cyg_server'? (yes/no) 输入:yes
系统提示:Please enter the password:输入密码
Reenter: 确认密码
系统提示:Host configuration finished. Have fun! 成功
注:如果第二次操作SSH-HOST-CONFIG命令,首先会出现两次下面的提示:
Overwrite existing /etc/ssh_config file? (yes/no) 输入:yes
3.4开启SSHD服务
进入Window系统的服务菜单,默认启动类型是自动,我们要右键开启Cygwin的SSHD服务:如下图所示:
3.5生成密钥文件
继续回到CygWin环境:执行ssh-keygen命令生成密钥文件:
ssh-keygen然后一直回车
cd ~/.ssh
cp id_rsa_pub anthorized_keys
exit 退出Cygwin,若不退出,可能出错。
运行 ssh localhost 若有提示,则回车或输入yes。
执行 ps 若看到 有/usr/bin/ssh 进程,说明hadoop安装成功。
3.6启动Hadoop
为 了避免jobtracker,info could only be replicated to 0 node,instead of 1错误,最好把 hadoop/conf目录下面的 masters和slaves文件全部改为127.0.0.1(原内容为:localhost)。
在hadoop目录下创建目录logs,用于保存日……
格式化文件系统,即namenode,创建HDFS。
进入hadoop的bin目录,执行命令: hadoop namenode -format,下面示代表成功
启动Hadoop,执行命令: ./start-all.sh
在Windows系统上启动Hadoop时,会报这个异常:Failed to set permissions of path: \mp\\hadoop-Administrator\\mapred\\local\tprivate to 0700。
这是Windows下文件权限问题,在Linux下可以正常运行,不存在这样的问题。
解决方法是:修改/hadoop-1.1.2/src/core/org/apache/hadoop/fs/FileUtil.java里面的checkReturnValue方法,注释掉即可(有些粗暴,在Window下,可以不用检查),重新编译打包hadoop-core-1.1.2.jar,替换掉hadoop-1.1.2根目录下的hadoop-core-1.0.2.jar即可。
执行jps命令,你可能会看到如下图:
执行./hadoop fs -ls / 命令会看到如下图:
执行PS命令,能看到5个JVM进程。
3.7停止Hadoop
执行命令: ./stop-all.sh
3.8web UI
Hadoop 重要的端口:
Job Tracker 管理界面:50030
HDFS 管理界面 :50070
HDFS通信端口:9100
MapReduce通信端口:9101
常用访问页面:
HDFS 界面:http://hostname:50070
MapReduce 管理界面:http://hostname:50030
