1.首先确认你的hadoop启动了。
master与slave启动方式相同,进入hadoop目录下的sbin目录,命令:$cd /home/hadoop/hadoop/sbin (根据个人安装的hadoop目录调整)
启动hadoop:(1) . / s t a r t − d f s . s h ( 2 ) ./start-dfs.sh (2) ./start−dfs.sh(2)./start-yarn.sh
启动后的效果如图:master如图1,slave如图2
图1 图2
ps:可以在真机浏览器上输入master:50070或者/8088查看hadoop具体启动详情。
2.敲黑板划重点
HDFS是hadoop原生态的文件系统!!!类似window下NTFS,不理解的童鞋自己补习下操作系统去。很多神坑教程并没有强调这一点,只是一味的让你 h a d o o p f s − m k d i r / i n p u t ,小编在这里再次强调下,这条命令是在 h d f s 文件系统下创建 / i n p u t 目录,所以要用 h a d o o p 的命令方式才能查看到你的文件。 hadoop fs -mkdir /input,小编在这里再次强调下,这条命令是在hdfs文件系统下创建/input目录,所以要用hadoop的命令方式才能查看到你的文件。 hadoopfs−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 目录下,输入命令: h a d o o p f s − m k d i r / i n p u t 之后可以用命令看 : hadoop fs -mkdir /input 之后可以用命令看: hadoopfs−mkdir/input之后可以用命令看:hadoop fs -ls / 我们创建input目录成功,截图
如下图:
我们将LICENSE.txt放到input目录下: h a d o o p f s − p u t L I C E N S E . t x t / i n p u t 可以通过命令 : hadoop fs -put LICENSE.txt /input 可以通过命令: hadoopfs−putLICENSE.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版本和路径相应的调整),由于我之前已经运行过一遍,所以直接就出现下面的截图,第一次运行可能需要等上一小会,毕竟那么多单词,统计还是要花时间的,截图奉上:
可以通过命令 h a d o o p f s − l s / 看出, H D F S 系统下多了个 / o u t p u t 和 / t m p 目录。打开 / o u t p u t 目录可以看到下面有两个文件( _ S U C C E S S 和 p a r t − r − 00000 ),说明已经运行成功了,直接打开 p a r t − r − 00000 便可以查看结果,命令 hadoop fs -ls /看出,HDFS系统下多了个/output 和/tmp目录。打开/output目录可以看到下面有两个文件(\_SUCCESS和part-r-00000),说明已经运行成功了,直接打开part-r-00000便可以查看结果,命令 hadoopfs−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命令的了解。