无需Cygwin!Windows7 Hadoop0.20.2安装配置(单节点)

    因为用cygwin的方式在windows7上配置hadoop(使用Cygwin 的主要目的是为了执行hadoop bin 目录下的Linux Shell 脚本),老是出问题,索性就放弃了,刚好在网上找到一个教程,无需使用Cygwin即可配置,所以就记下来供大家参考,有误之处请多海涵。

  • 需要配置JDK环境,版本号要注意,一般1.6以上。
  • 下载hadoop-0.20.2.tar.gz软件包,解压至目录比如F:\apache\hadoop-0.20.2,设置环境变量HADOOP_HOME为hadoop安装目录
    • 使用hadoop 补丁,将hadoop 相关进程作为Windows 服务执行,并使之可以在Windows 命令行中直接执行hadoop 命令。
                    补丁包:Hadoop-0.20.2-patched.zip  site:https://issues.apache.org/jira/browse/HADOOP-6767

                    (1) 将补丁包解压。

                    (2) 将补丁包目录下的hadoop-0.20.2-core.jar 和service 目录复制到HADOOP_HOME

                    (3) 将补丁包bin 目录下的:cpappend.bat、hadoop.bat 复制到HADOOP_HOME\bin

                    (4) 将补丁包lib 目录下的:commons-compress-1.0.jar、commons-io-1.4.jar、jna-3.2.2.jar 复制到                                     HADOOP_HOME\lib

    • 设置HADOOP_USER 环境变量(系统变量):HADOOP_USER=  hadoop(hadoop为当前登录Windows 的用户帐号名称)
    • 打开Window 命令行提示符(在Windows 7 中要以管理员身份执行)。进入HADOOP_HOME 的service\bin 目录创建服务,执行下列命令:

                        InstallService.bat ..\conf\JobTracker.conf

                        InstallService.bat ..\conf\NameNode.conf

                        InstallService.bat ..\conf\TaskTracker.conf

                        InstallService.bat ..\conf\DataNode.conf

                       (提示输入HADOOP_USER 用户的密码。应看到如下输出:wrapper | Hadoop XXXXXXX installed.)

                       打开Windows 服务工具(执行命令services.msc),确认上述服务安装成功。

  • 接下来,需要修改hadoop 的配置文件,它们位于conf 子目录下,分别是hadoop-env.sh、core-site.xml、hdfs-site.xml 和mapred-site.xml 共四个文件。
    • 修改hadoop-env.sh

                    只需要将JAVA_HOME 修改成JDK 的安装目录即可,请注意JDK 必须是1.6 或以上版本。

    • 修改core-site.xml

                    为简化core-site.xml 配置,将D:\hadoop\run\src\core 目录下的core-default.xml 文件复制到            

                    D:\hadoop\run\conf 目录下, 并将core-default.xml 文件名改成core-site.xml 。修改fs.default.name 的值,                     如下所示:

<property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:9000</value>
  <description>The name of the default file system.  A URI whose
  scheme and authority determine the FileSystem implementation.  The
  uri's scheme determines the config property (fs.SCHEME.impl) naming
  the FileSystem implementation class.  The uri's authority is used to
  determine the host, port, etc. for a filesystem.</description>
</property>

    • 修改hdfs-site.xml

                    为简化hdfs-site.xml 配置,将D:\hadoop\run\src\hdfs 目录下的hdfs-default.xml 文件复制到                                           D:\hadoop\run\conf 目录下,并将hdfs-default.xml 文件名改成hdfs-site.xml。不需要再做其它修改。

    • 修改mapred-site.xml

                    为简化mapred-site.xml 配置,将D:\hadoop\run\src\mapred 目录下的mapred-default.xml文件复制到                             D:\hadoop\run\conf 目录下,并将mapred-default.xml 文件名改成mapred-site.xml

<property>
  <name>mapred.job.tracker</name>
  <value>localhost:9001</value>
  <description>The host and port that the MapReduce job tracker runs
  at.  If "local", then jobs are run in-process as a single map
  and reduce task.
  </description>
</property>

  • 格式化HDFS 文件系统:

          进入HADOOP_HOME\bin 目录,执行:hadoop.bat namenode -format

  • 编写服务启动脚本start-all.bat:在 HADOOP_HOME\bin 目录下,新建文件:start-all.bat  输入内容为:

             @echo off

             net start namenode

             net start datanode

             net start jobtracker

             net start tasktracker

           编写服务停止脚本stop-all.bat:在 HADOOP_HOME\bin 目录下,新建文件:stop-all.bat   输入内容为:

            @echo off

            net stop tasktracker

            net stop jobtracker

            net stop datanode

            net stop namenode

  • 进入HADOOP_HOME\bin 目录,执行命令start-all.bat

          在浏览器中通过Web 界面查看namenode:http://localhost:50070/

          在浏览器中通过Web 界面查看jobtracker:http://localhost:50030/

我在启动服务的过程中遇到了问题,即NameNode无法启动,解决方案:

在 HADOOP_HOME/conf/ hadoop-env.sh 里面,修改配置如下: export HADOOP_PID_DIR=/home/hadoop/pids pid文件默认在/tmp目录下,而/tmp是会被系统定期清理的,所以Pid文件被删除后就no namenode to stop core-site.xml添加hadoop.tmp.dir : 

<property> 
<name>hadoop.tmp.dir</name> 
<value>/home/XXX/hadoop/namenode</value>
</property>
最后重新执行hadoop.bat namenode format命令,然后start-all.bat即可。


转载于:https://my.oschina.net/lizaozhang/blog/52646

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值