hadoop在windows下的配置与运行(运行环境和开发环境配置)

在Windows下部署hadoop前,都需要安装cygwin软件,那么我们先来看一下,如何安装和配置cygwin

一、cygwin的安装与配置

  1、什么是cygwin
 cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。
2、cygwin的安装
  (1)下载安装程序,下载地址为: http://www.cygwin.com/setup.exe
   (2)选择必须安装的包,根据实践有如下包必须选择安 装,否则很可能cygwin安装失败!
   Net Category下的OpenSSL,OpenSSH;
   Base Category下的sed;
   Editors Category下的vim,Emacs;
   Devel Category下的subversion,binutils,gcc,gcc-mingw,gdb

(3)点击下一步。一直到完成
   说明:虽然cygwin提供在线安装,个人建议先  完全下载到本地,再进行安装,因为在线安装会出现许多莫名奇妙的问题。

2、cygwin的配置
 (1)配置环境变量
 CLASSPATH= .;C:\Java\jdk1.6.0_11\lib\dt.jar;C:\Java\jdk1.6.0_11\lib\tools.jar
  CYGWIN=ntsec;
JAVA_HOME=C:\Java\JDK1.6.0_11;C:\Java\jre6;
 在PATH环境变量中加入如下路径C:\cygwin\bin;C:\cygwin\usr\i686-pc-cygwin\bin;C:\Java\jdk1.6.0_11\bin;

(2)安装sshd服务
    启动cygwin输入命令:ssh-host-config;
    根据提示进行相应的操作直至安装完成,安装成功后立即启动名称为“CYGWIN sshd”的服务。

(3)配置ssh登录
      执行ssh-keygen命令,然后根据提示按三次回车键,最后输入如下命令:
   cd ~/.ssh/;
   cp id_rsa.pub authorized_keys

至此,cygwin的安装与配置成功,你可以享受cygwin带来的乐趣。

 

二、hadoop多节点的安装与部署


1、下载hadoop;
       本实验用的版本是:hadoop-0.20.1;
2、外部配置
   选中一台机子做为jobTracker,namenode, datanode这个机子为master,这个机器的ip设置为192.168.1.140。另外两台做datanode,TaskTracker为slave,这个机器的ip为192.168.1.141,192.168.1.142

3、为了实现无密码登录ssh服务器,在master机器cygwin的控制台中输入如下命令:
  cd ~/.ssh;
   chmod 600 authorized_keys;
  scp authorized_keys  Administrator@192.168.1.141:~/.ssh/ authorized_keys;
scp authorized_keys  Administrator@192.168.1.142:~/.ssh/ authorized_keys;

假如是所用的客户端计算机是第一次登陆SSH服务器,命令行中会提示“Are you sure you want to continue connecting (yes/no) ?”,只要输入yes即可,SSH服务器会自动将这次的登陆信息存储在/.ssh/known_host文件中。当显示“Fanfare!!! You are successfully logged in to this server!!!”时,说明已经成功登陆到ssh服务器计算机内了,需要注重的是,此时在当前控制台内输入的命令都将在ssh服务器计算机里运行。

4、master机器Hadoop机器环境部署:
  (1)将安装包解压到F:\hadoop\run中;
  (2)修改conf目录下的hadoop-env.sh
     export JAVA_HOME="/cygdrive/c/Java/jdk1.6.0_11"
   (3)修改conf目录下的core-site.xml;

           <property>

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

                   <value>hdfs://192.168.1.140:9000<value>

                    ......................................

  (4)修改conf目录下的hdfs-site.xml;

         <property>

                   <name>dfs.datanode.handler.count</name>

                   <value>1<value>

                    ......................................

          <property>

                   <name>dfs.replication</name>

                   <value>1<value>

                    ......................................

 (5)修改conf目录下的mapred-site.xml

             <property>

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

                   <value>192.168.1.140:9001<value>

                    ......................................

 (6)修改conf目录下的masters文件
         输入192.168.1.140
 (7)修改conf目录下的slaves文件
       输入:192.168.1.140
                 192.168.1.141
                 192.168.1.142

(7)配置hadoop在cygwin中的环境
      用vi打开/etc/profile文件,在文件的末尾追加如下代码:
       export HADOOP_HOME=/cygdrive/f/hadoop/run
       export PATH=$PATH:$HADOOP_HOME/bin


(8)格式化一个新的分布式文件系统
    cd $HADOOP_HOME
    bin/hadoop namenode -format
5、slave机器Hadoop机器环境部署
     把master机器上的F:\hadoop拷贝到slave机器上的F盘的根目录下即可。
6、关闭master,slave机器上的Cygwin,然后重启Cygwin。

7、启动master上的hadoop,执行如下命令:
     ssh localhost
     cd $HADOOP_HOME
     bin/start-dfs.sh
     bin/start-mapred.sh
     jps
8、运行wordcount程序
   $ bin/hadoop dfs -put ./test-in input 
  $ bin/hadoop jar hadoop-0.16.0-examples.jar wordcount input output
   $ bin/hadoop dfs -cat output/*
9、停止hadoop进行
    $ bin/stop-all.sh
10、配置hadoop的开发环境
   (1)下载hadoop-0.20.1-eclipse-plugin.jar
   (2)将其复制到Eclipse安装目录下的   plugins子目录下。
   (3)删除org.eclipse.update目录,重启   Eclipse.
  (4) 配置一个Map/Reduce对象,即DFS location ,将Map/Reduce   Master一栏中的host设置为192.168.140,port设置为9001;将DFS Master 一栏中的host设置为192.168.140,port设置为9000;
 (5)运行wordcout程序
     创建一个Map/Reduce  Project,将wordcount.java拷贝到该工程的src目录下,运行程序。
   

 

 

至此,如果以上没有问题的话,hadoop多节点的运行环境与开发环境配置完毕了,你可以开发Map/Reduce程序了。

        

  


你可能感兴趣的:(eclipse,hadoop,windows,ssh,嵌入式)