环境:win7、myeclipse2014、hadoop2.6.1
实验内容:在win7的myeclipse2014上编写hadoop代码,连接centos部署的hadoop2.6.1集群环境
操作步骤:
1、 将centos安装部署的Hadoop2.6.1包拷贝到win7系统中
2、 下载Hadoop2.6.1对应版本的eclipse插件,我用的是hadoop-eclipse-plugin-2.6.0.jar,添加Myeclipse的hadoop插件,将hadoop-eclipse-plugin-2.6.0.jar拷贝到myeclipse的安装目录下,例如:***MyEclipse/dropins
3、 打开myeclipse验证是否添加成功
Windows->Preferences->Hadoop Map/Reduce ,如图
4、 配置Hadoop
5、 打开HadoopMap/Reduce视图
Windows->show view
6、 进入Map/Reduce视图,创建Hadooplocation
7、 在工程视图查看连接
8、 创建Hadoop工程
File->new
Finish即可
9、 运行MapReduce
设置运行参数
10、 运行wordcount
运行问题:
1、 运行报空指针
解决办法:
把winutils.exe拷贝到hadoop/bin下
把hadoop.dll拷贝到C://windows/system32下
在更换时注意:
是那个版本比如:是2.2 的还是2.6的;目前系统是32还是64
这个csdn上可以搜索下载
2、 权限问题
org.apache.hadoop.security.AccessControlException:org.apache.hadoop.security .AccessControlException: Permission denied:user=Administrator, access=WRITE,inode="hadoop": hadoop:supergroup:rwxr-xr-x
解决方案:
1、在系统的环境变量或java JVM变量里面添加HADOOP_USER_NAME,这个值具体等于多少看自己的情况,以后会运行HADOOP上的Linux的用户名。(修改完重启eclipse,不然可能不生效)
2、将当前系统的帐号修改为hadoop
3、使用HDFS的命令行接口修改相应目录的权限,hadoop fs -chmod 777 /user,后面的/user是要上传文件的路径,不同的情况可能不一样,比如要上传的文件路径为hdfs://namenode/user/xxx.doc,则这样的修改可以,如果要上传的文件路径为hdfs://namenode/java/xxx.doc,则要修改的为hadoopfs -chmod 777 /java或者hadoop fs -chmod 777 /,java的那个需要先在HDFS里面建立Java目录,后面的这个是为根目录调整权限。