在当前日益兴盛的大数据(big data)时代,hadoop和它的生态体系从中脱颖问出,因为我们开发环境大多在windows上,但因安全策略限制等原因不方便用虚拟机运行Linux和租用云服务器怎么办,不要慌,windows同样可以完美搭建起来hadoop的环境。
环境
windows 7-64bit
jdk-1.8.0_161
hadoop-2.7.1
操作步骤
一、下载并安装jdk
下载和安装的过程就不多说了,需要注意的是记得设置好JAVA_HOME系统环境变量,因为hadoop的配置文件中用到了这个参数。
我采用的jdk是1.8的,配置JAVA_HOME,如果默认安装,会安装在
C:\Program Files\Java\jdk1.8.0_161
。此目录存在空格,启动hadoop时将报错,JAVA_HOME is incorrect ...
。建议安装在D:\Java\jdk1.8.0_161
,如果已经安装过了,也不用怕,此时只需要将环境变量JAVA_HOME值中的Program Files
替换为Progra~1
。如:C:\Progra~1\Java\jdk1.8.0_161
。
二、安装配置hadoop
1、下载
http://hadoop.apache.org/
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common
官网和各镜像站提供了最新版本的各个下载包
http://archive.apache.org/dist/hadoop/core
这边我从归档站下载了hadoop-2.7.1的tar包
2、解压并配置环境变量
复制到D盘根目录直接解压,出来一个目录D:\hadoop-2.7.1
,配置到环境变量HADOOP_HOME
中,在PATH里加上%HADOOP_HOME%\bin;
3、下载windows专用二进制文件和工具类依赖库
hadoop在windows上运行需要winutils支持和hadoop.dll等文件
https://github.com/steveloughran/winutils
在github仓库中找到对应版本的二进制库hadoop.dll
和winutils.exe
文件,然后把文件拷贝到D:\hadoop-2.7.1\bin
目录中去
注意hadoop.dll等文件不要与hadoop冲突,若出现依赖性错误可以将
hadoop.dll
放到C:\Windows\System32
下一份。
4、hadoop环境测试
启动windows cmd命令行窗口执行hadoop version
,显示如下:
5、最小化配置hadoop伪集群
去D:\hadoop-2.7.1\etc\hadoop
找到下面4个文件并按如下最小配置粘贴上去:
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml (将value的路径改为自己的路径,盘符/d:/
的前后都有正斜杠)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/d:/hadoop-2.7.1/data/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/d:/hadoop-2.7.1/data/dfs/datanode</value>
</property>
</configuration>
mapred-site.xml (拷贝mapred-site.xml.template
并改名)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<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>
</configuration>
6、格式化namenode并启动hadoop
启动windows cmd命令行窗口执行hdfs namenode -format
,待执行完毕没有报错即可,不需要重复format:
执行完毕后hadoop目录会多出data
文件夹:
格式化完成后到hadoop的sbin
目录下执行start-all.cmd
启动hadoop
再启动一个新的windows cmd命令行窗口执行jps
通过jps
命令可以看到ResourceManager、NameNode、NodeManager、DataNode这4个进程都拉起来了,到这里hadoop的安装启动已经完成了。
接着我们可以用浏览器
到localhost:8088
看mapreduce任务
到localhost:50070
--> Utilites
--> Browse the file system
看hdfs文件。
如果需要重启hadoop无需再格式化namenode
,只要stop-all.cmd
再start-all.cmd
就可以了。