1.首先确认你的hadoop启动了。
master与slave启动方式相同,进入hadoop目录下的sbin目录,命令:$cd /home/hadoop/hadoop/sbin (根据个人安装的hadoop目录调整)
启动hadoop:(1)$./start-dfs.sh (2)$./start-yarn.sh
启动后的效果如图:master如图1,slave如图2
图1 图2
ps:可以在真机浏览器上输入master:50070或者/8088查看hadoop具体启动详情。
2.敲黑板划重点
HDFS是hadoop原生态的文件系统!!!类似window下NTFS,不理解的童鞋自己补习下操作系统去。很多神坑教程并没有强调这一点,只是一味的让你$hadoop fs -mkdir /input,小编在这里再次强调下,这条命令是在hdfs文件系统下创建/input目录,所以要用hadoop的命令方式才能查看到你的文件。$hadoop fs -ls /input
3.具体实现
进入hadoop安装目录:$cd /home/hadoop/hadoop/
查看目录下情况:$ll
可以看到:如下图目录详情
这里我们就以LICENSE.txt文件作为输入源文件,可以查看下license内容:$ cat LICENSE.txt ,我们统计下里面各个单词出现的次数,是不是有点小激动。。。。#。#
3.1在HDFS中创建input目录
就在刚才hadoop 目录下,输入命令:$hadoop fs -mkdir /input 之后可以用命令看:$hadoop fs -ls / 我们创建input目录成功,截图
如下图:
我们将LICENSE.txt放到input目录下:$hadoop fs -put LICENSE.txt /input 可以通过命令:$hadoop fs -ls /input看到license.txt已经存在input目录下了,截图如下图:
接下来只需要将/input通过hadoop自带示例程序wordcount计算出其中各字母出现的次数便可,命令:$hadoop jar /home/hadoop/hadoop/share/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output(ps:根据自己hadoop版本和路径相应的调整),由于我之前已经运行过一遍,所以直接就出现下面的截图,第一次运行可能需要等上一小会,毕竟那么多单词,统计还是要花时间的,截图奉上:
可以通过命令$hadoop fs -ls /看出,HDFS系统下多了个/output 和/tmp目录。打开/output目录可以看到下面有两个文件(_SUCCESS和part-r-00000),说明已经运行成功了,直接打开part-r-00000便可以查看结果,命令$hadoop fs -cat /output/part-r-00000,结果如图:
4.总结
这是小编自学hadoop的第一个示例程序,虽然简单,但是通过自己对hadoop文件系统HDFS和hadoop的shell命令的了解。