1,介绍java
从hadoop2.2之后的版本中开始有windows的本地支持的包。官方的hadoop版本中没有windows的安装版,可是咱们能够经过源码安装。node
不要试图经过Cygwin来安装hadoop,由于这些是彻底不必的。apache
2,windows安装windows
2.1安装配置java环境(这部份内容省略)确保配置环境中相似 c:\Program Files\Java\ 中有空格的用windows8的路径方式替换为c:\Progra~1\Java\浏览器
2.2直接下载官方的hadoop binares包我下载的是 hadoop-2.8.1版本app
2.3 解压后进入到 hadoop-2.8.1/etc/hadoop目录,修改hadoop的配置环境,编辑hadoop-env.cmdoop
在接近文件末尾的地方加入测试
set HADOOP_PREFIX=c:\hadoop-2.8.1 set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop set YARN_CONF_DIR=%HADOOP_CONF_DIR% set PATH=%PATH%;%HADOOP_PREFIX%\bin
HADOOP_PREFIX 是你本身的hadoop-2.8.1的目录路径spa
2.4修改core-site.xmlcode
<configuration> <property> <name>fs.default.name</name> <value>hdfs://0.0.0.0:19000</value> </property> </configuration>
修改 hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
最后确保你的slaves文件有这些内容
localhost
默认配置会把HDFS数据元数据和数据文件放在\tmp目录下面,咱们这样默认会放在c:\tmp目录下。
2.5修改YARN配置
<configuration> <property> <name>mapreduce.job.user.name</name> <value>%USERNAME%</value> </property> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>yarn.apps.stagingDir</name> <value>/user/%USERNAME%/staging</value> </property> <property> <name>mapreduce.jobtracker.address</name> <value>local</value> </property> </configuration>
记得把%USERNAME%替换为你当前windows登陆的用户名
修改 yarn-site.xml
<configuration> <property> <name>yarn.server.resourcemanager.address</name> <value>0.0.0.0:8020</value> </property> <property> <name>yarn.server.resourcemanager.application.expiry.interval</name> <value>60000</value> </property> <property> <name>yarn.server.nodemanager.address</name> <value>0.0.0.0:45454</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.server.nodemanager.remote-app-log-dir</name> <value>/app-logs</value> </property> <property> <name>yarn.nodemanager.log-dirs</name> <value>/dep/logs/userlogs</value> </property> <property> <name>yarn.server.mapreduce-appmanager.attempt-listener.bindAddress</name> <value>0.0.0.0</value> </property> <property> <name>yarn.server.mapreduce-appmanager.client-service.bindAddress</name> <value>0.0.0.0</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>-1</value> </property> <property> <name>yarn.application.classpath</name> <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> </property> </configuration>
2.6 初始化环境变量
运行c:\hadoop-2.8.1\etc\hadoop\hadoop-env.cmd
2.7 格式化文件系统
进入 hadoop-2.8.1\bin,运行.\hdfs.cmd namenode -format
14/01/18 08:36:23 INFO namenode.FSImage: Saving image file \tmp\hadoop-username\dfs\name\current\fsimage.ckpt_0000000000000000000 using no compression 14/01/18 08:36:23 INFO namenode.FSImage: Image file \tmp\hadoop-username\dfs\name\current\fsimage.ckpt_0000000000000000000 of size 200 bytes saved in 0 seconds.
看到一大堆启动内容若是没有报错就启动正常,通常不会有问题。
3,启动hadoop hdfs
.\start-dfs.cmd
在hadoop-2.8.1\bin 执行 ./hdfs.cmd dfs -put test.txt / 将一个测试文件加入到hdfs系统文件中。
而后能够经过 ./hdfs.cmd dfs =ls / 查看文件 具体指令 能够经过--help查看或者看官方文档。
启动yarn
.\start-yarn.cmd
运行一个yarn JOB
.\yarn.cmd jar c:\hadoop-2.8.1\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.8.1.jar wordcount /test.txt /out
打开浏览器 http://localhost:50070 it works!!! 因为是单机模式 localhost:9000 没法访问改用localhost:8088