win7+Myeclipse10开发Hadoop应用程序环境搭建
1、复制linux下已配置安装好的hadoop目录进入windows,
同时修改hadoo-env.sh文件的JAVA_HOME为windows下的jdk目录。
2、复制hadoop-eclipse-1.2.jar插件进入myeclipse文件夹下dropins下
下载:我的文件下有一个以hadoop-eclipse1.2.rar文件(压缩包),下载下来,将后缀改为jar就可以了
3、重启myeclipse
4、配置:windows-Preference->windows下的hadoop目录
5、编辑hadoop位置
6、设置M/R和DFS 参见mapred-site.xml和core-site.xml的配置
7、设置用户名,linux上的用户名注意
8、设置临时目录tmp,参见core-site.xml的配置
9、hadoop服务集群关闭权限认证,设置linux上的hadoop/conf下的mapred-site.xml,同时也修改windows上。
- <property>
- <name>dfs.permissions</name>
- <value>false</value>
- </property>
重启hadoop集群。
10、保存myeclipse上的设置,重启myeclipse,此时配置项会根据tmp的设置重新进行分配设置。
11、仍然需要编辑hadoop地址,设置dfs.replication为1(伪分布下)点击finish。
注意:安装时在一开始都是fs.的设置,并未出现dfs的配置,这一步可在后面运行程序时,hadoop的配置项会进行改变,再修改也不迟。
12、也许在左侧栏会出现
13、环境搭建成功,也许不会出现。(因为我在运行第一次的程序时,这个DFS Locations就不在了,不过不影响程序运行。)
14、下一篇为运行第一个示例程序WordCount.
注意:
如果使用的是eclipse,在下一篇设置参数的时候,必须使用全路径,类似:
hdfs://hadoop:9000/input hdfs://hadoop:9000/output
否则会报:输入文件不存在的错误(教训哎)
14/07/05 16:41:12 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
14/07/05 16:41:12 WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
14/07/05 16:41:12 INFO mapred.JobClient: Cleaning up the staging area file:/tmp/hadoop-Administrator/mapred/staging/Administrator1999766053/.staging/job_local_0001
14/07/05 16:41:12 ERROR security.UserGroupInformation: PriviledgedActionException as:Administrator cause:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: file:/input
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: file:/input
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:235)
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:252)
at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:1024)
at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:1041)
at org.apache.hadoop.mapred.JobClient.access$700(JobClient.java:179)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:959)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:912)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Unknown Source)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1149)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:912)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:500)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530)
at com.demo.WordCount.main(WordCount.java:67)