6.此时可以看到左侧的工程浏览器下的DFS Locations下的MyHadoopServer的两个文件夹,一个叫home/hxsyl/tmp,这个就是第5步配置的那个文件夹;另一个是user/root/In和Out。
这个root应该是第4步下的那个用户名,In和Out分别是赞运行WordCount的输入输出文件,运行WordCount需要命令行传参数,具体就是邮件run-as、run configurations、parameters,然后输入(注意:必须先运行WordCount.java,然后提示少参数的错误,然后再run-as、run configurations、parameters,直接的话不显示parameters,这是奇怪)
<span style="font-family: 楷体; font-size: 18pt;">hdfs://localhost:9000/user/root/In
hdfs://localhost:9000/user/root/Out
</span>
注意:需要先把In文件上传到hdfs上,具体就是:我在根目录(和usr同级)贱了testHadoop文件夹
<span style="font-family: 楷体; font-size: 18pt;">sudo mkdir testHadoop
</span>
然后进入到该文件夹
<span style="font-family: 楷体; font-size: 18pt;">//test1和2会自动在testHadoop文件夹下生成
echo “hello world” >test1
echo "hello hadoop" >test2
</span>
然后把文件上传到hdfs
<span style="font-family: 楷体; font-size: 18pt;">//此时在testHadoop所在文件夹,不过咱需要进入到Hadoop文件夹,主要是要用到hadoop这个命令
//不过不需要cd,切不可进入hadoop文件夹,因为上传那个文件就要在那个文件的目录下
//因为咱直接./testHadoop,没写绝对路径(自己理解的)。
usr/hadoop1.2.1file/hadoop-1.2.1/bin/hadoop fs -put ./testHadoop In
//注意:./testHadoop,如果按tab只能生成./testHadoop的话 ,他后面会多个/,一定要删除,In就是上传到的hdfs上对应的文件夹
//想查看In内容,两种方法,一种是用下面的命令
usr/hadoop1.2.1file/hadoop-1.2.1/bin/hadoop fs -ls ./testHadoop
//另一种方法是(此时已经上传了hdfs),运行代码*(不管有没有错误都行,个人理解就是简历和hdfs的链接,然后就看到hdfs里的内容了),刷新DFS Locations,在user/root/In下会看到
</span>
7.配置好后,运行,结果就在DFS Locations 的 user/root/Out下part-r-0000文件下,结果如下。
<span style="font-family: 楷体; font-size: 18pt;">hadoop 1
hello 2
world 1
</span>
注意:如果在命令行下运行WordCount需要(此时已上传到hdfs),需要先进入hadoop
<span style="font-family: 楷体; font-size: 18pt;">cd usr/hadoop1.2.1file/hadoop-1.2.1
</span>
然后运行代码如下
<span style="font-family: 楷体; font-size: 18pt;">//没试过WordCount,莫非命令行不区分大小写
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount In Out
</span>
注意:此处的问题是,必须不能进入bin目录,我试过,进入的话就运行不了了,真是奇怪了。
然后查看运行结果。
<span style="font-family: 楷体; font-size: 18pt;">bin/hadoop fs -cat ./Out/part-r-00000
</span>
三.结束语及遗留问题
3.1 遗留问题
1.如何直接从win复制到linux对应的文件夹,不用先复制到左面,在mv
2.xml类文件,有时候可以直接打开,编辑,保存,但有时后这样的话,那个save不可用,真是奇怪了,必须
<span style="font-family: 楷体; font-size: 18pt;">//这个是jdk的环境变量
sudo gedit /etc/profile
</span>
莫非是因为命令行终端不是root,应该不是这个问题,我每次进入ubuntu,就先打开终端,然后进入root。
3.2 结束语
对照命令行和DFS Locations,这样理解很方便。