Hadoop彻底分布式搭建过程当中遇到的问题小结

       前一段时间,终于抽出了点时间,在本身本地机器上尝试搭建彻底分布式Hadoop集群环境,也是借助网络上虾皮的Hadoop开发指南系列书籍一步步搭建起来的,在这里仅表明hadoop初学者向虾皮表示衷心的感谢,他总结的系列文档确实帮咱们扫除了不少hadoop环境搭建过程当中的障碍。html

     本身不班门弄斧,就本身在搭建和调试过程当中遇到的问题给出方案,但愿之后的伙伴少走一点弯路,下面就搭建过程当中遇到的几个问题给出总结:java

     说明:本次搭建hadoop集群环境时,本人使用的是hadoop-2.2.0版本,目前Apache官网最新的版本是hadoop-2.6.2版本,服务器Linux环境是CentOS-6.4版本linux

     一、首先说明下2.2版本的文件组成结构以下:  apache

            这个结构和1.0版本是存在差别的,不要为找不到conf目录而苦恼,都在etc目录下windows

     二、中间1台Master和3台Slaver结点环境的构建和配置请参考:http://www.cnblogs.com/xia520pi/archive/2012/04/08/2437875.html,这里很详细。服务器

     三、环境搭建之后,经过./start-all.sh命令启动集群失败,很大一个缘由就是服务器防火墙未关闭的缘由,这时能够经过service iptables stop来关闭4台机器网络

          上的防火墙。而后再重试启动eclipse

      四、在本地windows环境下经过eclipse链接hadoop,须要注意2点:分布式

          第一点:下载或者本身编译hadoop-eclipse-plugin-1.0.0.jar文件,这一步很关键,是决定你本地eclipse可否链接hadoop的关键,这里网络上版本和方法oop

           不少,我这里提供:http://pan.baidu.com/s/1qW279Fm能够下载。

          第二点:在eclipse中指定本地hadoop的安装目录时,必定要指定到hadoop-core-1.*.jar所在的目录,而不是像虾皮文件中说的hadoop/下,主要缘由是

       不一样hadoop版本中jar文件存放路径不一样,以下:

        请对照文章中第一张图的文字注释看,而后直接下一步就OK了。

       五、按照虾皮文档运行第一个WordCount实例的时候,不少人在服务器上是成功的,可是在本地却一直在抛classNotFound的错误,我当初也很郁闷,

            我本地的jar文件和类文件都在啊,为何会找不到呢?

                                                                     

             关于这个问题,网络上不少说法,可是都怎么靠谱,我找了不少资料,最后是经过下面的方式解决的,

                下面这个是报错的时候我在main方法中的写法:

                    

                  注意这里的写法,实际指定的是hdfs的主机地址,可是这里就是找不到类,改成下面的写法就OK了,至少不报classNotFound的错误了,

                  

                    而后,可能有的伙伴又会遇到Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator-4954228\.staging to 0700这样的错误,这个错误很简单,也很清楚,就是说没有操做文件的权限,这个是

                      windows环境下会出的一个问题,在linux上是不存在的,解决办法就是:修改/hadoop-1.0.2/src/core/org/apache/hadoop/fs/FileUtil.java里面的checkReturnValue方法,直接将该方法体注释掉,而后从新编译jar包,导入项目便可,这个地址能够直接下载到编译好的jar文件:http://download.csdn.net/detail/java2000_wl/4326323,

                  完成上面的全部步骤之后,应该就OK了。

               正如虾皮博文所说的,这只是万里长征的第一步,搭建环境很简单,但也是最考验人的地方,但愿有用到的伙伴参考。

相关文章
相关标签/搜索