目录
简介
一般来说,我们的hadoop部署在linux服务器上,我们在windows上用eclipse进行开发,所以我们要进行开发环境配置。
工具和版本号
JDK:1.8
Eclipse:Jee Oxygen
Hadoop:2.6.5
hadoop-eclipse-plugin:2.6.5
winutils.exe
hadoop.dll
安装配置插件
下载插件,放到eclipse安装目录下的dropins文件夹中,重启eclipse
注意服务端必须对外开放9000端口, 或者在防火墙中进行配置
环境变量
下载hadoop到开发机并解压,将winutils.exe放到bin目录下
把hadoop.dll放到System32文件夹下
设置环境变量HADOOP_HOME=hadoop安装目录
设置环境变量PATH=%HADOOP_HOME%/bin
代码中的配置
-
core-site.xml
fs.defaultFS需要修改成master的ip,其余和服务器上一致
-
hdfs-site.xml
在开发机上用服务器上的hadoop进行调试时,操作hadoop的用户名默认为开发机的用户名,因此可能存在权限问题。在hdfs-site.xml中有一个配置可以禁用权限验证。需要服务器上做同样的配置
dfs.permissions配置为false,其余和服务器上一致
注意:权限问题还有其它几个办法
1、修改开发机用户名和服务器上的一样
2、代码中设置System.setProperty("HADOOP_USER_NAME","服务器用户名");
-
mapred-site.xml
和服务器上一致
-
yarn-site.xml
和服务器上一致
注意:如果打包到服务器上调用的时候,需要配置
否则报错如下
-
mapReduce
1、开发环境
上面提到的权限问题,可以通过代码System.setProperty("HADOOP_USER_NAME","服务器用户名");设置
设置开发机的hadoop路径System.setProperty("hadoop.home.dir","hadoop路径");
config.set("mapreduce.app.submission.cross-platform", "true");
config.set("mapreduce.framework.name", "local");
2、服务器环境
config.set("mapreduce.framework.name", "yarn");
config.set("yarn.resourcemanager.hostname", "master的ip");