现在在window系统中安装hadoop,不需要再安装Cygwin等复杂的步骤,安装部署比以前简单了很多,以下是详细步骤:
1:安装JDK,设置好环境变量:
例如安装JDK1.8.0_144,在环境变量中添加JAVA_HOME: D:\Application\Java\jdk1.8.0_144,然后在Path中添加路径:
%JAVA_HOME%;%JAVA_HOME%\bin
2:下载Hadoop2.7.4 (https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.4/),并解压到系统某个目录,例如:D:\Application\hadoop-2.7.4
3:下载window util for hadoop (https://codeload.github.com/gvreddy1210/bin/zip/master,请注意需要与window系统的32位或64位一致),解压后覆盖到hadoop\bin目录,(如果在测试中有问题,请将hadoop.dll拷贝到C:\\Window\system32目录,本人在测试中没有遇到问题,所以没有拷贝),另外,此util与具体的hadoop版本是有关的,如果选用不同的hadoop版本,需要找到正确的util,目前hadoop并没有提供window util,所以如果无法在网上找到合适的版本,那需要自己编译 (附:window util 编译的方法:Apache Hadoop 2.7.1 binary for Windows 64-bit platform)
4:添加环境变量 HADOOP_HOME:D:\Application\hadoop-2.7.4 ,并添加到Path路径:%HADOOP_HOME%\bin
5:创建namenode及datanode目录,用来保存数据,例如 D:\Application\hadoop-2.7.4\data\namenode, D:\Application\hadoop-2.7.4\data\datanode
6:hadoop 相关配置文件设置,涉及到4个主要的配置文件:core-site.xml, hdfs-site.xml, mapped-site.xml, yarn-site.xml
- core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
- hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/D:/Application/hadoop-2.7.4/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/D:/Application/hadoop-2.7.4/data/datanode</value> </property> </configuration>
- mapped-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
- yarn-site.xml:
<configuration> <!-- Site specific YARN configuration properties --> <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.scheduler.minimum-allocation-mb</name> <value>1024</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>2</value> </property> </configuration>
7:上面步骤完成设置后,就可以试着运行hadoop了
格式化namenode:进入到hadoop\bin目录,执行命令:hadoop namenode -format
启动或停止hadoop:进入到sbin目录,执行命令:start-all.cmd 或者 stop-all.cmd
查看进程:在命令行执行jps,在我的系统中能看到起来了几个进程,但没有具体信息,这个和用户权限有关
查看mapreduce job:localhost:8088
查看hdfs 文件系统:localhost:50070
8:测试hadoop自带的wordcount
进入到hadoop\bin目录,创建hdfs input文件夹,将本地文件上传到hdfs
hdfs dfs -mkdir /input
hdfs dfs -put /D:/people.txt /input
然后可以开始运行wordcount了:
hadoop jar /D:\Application\hadoop-2.7.4\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.7.4.jar wordcount input output
以下是运行过程的控制台的输出及job 和 hdfs 的界面