apache hadoop 2.4.0 64bit 在windows8.1下直接安装指南(无需虚拟机和cygwin)

工作需要,要开始搞hadoop了,又是大数据,自己感觉大数据、云,只是ERP、SOAP风潮之后与智能地球一起诞生的概念炒作。不过Apache是个神奇的组织,Java如果没有它也不会现在如火中天。言归正传:

首先需要下载Apache hadoop 2.4.0的tar.gz包,到本地解压缩到某个盘下,注意路径里不要带空格。否则你配置文件里需要用windows 8.3格式的路径!

第二确保操作系统是64bit,已安装.netframework4.0以上版本,这个你懂的,微软的天下,没有这个怎么混!

第三确保安装了64 bit 版本的JDK1.7,笔者使用的就是JDK1.7.

第四请到github下载hadoop-commin-2.2.zip,官方下载的Apache hadoop 2.4.0的压缩包里,缺少windows下运行的链接库(hadoop.dll,winutils.exe,libwinutils.lib等),这个github的是大佬们编译好的64bit版的链接库包。下载直接解压缩,覆盖掉官方hadoop目录下的bin目录即可。

如果你想在windows下编译安装hadoop,则请直接参考官方原版文档:Hadoop2.X Windows安装指南

接下来进行配置(大部分摘抄自官方文档):

我的Hadoop解压缩目录是D:\Hadoop_2_4_0,以下简称h_home

首先,修改%h_home%\etc\hadoop的hadoop-env.cmd脚本文件,在文件末尾增加环境变量定义。注意找到文件最初的JAVA_HOME设置,改成你的64位JDK路径,这一点一定要注意!比如我的:“set  JAVA_HOME=D:\OLD_JDK\jdk1.7.0_51”

[plain]

  1. set HADOOP_PREFIX=c:\deploy  
  2. set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop  
  3. set YARN_CONF_DIR=%HADOOP_CONF_DIR%  
  4. set PATH=%PATH%;%HADOOP_PREFIX%\bin  

 

之后在该路径下找到或创建core-site.xml文件,修改内容如下:

[html]

  1. <configuration>  
  2.   <property>  
  3.     <name>fs.default.name</name>  
  4.     <value>hdfs://0.0.0.0:19000</value>  
  5.   </property>  
  6. </configuration>  


接下来是 hdfs-site.xml 文件,一样的修改内容如下。配置文件默认使用\tmp目录作为hdfs文件的存储位置,比如我解压hadoop在D:\下,则它就会创建D:\tmp来存放HDFS文件系统。

[html]

  1. <configuration>  
  2.   <property>  
  3.     <name>dfs.replication</name>  
  4.     <value>1</value>  
  5.   </property>  
  6. </configuration>  


基本配置ok。

接下来我们配置一个YARN示例:

还是在该配置文件路径下,修改或者创建一个mapred-site.xml文件,路径下有个同名的模板文件,可以直接复制,然后修改其中的内容。注意替换配置文件中%USERNAME% 为你windows的用户名。

[html]

  1. <configuration>  
  2.   
  3.    <property>  
  4.      <name>mapreduce.job.user.name</name>  
  5.      <value>%USERNAME%</value>  
  6.    </property>  
  7.   
  8.    <property>  
  9.      <name>mapreduce.framework.name</name>  
  10.      <value>yarn</value>  
  11.    </property>  
  12.   
  13.   <property>  
  14.     <name>yarn.apps.stagingDir</name>  
  15.     <value>/user/%USERNAME%/staging</value>  
  16.   </property>  
  17.   
  18.   <property>  
  19.     <name>mapreduce.jobtracker.address</name>  
  20.     <value>local</value>  
  21.   </property>  
  22.   
  23. </configuration>  

 

最后,创建yarn-site.xml文件,变更内容如下:

[html]

  1. <configuration>  
  2.   <property>  
  3.     <name>yarn.server.resourcemanager.address</name>  
  4.     <value>0.0.0.0:8020</value>  
  5.   </property>  
  6.   
  7.   <property>  
  8.     <name>yarn.server.resourcemanager.application.expiry.interval</name>  
  9.     <value>60000</value>  
  10.   </property>  
  11.   
  12.   <property>  
  13.     <name>yarn.server.nodemanager.address</name>  
  14.     <value>0.0.0.0:45454</value>  
  15.   </property>  
  16.   
  17.   <property>  
  18.     <name>yarn.nodemanager.aux-services</name>  
  19.     <value>mapreduce_shuffle</value>  
  20.   </property>  
  21.   
  22.   <property>  
  23.     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
  24.     <value>org.apache.hadoop.mapred.ShuffleHandler</value>  
  25.   </property>  
  26.   
  27.   <property>  
  28.     <name>yarn.server.nodemanager.remote-app-log-dir</name>  
  29.     <value>/app-logs</value>  
  30.   </property>  
  31.   
  32.   <property>  
  33.     <name>yarn.nodemanager.log-dirs</name>  
  34.     <value>/dep/logs/userlogs</value>  
  35.   </property>  
  36.   
  37.   <property>  
  38.     <name>yarn.server.mapreduce-appmanager.attempt-listener.bindAddress</name>  
  39.     <value>0.0.0.0</value>  
  40.   </property>  
  41.   
  42.   <property>  
  43.     <name>yarn.server.mapreduce-appmanager.client-service.bindAddress</name>  
  44.     <value>0.0.0.0</value>  
  45.   </property>  
  46.   
  47.   <property>  
  48.     <name>yarn.log-aggregation-enable</name>  
  49.     <value>true</value>  
  50.   </property>  
  51.   
  52.   <property>  
  53.     <name>yarn.log-aggregation.retain-seconds</name>  
  54.     <value>-1</value>  
  55.   </property>  
  56.   
  57.   <property>  
  58.     <name>yarn.application.classpath</name>  
  59.     <value>%HADOOP_CONF_DIR%,%HADOOP_COMMON_HOME%/share/hadoop/common/*,%HADOOP_COMMON_HOME%/share/hadoop/common/lib/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/lib/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/lib/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/lib/*</value>  
  60.   </property>  
  61. </configuration>  

ok,全部配置都改完了。点击命令提示符(管理员)运行命令提示符,切换到hadoop的安装目录。进行以下操作

1、切换到etc/hadoop目录,运行hadoop-env.cmd脚本,设置当前命令窗口执行环境变量。

2、格式化HDFS文件系统(建议切换到bin目录然后执行命令):

[plain]

  1. %HADOOP_PREFIX%\bin\hdfs namenode -format  
[plain]

  1. 3、运行HDFS示例:  
[plain]

  1. <pre name=”code” class=”html”>%HADOOP_PREFIX%\sbin\start-dfs.cmd  



不报错的话,部署就ok了!!!

标签