今天按照Hadoop权威指南写了一个示例项目,然后拿到服务器运行,然后报标题的错误。(前提是已经安装好了hadoop)
异常显示为:
显示找不到这个类。通过网上百度,发现需要写全类名,根据自己的项目中的全路径名进行补充:
依旧报错,但是这次报错内容换了,证明刚才的修正是对的。
但是出现新问题继续解决。通过异常看显示的是hadoop中的文件系统使用的是hdfs这里没有书中说的sample.txt。(这个文件我是放在执行命令的当前文件夹下)
所以需要的是将文件放到hadoop默认的文件系统中。
通过百度查到在hadoop中将文件放到它的文件系统hdfs中需要命令hadoop fs -copyFromLocal 文件名 目标文件夹
然后再设置最终的输出目录地点为hdfs的未存在目录即可,最终的命令为:
hadoop com.sunshine.hadoop.excutor.MaxTemperatureExecutor /sample.txt /output/01
(上述命令中的/sample.txt是已经将sample.txt文件放于hdfs中,/output/01是hdfs中不存在的目录,hadoop执行完MapReduce操作后会自动创建)
最终运行成功示例