前言
hadoop自带的有一个Wordcount的jar包,本次实验可以偷个懒,直接使用这个jar包来完成实现.....
jar包位置
hadoop目录下:
share/hadoop/mapreduce
cd到这个目录即可看到有个examples的jar包如图所示:
统计词汇数量就可以用这个jar包实现。
新建并上传文件
启动hadoop
cd /usr/local/hadoop
./sbin/start-dfs.sh
在启动Hadoop之后,需要首先删除HDFS中与当前Linux用户hadoop对应的input和output目录(即HDFS 中的“/user/hadoop/input”和“/user/hadoop/output”目录),这样确保后面程序运行不会出现问题, 具体命令如下:
cd /usr/local/hadoop
./bin/hdfs dfs -rm -r input
./bin/hdfs dfs -rm -r output
然后,再在HDFS中新建与当前Linux用户hadoop对应的input目录,即“/user/hadoop/input”目录,具体命令如下:
cd /usr/local/hadoop
./bin/hdfs dfs -mkdir input
然后,用vim新建三个文件file1.txt,file2.txt....,并在里面写入内容。
vim flie1.txt
#等等
然后,把这三个文件上传到HDFS中的“/user/hadoop/input”目录下,主要文件路径,这里假设在hadoop下,命令如下:
cd /usr/local/hadoop
./bin/hdfs dfs -put ./file1.txt input
#等等
使用jar包
现在,就可以在Linux系统中,使用hadoop jar命令运行程序,命令如下:
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /user/hadoop/input output
如果出现权限问题,可以加上sudo。
最后就是看运行结果了,先使用ls指令查看/usr/hadoop下是否有output文件夹,命令如下:
./bin/hdfs dfs -ls /user/hadoop
没有的话,在自己运行成功的前提下,可以查看/user下面有几个文件夹,有可能在那个文件里面。
查看运行结果,指令如下:
./bin/hdfs dfs -cat /user/hadoop/output/*