在ideal下创建maven工程,编写mapreduce程序,调用虚拟机上hadoop分布式执行,避免每次都要进行打包,将文件、jar包上传到主节点master上,在主节点上再去调用
1.idea创建maven工程,目录结构如下
input 文件下放程序需要读取的文件,每个程序对应input下一个文件夹,如wordcount,words文件为com.zju.czx.WordCount 要读取的文件;
output 下为程序执行完成从hdfs上放下的文件
target 存放整个项目的打包生成的jar
src 存放mapreduce的程序
shell 存放执行脚本,通过脚本来对虚拟机上进行操作
pom.xml 使用的是hadoop版本1.2.1.
2.在idea这个开发环境的机器上,与master设置ssh的免密码登录
|
|
3.编写脚本,将开发环境与master进行开发
run.sh
总结
这样一来就减少了每次再手动与虚拟机进行脚本,一个脚本就进行操作了。在执行上可能要按照规定好规则去执行。目录结构的创建也要按照规则去创建。不过自己使用起来还是很方便的,而且用maven对其进行打包控制,可以重复编写多个mapreduce程序,只要在执行脚本的时候设定好主类就好了。