虽然有许多人推崇vim编程,但是本人并不习惯vim编程,本人还是比较在window下使用eclipse编程。另外由于本人linux安装的都是最小化安装,没有图形界面,因此使用windows的eclipse编写mapreduce程序远程发送至linux的hadoop下运行。
默认已经在linux上装好了Hadoop并且在windows上安装了Eclipse环境
1. 在windows上搭建Hadoop环境
当然我们不是在windows上安装hadoop,在window上安装hadoop需要其他的环境,我们只是使用hadoop的库而已。
1. 在windows上下载hadoop安装包并解压
我们先下载hadoop:下载地址
我们主要使用它的库,仅仅解压就可以。
)
解压Hadoop压缩包
2.在eclipse上安装hadoop插件
下载hadoop-eclipse-plugin-2.6.0.jar:
官方的网太慢,下载不下来。将下载好的插件移动到eclipse安装目录下的plugins文件夹下。然后重新启动eclispe
3. 配置环境
打开eclipse,在window -> Preferences ->Hadoop Map/Reduce下设置hadoop的解压路径
切换至Map/Reduce项目窗口
新建一个hadoop配置
然后设置Hadoop连接
4. 启动hadoop
我们在linux上启动hadoop集群
5. 测试: hdfs文件管理
我们可以尝试上传和下载文件
成功!
6.测试:创建一个MapReduce项目
我们创建一个MapReduce项目
我们查看创建的结果
我们会发现有许多hadoop的jar包
然后我们就可以使用eclipse编写mapreduce程序了!
2. 安装SFTP Plug-in for Eclipse
我们编写好了然后呢?在windows上由于没有hadoop环境因此无法运行。可以发送的安装hadoop的linux下运行。
我们在Eclipse上安装一个“SFTP Plug-in”插件,官方网站:SFTP Plug-in for Eclipse
对于安装的介绍:
You need Eclipse SDK 3.3(or higher) to enjoy this software.
Help > Software Updates > Find and Install... Choose Search for new features to install Click New Remote Site..., and then put http://eclipse.jcraft.com/ for the URL field. Choose SFTP Plug-in, and then click Select Required button.
For Eclipse SDK 3.2, try the Update Site
http://eclipse.jcraft.com/3.2/
其实已经挺详细了,但是还是介绍一下吧:
1. 点击”Help” -> “Install New software…”
2. 添加插件下载地址的网址:
3. 选择 SFTP Plug-in,点击“Next…”
然后“Next”->同意条款,”Next” -> 选择,”Next”
4. 重启
5. 选择“Remote System Explorer”
关于他的配置在`”window”->”preferences” ->”Remote Systems”下
3. 编写MapReduce并发送至linux下运行
然后我们怎么使用呢?
1. 编写一个MapReduce程序
我先在“Map/Reduce”视图下编写一个MapReduce程序
2. 将class文件打成jar包
切换至“Remote System Explorer”视图,将项目向下的bin目录打成jar包。在eclipse中当java文件保存后会自动编译为class文件。因此不需要我们使用javac编译。
修改打包的jar的名字为我们想要的名字后运行
我们会发现当前项目的bin目录下会有我们刚刚打出的jar包
3. 设置远程管理linux文件
新建一个连接
选择“linux”,点击“Next..”
配置Host,点击next…
向下依次选择”ssh.files”->”processes.shell.linux”->”ssh.shell”->”ssh.terminals”,点击“finish”然后我们就可以输入用户名和密码远程linux了
4. 将jar包拷贝至linux下
点击“sftp files”下的“My Home”,输入用户名和密码就就可以将本地的文件拷贝至linux上(就是复制文件,然后粘贴),可以查看复制结果:
5.远程连接hadoop运行该程序
在“ssh Teminals”->”Launch Teminal”运行linux命令行。
我们可以在Teminal窗口下运行该程序。