在Windows下安装与配置Hadoop

来源:互联网 发布:旺信和手机淘宝的区别 编辑:程序博客网 时间:2024/05/21 07:52

近来一个新上的项目需要用到Hadoop做大数据挖掘,时不我待,趁机也学学分布式计算。

以下介绍在Windows下安装与配置Hadoop:

1、在地址http://www.java.com/zh_CN/download/manual.jsp下安装JDK,下载最新的JDK1.6(更高的版本未必具有较好的兼容性),之后双击安装即可。这是因为Hadoop的编译及MapReduce程序的运行很多地方需要使用JDK,只安装JRE是不够的,程序会自动配置环境变量。

2、安装Cygwin:

        Cygwin是在Windows下的一个模拟Unix环境的工具,只有通过它才能在Windows环境下安装Hadoop,可以通过www.cygwin.com下载。运行安装程序-->install from internet,选择合适的下载程序.--->进入select package界面,然后选中net,选中openssl及openssh,如果打算在Eclipse下编译Hadoop,还必须安装base category下的sed:the GNU sed stream editor,另外建议安装Editors下的vim,便 于在Cygwin上直接修改配置文件。

3、配置环境变量,在我的电脑——>属性的环境变量中path目标路径下添加Cygwin下的bin目录。

4、安装sshd服务:单击桌面上的Cygwin图标,启动后执行ssh-host-config命令,当要求输入yes/no时,全部输入no,出现“Have Fun”时,表示sshd服务安装成功;

5、在我的电脑——>服务中启动Cygwin sshd服务,或DOS下net start sshd

      但由于本人使用的Win7系统,在服务项中一直找不到sshd,而且在窗口中输入也是以下图1所示非常恼火

于是按以下操作:

  请注意是yes yes no yes,再输pwd.   最后再输入net start sshd,终于告以成功。

  但问题又来了,我又查看了服务,发现服务根本就启动不了.....

  于是只能需要执行mkpasswd 和 mkgroup重新生成权限信息:

      $ mkpasswd -l > /etc/passwd
      $ mkgroup -l > /etc/group

     $ cygrunsrv -R sshd     删除ssd服务
     $ ssh-host-config -y     重新配置
     $ cygrunsrv -S sshd      启动服务。

sshd服务启动成功。

 

真是一波三折,Win7用不熟害人死。

6、配置sshd免密码登录,执行ssh-keygen命令生成密钥文件。

7、重新启动Cygwin,执行ssh localhost命令,第一次提示输入yes即可。

8、安装并运行hadoop:

   hadoop有官方发行版与cloudera版,其中cloudera版是hadoop的商用版本,这里介绍官方发行版。hadoop有三种运行方式:单机、伪分布式、完全分布式。前两种不能体现cloud的优势,只是用于程序调试。我们可以在www.apache.org/dyn/closer.cgi/Hadoop/core下载hadoop-1.0.1.tar.gz,解压到/home/Administrator之下。

   a.单机版模式无需安装,Hadoop被认为是一个单独的Java进程,这种方式经常用于调试;

   b. 伪分布式Hadoop配置:把Hadoop看成是一个只有一个节点的集群,这个节点既为Master也是Slave,既是Namenode也是DataNode,既是JobTracker也是TaskTracker。伪配置也比较简单,只需修改几个文件。

        step1:建立jdk link: ln -s /cygdrive/d/Program\ Files/Java/jdk1.6.0_22 /usr/local/jdk

        step2:打开conf文件夹,配置hadoop-env.sh:  export JAVA_HOME=/usr/local/jdk  

        step3:修改hadoop目录下conf目录下的core-site.xml

        <?xml version="1.0"?>  

       <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>    

       <configuration>  

       <property>  

       <name>hadoop.tmp.dir</name>  

        <value>/hadoop/tmp</value>  

       </property>  

       <property>  

        <name>fs.default.name</name>  

        <value>hdfs://localhost:9000</value>  

       </property>     

       </configuration>  

      step4:修改hdfs-site.xml与mapred-site.xml

   c.完全分布式配置:

   (未完待续)

   

 

0 0