Windows使用cygwin安装Hadoop-0.20.2的伪分布式模式常见问题

来源:互联网 发布:免费点赞软件 编辑:程序博客网 时间:2024/06/03 16:43

网上有大量这种文章,我就只说说遇上的一些问题吧。


操作系统:win7 旗舰版32位

CYGWIN_HOME:D:\cygwin

JAVA_HOME:D:\Java\jdk1.6.0_21


一、这些安装目录问题

jdk安装目录不要放在Program Files里面,因为中间的空格会导致人家类Unix找不到


二、Expecting a line not the end of stream

要把cygwin的字符集改一改,否则会死的很难看,否则似乎至少0.20.2这个版本解析一些文件会因为字符集问题,导致出一堆莫名密切的错误,例如 Expecting a line not the end of stream之类

export LANG=en.UTF-8


三、配置文件路径问题

在core-site、hdfs-site、mapred-site这几个文件有好几处设HDFS的文件放置等位置,当然,如果不设的话,它默认放在\tmp里面,我先把我的贴出来,我的本意是要放在\usr\local\hadoop-0.20.2\hdfs\{name, data, mrlocal, mrsystem, namesecond}(大括号内是分别每个文件夹的意思)。那么我得这么写

<!-- core-site --><configuration> <property>     <name>fs.default.name</name>     <value>hdfs://master:9000</value>   </property>   <property>      <name>fs.checkpoint.dir</name>      <value>/cygwin/usr/local/hadoop-0.20.2/hdfs/namesecondary</value>  </property></configuration>


红字这行很丰盛,在这里搞很久

首先第一个斜杆,它表示服务器的根目录,这里的根目录不是d:\cygwin\这个位置,而是d:\这个位置,换句话说,是cygwin安装目录所在盘符的位置

但是,如果把这个斜杆去掉,那么它表示的位置又是 d:\cygwin\home\用户名  这个位置,所以如果你要把这些文件放在你想要的位置,这个起始位置很重要


四、start-all.sh

格式化完namenode之后,如果直接执行start-all.sh,那么好几个节点在输入jps是显示不出来的,但打开那个localhost:50030/  localhost:50070是可以看到有启动的,回去看日志,是有报错的,因为刚启动namenode后,namenode是在安全模式下,应该是做一些检查的工作,而启动jobtracker这些节点的时候,它回去删除一些目录重建之类的,所以导致删除失败,但为什么jps无法显示的,网页可以显示,我也不大明白,用是可以用的。在真实的linux集群上,使用RedHat6.1、Hadoop1.0.3,两台机子,是没有出现这问题的,所以不知道是hadoop版本问题,还是因为使用了cygwin 的原因。反正要都显示出来得使用

#启动 Master node :hadoop-daemon.sh start namenode#启动 DataNode:hadoop-daemon.sh start datanode#启动 secondarynamenode:集群环境。hadoop-daemon.sh start secondarynamenode#启动 JobTracker:hadoop-daemon.sh start jobtracker#启动TaskTracker:hadoop-daemon.sh start tasktracker

五、关于localhost导致的问题

写配置文件的时候,不要用localhostL9000这样,使用ip,否则在执行操作就会出java.net.ConnectException: Connection refused: no further information的问题。


六、Eclipse 插件

我使用的是hadoop-0.20.2-eclipse-plugin.jar的插件,安装好后在设置hadoop安装目录的时候,如果把hadoop解压缩到有空格的Program Files,就会导致待会新建MapReduce Project时,它自动找jar包会到D:\Program Files/hadoop-0.20.2\hadoop-0.20.2\lib去找,也就是说,它会比实际目录多出一个hadoop-0.20.2的路径,所以,不要解压缩到带空格的目录下。


暂时想写的就这么多,待补充。

原创粉丝点击