Windows安装Hadoop

环境

主机:Windows 10
Hadoop:2.7.5
Java:1.9

步骤

1. 确认Java已经安装,并已经添加到环境变量中,测试方法:cmd中输入java -version,显示如下:
QQ截图20180110103405.png
2. 下载 hadoop binary,解压后修改以下配置文件:

1)hadoop-2.7.1/etc/hadoop/hadoop-env.cmd,把JAVA_HOME的值修改为本机上jdk的路径,注意路径上不能有空格,jdk装在Program File文件夹下的同学可以这么写:

set JAVA_HOME=C:\PROGRA~1\Java\jdk-9.0.1

此时在hadoop根目录下的bin文件夹下,你可以输入hadoop version查看你的hadoop版本了。

QQ截图20180110104848.png

2)hadoop-2.7.5/etc/hadoop/core-site.xml

<configuration>
<property>
      <name>fs.defaultFS</name>
      <value>hdfs://localhost:9000</value>
</property>
</configuration>

3)hadoop-2.7.5/etc/hadoop/mapred-site.xml

<configuration>
   <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
   </property>
</configuration>

4)hadoop-2.7.1/etc/hadoop/hdfs-site.xml

<configuration>
<property>
       <name>dfs.replication</name>
       <value>1</value>
   </property>
   <property>
       <name>dfs.namenode.name.dir</name>
       <value>/d:/software/hadoop-2.7.5/data/namenode</value>
   </property>
   <property>
       <name>dfs.datanode.data.dir</name>
     <value>/d:/software/hadoop-2.7.5/data/datanode</value>
   </property>
</configuration>

注意把/d:/software/hadoop-2.7.5替换成你的hadoop根目录

5)hadoop-2.7.5/etc/hadoop/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>
3. 启动hadoop

1)在bin目录下输入hadoop namenode -format,应该能看到这样的结果:

QQ截图20180110105246.png

2)在sbin目录下输入start-all,会有多个cmd窗口被创建,此时输入jps,应当看到如下结果:
QQ截图20180110105702.png

我有时会遇到DataNode创建失败的情况,删除根目录下data/datanode文件夹在start-all解决问题。

3)在浏览器中输入localhost:50070应当能看到如下网页:

QQ截图20180110105910.png

4)输入localhost:8088页面如下:

QQ截图20180110110101.png

4. 停止hadoop

bin目录下输入stop-all

Wordcount运行

Hadoop基于HDFS(Hadoop Distributed File System)这一文件系统管理文件,使用指令hadoop fs -op <args>可以对HDFS进行操作。

1)我们先在HDFS中创建一个输入文件夹:

# hdfs dfsadmin -safemode leave
hadoop fs -mkdir /input

当你发现直接-mkdir失败时,加上第一条就OK了。你可以通过hadoop fs -ls /查看HDFS根目录下的文件,应当已经包含了/input文件夹。你可以用hdfs fs -rmr /input删除这一文件夹。

2)在本地创建两个文本文件,上传到/input文件夹:

hadoop fs -put *.txt /input

这样我们输入就准备好了,确认一下:


QQ截图20180110135958.png

3)运行示例jar包:

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /input /output

一开始报错createSymbolicError,解决方案:运行->gpedit.msc->计算机配置->Windows设置->安全设置->本地策略->用户权限分配->创建符号链接,添加你的用户名。然后重启电脑,再运行就ok了。附上成功的截图:

QQ截图20180110144230.png

QQ截图20180110144302.png

输出文件在output/part-r-00000,通过命令hadoop fs -cat /output/part-r-00000查看内容