Windows10上运行hadoop第一个实例wordcount MapReduce Example

之前做实验的时候找资料,结果搜来搜去都找不到想要的,首先网上很多都是linux的资料,所以建议要做的朋友也尽量在linux上做。这里不得不吐槽一下lj百度,搜点东西啥都找不到,很多国外没有被墙的网站论坛都没有。。。最后还是求助google。

网上都是关于hadoop在Windows上的安装教程,对于运行第一个实例讲得特别少,所以我来补充一下。另外,尽量选择已经测试没有问题的版本,比如3.0以后的会出现一些以前2.x版本没有的坑,所以尽量选择测试没有问题的版本。

 

本文需要用到的文件:

 https://github.com/MuhammadBilalYar/HADOOP-INSTALLATION-ON-WINDOW-10/blob/master/MapReduceClient.jar

https://github.com/MuhammadBilalYar/HADOOP-INSTALLATION-ON-WINDOW-10/blob/master/input_file.txt

这个程序就是统计文件中字符出现的次数。

 

1.

对于hadoop的安装和环境配置就不多说了,网上都能找到相关教程,不过Windows的会少很多。另外有个坑,查看hadoop运行状态的ip地址换成了   http://localhost:9870/     我也是在一个国外论坛看到的,之前傻乎乎的进50070那个,死活进不去,我还以为是我配置除了问题。好了,进入正题。

在确保hadoop安装配置正确之后,首先用管理员权限打开命令行,进入hadoop的安装目录的 /sbin目录下,执行以下 代码1 运行程序

start-all.cmd

如果出现错误的话,就先进入\hadoop-3.0.2\bin\ 目录下执行以下 代码2 (就是hadoop安装目录下的 bin 文件夹)

hadoop namenode -format      //格式化hdfs

再执行 代码1 ,如果还是不行,就看看hadoop目录下的\etc\hadoop\data\dfs目录下的两个文件夹里面有没有文件,有的话就删掉(emm我是这么做的,其他方法不了解)

Windows10上运行hadoop第一个实例wordcount MapReduce Example

Windows10上运行hadoop第一个实例wordcount MapReduce Example

上面两个文件夹datanode和namenode里面有文件就删掉。然后执行上面的 代码2 格式化hdfs,再执行上面的 代码1 运行程序。(这里为了方便可以一开始就先执行 hadoop namenode -format 格式化,然后执行代码1

启动之后就是这样,总共有五个框Windows10上运行hadoop第一个实例wordcount MapReduce Example

 

2.

执行以下命令新建文件夹

hadoop fs -mkdir /input_dir

上传文件到新建的文件夹(文件目录改成自己的)

hadoop fs -put C:/input_file.txt /input_dir

查看文件是否成功上传

hadoop fs -ls /input_dir/

如果成功就可以看到多了个文件

Windows10上运行hadoop第一个实例wordcount MapReduce Example

 

也可以看看文件内容

hadoop dfs -cat /input_dir/input_file.txt

Windows10上运行hadoop第一个实例wordcount MapReduce Example

可以看到文件里面是很多数字

 

之后就运行程序统计数字出现的次数,并把结果输出(注意文件目录改成自己的)

hadoop jar C:/MapReduceClient.jar wordcount /input_dir /output_dir

Windows10上运行hadoop第一个实例wordcount MapReduce Example

 

没有报错的话就可以查看结果了

hadoop dfs -cat /output_dir/*

Windows10上运行hadoop第一个实例wordcount MapReduce Example

可以看到统计出的数字出现次数。到此hadoop在Windows上的第一个实例就完成了。

 

参考资料:

https://github.com/MuhammadBilalYar/Hadoop-On-Window/wiki/How-to-Run-Hadoop-wordcount-MapReduce-Example-on-Windows-10