执行WordCount程序
1.以hadoop用户进入到linux系统
2.启动hadoop
3.在home目录下创建一个file文件夹,”~/”表示在home目录下,”/”表示在根目录下。并且在文件夹file内创建两个文本文件file1.txt和file2.txt.
4.在HDFS上创建输入文件夹。调用文件系统(FS)Shell命令应使用bin/hadoop fs
的形式,因为环境变量配置的是”$HADOOP_HOME/bin,所以可以省略掉bin直接使用
<args>hadoop fs <args>来执行文件系统命令
。在运行hadoop程序处理存储在HDFS上的数据之前,你需要首先把数据放在HDFS上。HDFS有一个默认的工作目录/user/USER,其中USER是你的登录用户名。我登录的hadoop用户所以是/user/hadoop,你需要用你的用户名来替换。下面我创建了两个目录,一个是使用默认的HDFS工作目录,一个是指明了绝对路径/user/hadoop/.
因为我们在ore-site.xml
中配置了
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
所以完整的URIhdfs://localhost:9000/user/hadoop/input
缩短为/user/hadoop/input
5.上传本地file中文件到集群的input目录下,put命令从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。
6.已经编译好的WordCount的Jar在/usr/local/hadoop/share/hadoop/mapreduce
目录下,其中/usr/local/hadoop是hadoop的安装目录。
7.执行jar命令时运行WordCount程序,记得把路径写全了,不然会提示找不到该jar包。
8.MapReduce执行过程显示信息,以下就是Hadoop Job的运行记录,从这里可以看到,这个Job被赋予了一个ID号:job_local509694306_0001
,而且得知输入文件有两个(Total input paths to process : 2)。