初学hadoop,折腾了几天总算把hadoop0.20.2在windows上安装成功了。因为网上很多安装成功的资料都是用的hadoop0.20.2,所以我们初学就先用这个版本。
本文安装环境概述:
windows7
jdk1.6.0_43
cygwin
openssh
hadoop0.20.2
hadoop0.20.2版本比较老,所以最好用jdk6,不要用jdk7,以免出现一些奇怪的问题。
1.安装cygwin和openssh,配置ssh免密码登陆
可以参考另一篇文章[url]http://xpenxpen.iteye.com/blog/2061856[/url]
不要小看这步,这步没做好,后面都是徒劳。本人就在这栽跟头了,浪费了很多时间。
2. 下载hadoop0.20.2
hadoop所有的历史版本可以在这里找到
[url]http://archive.apache.org/dist/hadoop/core[/url]
下载完了,解压。比如我们解压到d盘。D:\opensource\hadoop\hadoop-0.20.2
3.创建符号链接(仅限Win7)
这步是比较关键的一步,因为hadoop的代码编写没有考虑到windows系统,所以tmp目录的定位是比较乱的,这里将c:\tmp,d:\tmp全部链接到cygwin下的tmp目录,后面就不会报诸如tmp目录找不到的错了。d:\tmp是由于我将hadoop-0.20.2解压到D盘了,c:\tmp则是因为cygwin装在C盘。如果你装在别的盘上了,则改成相应的盘符。
4. 修改/home/<user>/.bashrc
所指的home是C:\cygwin64\home
重新进入cygwin确认
5.修改hadoop-0.20.2/conf/hadoop-env.sh
6.修改hadoop-0.20.2/conf目录下的3个配置文件
core-site.xml
hdfs-site.xml
mapred-site.xml
7.格式化名称节点
会创建C:\cygwin64\tmp\hadoop-<user>\dfs\name目录
8.启动集群
9.检查是否正常
9.1 访问网页查看状态
访问http://localhost:50030查看 JobTracker 的运行状态
访问http://localhost:50060查看 TaskTracker 的运行状态
访问http://localhost:50070查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等
9.2 查看进程,应该有5个java进程
9.3 检查C:\cygwin64\tmp目录下文件是否都生成了
[img]http://dl2.iteye.com/upload/attachment/0103/0883/14acd413-7787-3c23-bc6a-103e970c3d61.jpg[/img]
10.停止集群
11.wordcount测试
hadoop目录下有一个hadoop-0.20.2-examples.jar,自带wordcount,顺利安装完hadoop后可以测试一下。
首先找一个文本文件,比如http://introcs.cs.princeton.edu/java/data/dickens.txt
然后将这个文件放到hdfs上
然后运行wordcount
如果一切顺利,可以看到单词的统计出来了。
查看一下aa.txt,内容正确的话就表明hadoop安装无误了。
12.参考资料
[url]http://yangshangchuan.iteye.com/blog/1839814[/url]
本文安装环境概述:
windows7
jdk1.6.0_43
cygwin
openssh
hadoop0.20.2
hadoop0.20.2版本比较老,所以最好用jdk6,不要用jdk7,以免出现一些奇怪的问题。
1.安装cygwin和openssh,配置ssh免密码登陆
可以参考另一篇文章[url]http://xpenxpen.iteye.com/blog/2061856[/url]
不要小看这步,这步没做好,后面都是徒劳。本人就在这栽跟头了,浪费了很多时间。
2. 下载hadoop0.20.2
hadoop所有的历史版本可以在这里找到
[url]http://archive.apache.org/dist/hadoop/core[/url]
下载完了,解压。比如我们解压到d盘。D:\opensource\hadoop\hadoop-0.20.2
3.创建符号链接(仅限Win7)
mklink /d c:\tmp c:\cygwin64\tmp
mklink /d d:\tmp c:\cygwin64\tmp
这步是比较关键的一步,因为hadoop的代码编写没有考虑到windows系统,所以tmp目录的定位是比较乱的,这里将c:\tmp,d:\tmp全部链接到cygwin下的tmp目录,后面就不会报诸如tmp目录找不到的错了。d:\tmp是由于我将hadoop-0.20.2解压到D盘了,c:\tmp则是因为cygwin装在C盘。如果你装在别的盘上了,则改成相应的盘符。
4. 修改/home/<user>/.bashrc
所指的home是C:\cygwin64\home
export JAVA_HOME=/cygdrive/c/jdk1.6.0_43
export PATH=/cygdrive/d/opensource/hadoop/hadoop-0.20.2/bin:$JAVA_HOME/bin:$PATH
重新进入cygwin确认
$ which java
/cygdrive/c/jdk1.6.0_43/bin/java
$ which hadoop
/cygdrive/d/opensource/hadoop/hadoop-0.20.2/bin/hadoop
5.修改hadoop-0.20.2/conf/hadoop-env.sh
export JAVA_HOME=/cygdrive/c/jdk1.6.0_43
export HADOOP_LOG_DIR=/tmp/logs
6.修改hadoop-0.20.2/conf目录下的3个配置文件
core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>4</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>4</value>
</property>
7.格式化名称节点
hadoop namenode -format
会创建C:\cygwin64\tmp\hadoop-<user>\dfs\name目录
8.启动集群
start-all.sh
9.检查是否正常
9.1 访问网页查看状态
访问http://localhost:50030查看 JobTracker 的运行状态
访问http://localhost:50060查看 TaskTracker 的运行状态
访问http://localhost:50070查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等
9.2 查看进程,应该有5个java进程
$ ps -ef | grep java
pchen4 8404 1 ? 12:55:30 /cygdrive/c/jdk1.6.0_43/bin/java
pchen4 7596 1 ? 12:55:19 /cygdrive/c/jdk1.6.0_43/bin/java
pchen4 3596 1 pty1 12:55:37 /cygdrive/c/jdk1.6.0_43/bin/java
pchen4 6836 1 ? 12:55:49 /cygdrive/c/jdk1.6.0_43/bin/java
pchen4 8144 1 pty1 12:55:06 /cygdrive/c/jdk1.6.0_43/bin/java
9.3 检查C:\cygwin64\tmp目录下文件是否都生成了
[img]http://dl2.iteye.com/upload/attachment/0103/0883/14acd413-7787-3c23-bc6a-103e970c3d61.jpg[/img]
10.停止集群
stop-all.sh
11.wordcount测试
hadoop目录下有一个hadoop-0.20.2-examples.jar,自带wordcount,顺利安装完hadoop后可以测试一下。
首先找一个文本文件,比如http://introcs.cs.princeton.edu/java/data/dickens.txt
然后将这个文件放到hdfs上
hadoop fs -put dickens.txt input/dickens.txt
然后运行wordcount
hadoop jar hadoop-0.20.2-examples.jar wordcount input output
如果一切顺利,可以看到单词的统计出来了。
hadoop fs -cat output/part-r-00000 > aa.txt
查看一下aa.txt,内容正确的话就表明hadoop安装无误了。
12.参考资料
[url]http://yangshangchuan.iteye.com/blog/1839814[/url]