hadoop2对应的eclipse插件使用
1. eclipse插件安装步骤:
a).把插件复制到eclipse安装目录plugins文件夹下
b).打开eclipse的Window---Preference---Hadoop M/R---指向hadoop-2.2.0安装目录:只要在Windows上将hadoop-2.2.0.tar.gz解压即可
c).Window---open perspective---other:选中其中的MR
d).如果此时eclipse下方出现MR视图则跳过此步骤。window---show view---other---MR
e).在MR视图的右上角有两个图标,选择New Hadoop location。General配置界面:
Location name:Hadoop(随便填),Host:192.168.8.101,Port:9001(即NN所在IP及Prot)
User M/R Master host:勾选(伪分布式所以一样),User name:root
f).Advance parameters配置界面:
Hadoop.tmp.dir:与core-site.xml里hadoop.tmp.dir设置一致。
Dfs.replication:与hdfs-site.xml里面的dfs.replication一致
Dfs.permissions.enabled:false (HDFS操作不检查权限)
g).在eclipse左侧出现“DFS Locations”,就说明eclipse已经成功连上远程的hadoop了。
(注意,视图应切换到MR视图,而不是默认的Java视图)
2. 创建Hadoop项目
a).创建项目New---other---MR project,或在下面的MR文件夹选择更具体的Mapper类等。
b).配置参数Run As---Run Configurations---arguments:(路径写全称,逗号隔开)
hdfs://192.168.8.101:9000/wc/word0731
hdfs://192.168.8.101:9000/wcout/0731/073107
c).运行项目Run As---Run on Hadoop
3. 解决问题
1)Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
配置Hadoop的环境变量path。【参考问题3】
不想重启电脑,可在MR程序中加上System.setProperty("hadoop.home.dir", "...");暂时缓缓。
2)Could not locate executable D:\hadoop-2.2.0\bin\winutils.exe in the Hadoop binaries.
Windows中Hadoop的安装目录bin下没有winutils.exe这个东西。去https://github.com/srccodes/hadoop-common-2.2.0-bin下载一个,将其内容替换到bin目录下即可。
3)org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
两种解决办法:
a) 在系统变量中,新建HADOOP_HOME变量,属性值为D:\hadoop-2.2.0,也就是win中对应的hadoop目录。然后在系统变量的Path里,追加%HADOOP_HOME%/bin,最后必须重启电脑。
b) 将上次下载的\bin目录下的hadoop.dll拷到C:\Windows\System32下面。然后将hadoop-2.2.0-src\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\io\nativeio\NativeIO.java文件复制到Eclipse当前项目对应的project中,然后修改436行为return true;如图所示:
4)NoClassDefFoundError:org/apache/hadoop/yarn/util/Apps
添加hadoop-2.2.0安装文件中Yarn目录下的所有Jar包即可。
注意:凡是出现 classNotFound、NoClassDefFoundError之类的错误异常,多是jar包 未导入引起的。根据相应提示找相应目录下的jar包即可。
5)user=L,access=WRITE,inode="/user/root/output":root:supergroup:drwxr-xr-x
在这个Linux的hadoop安装目录etc/hadoop下的hdfs-site.xml添加以下。修改完配置文件,还必须得重启hadoop集群,才可以使配置生效。
<property> <name>dfs.permissions</name> <value>false</value> </property>
6)这里只是针对伪分布式环境下Local模式hadoop项目的简单测试,对于集群版的测试可以查看: