debian下 Hadoop 1.0.4 集群配置及运行WordCount

说明:我用的是压缩包安装,不是安装包

官网安装说明:http://hadoop.apache.org/docs/r1.1.2/cluster_setup.html,繁冗,看的眼花...大部分人应该都不是按照这个来的...按照这个做我相信也会碰到各种问题

精简版安装说明:http://www.linuxidc.com/Linux/2013-01/77678.htm 言简,但如果照搬,绝对会遇到一些问题...

接下来记录我遇到的问题:

环境 jdk1.7.0_09 + debian6 32bit + 4核1G内存(虚拟机不是我配置的,诡异的配置...)

尽量按照精简版的来,注意根据实际情况修改路径等。

我 发现在实际操作过程中,/usr/etc/hadoop里的配置是从$HADOOP_HOME里复制过来的,但主节点实际读取的是/usr/etc /hadoop里的配置,而不是$HADOOP_HOME里的配置。所以修改配置时,实际起作用的是/usr/etc/hadoop里的。

在主节点用start-all.sh启动集群,只有主节点的5个进程启动了,而从节点的一个都没启动,会报错。

由于精简版中,从节点只获得了主节点的配置文件,而从节点启动时,实际读取配置文件的位置可能不是$HADOOP_HOME。

根据异常信息(异常信息就不列出了),我是这样做的:

1.把$HADOOP_HOME里的bin sbin libexec 3个文件夹中的内容复制到 /usr 中

2.把主节点中的/usr/share/hadoop里的内容复制到从节点中的相同位置,否则从节点会说找不到某类(****.Platformname)

到这,应该就能启动集群了。如果报JAVA_HOME没有设置,就在主节点中找到所有 hadoop-env.sh 文件的位置,然后在从节点中的同样位置放置设置了JAVA_HOME的 hadoop-env.sh 文件。

运行WordCount遇到的问题主要是不知道dfs和本地fs处于逻辑上平行的空间,要用"hadoop dfs -put"和"hadoop dfs -get"上传或下载文件,可以用"hadoop dfs -help" 命令查看帮助。

ps. 运行速度好慢...