因为本人最近最近一段时间 都在学习Hadoop,接触了比较多的理论,但是想要深入的去学习Hadoop整个平台,那就必须实战的训练,首先第一步,当然是先搭建好一个Hadoop平台为先。但是比较坑爹的是,Hadoop是要求安装在Linux环境下的,在Windows下是不能直接运行的。所以只能在Windows下搞个Cygwin,然后把Hadoop安装包往里面扔了。我对Cygwin的印象一直不是很好,以前用过这个模拟过Linux环境,后来发现总是会出现各种环境上的问题,非常耗时间。所以我猜测,现在我又在上面搭建一个Hadoop平台,也肯定不是一件简单的事件。后来的事实证明,我的确遭遇到了非常多的问题。

        首先第一个遇到的问题,就是配置文件上的区别。之前我在网上下载的Hadoop安装版本文件时Hadoop2.0然后,我的安装教程将的是1.0的,里面的配置文件相应的配置文件都没找到。比如,在Hadoop2.0中是没有mapred-site.xml,取而代之的是mapred-site.xml.template文件,所在的目录页不是叫做conf目录,所以,第一点,搭建Hadoop平台,要对准相应的平台进行安装。

      2.在配置core-site,hdfs-site,mapreduce-site文件之前,要先安装SSH 服务,因为Hadoop的通信会要求进行SSH认证的,还会生出密钥文件,有了密钥文件,就可以实现以后的免密码登录,这个步骤是必须的,如果不执行这个前期操作,执行的后面的命令会报错的。

      3.Cygwin下的JDK安装和路径配置,因为Hadoop平台是要求Java环境的,需要在Cygwin环境下也安装JDK,但是我们的JDK是安装在Windows磁盘下的啊,这该怎么处理呢,第一之间把地址定位到你安装的地址上去,通过cgwdrive+你的实际安装位置,或者你直接找到原先的安装目录,直接拷贝到Cygwin的目录下,再进行path的设置。JDK的设置非常重要,后续的命令很多都是基于此的。

     4.最后一个就是3大配置文件的配置操作了,如果你不打算配置,那就是默认的单机模式了,配置的操作就是相当于有了DataNode, NameNode, HDFS等等,但是都是在本机上进行的,一个伪分布式模式,这个很简单,就是定义了端口号,和一些描述信息。

     5.最后在运行整个服务之前,要先对HDFS进行格式化操作,hadoop hdfs-format,在最后面的就是start-all.sh,在不同版本的Hadoop中,start-all.sh在不同的目录中,1.2版的是在bin目录下,2.0版的是在sbin下,cd到哪个目录下执行操作需要注意。

     上述操作就是我在搭建平台的过程中所遇到的问题,上述是我自认为是比较容易犯的错误,里面其他的问题网上搜的都是一堆的教程,大同小异。