Hadoop 苦旅(1)——准备以及Cygwin安装

 

安装篇:

         安装是最基本的,也是最难的。俗话说的好,万事开头难啊!的确如此。刚开始,自己折腾,总会是这样那样的问题,也许一个小的问题,就要推倒了重来。我现在就将这几天(2014-2-16~2014-2-18)折腾Hadoop的经验做个简单的分享。

一、准备

         所谓不打无准备的战,是也。准备是一件很重要的事情。

我的准备如下:

硬件:

两台电脑:一台笔记本(1G内存,XP,),一台台式机(2G内存,XP)

         移动硬盘(500G),硬件可视条件而定,至少的有一台电脑,并且要能上网的啊。

软件准备:

         操作系统:Centos 6.5

         应用软件:

    1、Cygwin 需要安装ssh

    2、hadoop-0.20.2,hadoop-2.2.0都是完整下载(就是官网目录下的全部下下来了,也不多,主要有用的就是安装包还有源码)

    3、jdk 1.5,jdk1.6,jdk1.7,jdk1.8由于两台机器都是开发经常使用,因此各种jdk都有,在此推荐1.6

    4、eclipse 3.7(eclipse 各种版本也备有),需要下载hadoop插件

           5、VMware Workstation

         手头资料:

           1、可以随时连上互联网。

    2、一本专业的hadoop书,我用的是前年(惭愧啊,一直没看,还是全新的)买的<实战hadoop-开启通向云计算的捷径>,书中用的hadoop才是0.20.2。因此我也主要用这个版本了。

    3、一本专业的linux书。由于之前对linux用的比较少,还是不太熟悉,因此它也就是很必要的啦。

二、开工

         1、先搭建windos下的。也就是利用Cygwin实现的。我觉得对于我来说这个是可以最快看见成效的,因此就选择从它开始。

         ⑴、安装Cygwin

    从Cygwin官网下载它的setup程序,next step 就行。在选择安装包的时候一定要注意安装上ssh包。如果没有安装什么包,可以直接重启setup程序,重现选择需要安装的安装。

  遇到的问题:

    ①.好多命令不能用,例如,你输入一个ls命令,提示 command not find。

  解决方案:

    思路:用which ls查看一下有没有这个命令。正常的话是查不出来的。但是这时你可以看到你用的环境变量信息。这就是网上好多说碰到这个问题改Cygwin.bat文件为如下的原因(其中路径视具体安装路径而定):

@echo off 

D: 

set CYGWIN=tty notitle glob 

set PATH=%PATH%;d:/cygwin/bin;d:/cygwin/sbin;d:/cygwin/usr/bin;d:/cygwin/usr/sbin;d:/cygwin/usr/local/bin 

set LD_LIBRARY_PATH=d:/cygwin/lib;d:/cygwin/usr/lib;d:/cygwin/usr/local/lib 

chdir D:/cygwin/bin 

 

bash --login -i 

    ②.ssh安装了提示不好使

    Ssh安装之后,用ssh localhost提示如下错误:Connection refused。这个可以在var/log/sshd.log中查看具体原因。在网上有很多解决办法,但是什么样的方法是适合你的,就的从具体的问题出发,我发现我的主要是我权限的问题,如下:Privilege separation user sshd does not exist如下:http://blog.csdn.net/zhuying_linux/article/details/7860712。提到了要用administrator而我不是用的adminitrator账号。我看了之后利用ssh-host-config重新配置了sshd。这时在Should Privilege Separation be used?时选择了yes。重新用net start sshd启动后,再用ssh localhost测试成功。

 

  (2)、安装hadoop

           解压tar.gz包。注意在Cygwin中,可以利用tar zxvf /cygdrive/d/hadoop/hadoop-0.20.2.tar.gz就可以。

  遇到问题:

    1、输入命令不好使

这个主要是第一次用hadoop,使用不熟练。只要多使用就能会心了。

    2、file not exists 错误.

  编辑mapred-site.xml  (在Cygwin下需要配置,不然会出现FileNotFoundException):

<property>

    <name>mapred.job.tracker</name>

    <value>localhost:9001</value>

  </property>

  <property>

<name>mapred.child.tmp</name>

<value>D:/hadoop/temp</value>   //目录可以是任意的

</property>

  3、文件怎么都上传不上去,是防火墙没有关闭的缘故。把例外端口号添加上去就行了。

  WordCount实例终于折腾成功了^_^:

 

值得参考的文章:

http://blog.csdn.net/savechina/article/details/5656937

……

原文地址:https://www.cnblogs.com/accipiter/p/3554980.html