eclipse
通过手提电脑的eclipse开发mapreduce到远程的Hadoop集群上运行
- 首先配置java环境
- 然后安装hadoop eclipse插件
- 配置插件
- 从远程集群的Name Node上传输CDH/Hadoop到本地任一文件夹
- 告诉插件你的Hadoop装在这个文件夹里
- 然后配置远程链接的ip和port,至此你的本机配置操作完成
- 最重要的事情:在你的集群hdfs上配置用户权限,由于上传文件和jobs是用你当前用户名(如:elun)来传的,hdfs上根本没有你这个用户,因此要在master主机上创建用户(Data Node可以不用)并在hdfs上创建一个归他所属的文件夹。此后就可以在本地通过elun用户把文件传到集群上,集群会自动认为是集群那个系统的elun用户上传的文件。
第一步
从云端复制你的hadoop整个安装文件夹到你工作的电脑本地
虽然这样很傻,但是请你照做吧
eclipse plugins: hadoop-eclipse
download pages in github
compile by yourself, or use the jar in release
cd src/contrib/eclipse-plugin
ant jar -Dversion=2.4.1 -Dhadoop.version=2.4.1 -Declipse.home=/opt/eclipse -Dhadoop.home=/usr/share/hadoop
#version: plugin version
#hadoop.version: hadoop version you want to compiled with
#eclipse.home: path of eclipse home
#hadoop.home: path of hadoop 2.x home
copy
cp hadoop-eclipse-plugin-2.6.0.jar eclipse/plugins
configure
- Window->Perspective->open Perspective->other->Map/Reduce
- Window->Preferences->Hadoop Map/Reduce
on your down right corner -> Map/Reduce Locations->click that blue elephant(‘why not yellow??’)
- Location name: whatever you like
- Map/Reduce Master:
- Host: master
- Port: 8021 (与Hadoop配置文件mapred-site.xml中mapred.job.tracker的端口一致)(9000 for apache)
- DFS Master
- port 8020(与Hadoop配置文件core-site.xml中fs.default.name/fs.defaultFS的端口号一致)(9001 for apache)
- user name: hdfs (or hadoop for apache)
在CM网页界面直接搜索fs.default.name, mapreduce.jobtracker.http.address也可以
CDH mapreduce Jars
直接添加所有的/opt/cloudera/parcels/CDH/jars目录下的jar到Build path即可。
最好像我一样建立一个用户Library。
以后的MapReduce工程就可以直接Add Library > Add User Library > CDH 即可导入所有依赖包。