分享

在Ubuntu中使用eclipse连接HDFS配置开发环境及出现问题解决方案

问题导读:

1.远程连接过程中,mr master host对应配置文件那个端口?
2.DFS master对应配置文件中那个端口?
3.An internal error occurred during: "Map/Reduce location status updater".  错误如何解决?






1.解压eclipse:

eclipse-SDK-4.2-linux-gtk.tar.gz
(1)解压程序文件:

  1. hm@hm-ubuntu:/usr$ sudo tar eclipse.tar.gz
复制代码
1.png
2.png




(2)在Ubuntu桌面点鼠标右键,创建启动器:  

3.png


(3)在“命令”选择eclipse执行文件:

4.png


5.png




2.安装hadoop开发插件:
        hadoop-eclipse-plugin-*.jar插件须符合此eclipse版本。   
        (1)手动制作hadoop-eclipse-plugin插件  
                见《Hadoop上路_01-手动制作hadoop-eclipse-plugin插件》
        (2)把插件放入%eclipse%/dropins/hadoop/plugins目录  
                首先在%eclipse%/dropins/中创建hadoop/plugins层级目录  


3.执行快捷方式:
         6.jpg   

       错误:   
               重新配置了环境变量中的jdk路径,eclipse不能检测到新路径


               7.png    
      
        解决:
              更新环境变量后重启系统  


               8.png


               9.png


4.配置Hadoop视图:
         10.png
         11.png

        1)window -> preferences -> Hadoop Map/Reduce,              
                配置任意hadoop解压目录(仅在创建Map/Reduce Project项目时供自动加载jar包用;如果创建Java Project可以置空):   

                12.png   
                 错误:
                        jdk版本错误:
                        当前使用的hadoop-eclipse-plugin-1.1.2插件是基于JDK1.7制作的,而系统中安装的是JDK1.6。


eclipse.buildId=M20130204-1200
java.version=1.6.0_24
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=zh_CN
Command-line arguments:  -os linux -ws gtk -arch x86

Error
Sun May 19 09:10:21 CST 2013
Unable to create the selected preference page.

java.lang.UnsupportedClassVersionError: org/apache/hadoop/eclipse/preferences/MapReducePreferencePage : Unsupported major.minor version 51.0   

at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:632)
... ...
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)   


                   13.png   

             解决:
                        升级当前系统的JDK版本到插件使用的1.7。
   
        2)打开Hadoop视图,      

                14.png   


        3)新建Hadoop Location连接,            

  
                15.png

        4)配置主机、端口,         

  
                16.png    

        5)完成:         

  
                17.png    

                “local”下的目录即HDFS中的目录。可以直接在上面进行下载、创建、上传、删除等操作:

                18.png    

                错误:
                        hadoop-eclipse-plugin-*.jar插件中jar包引用错误  

                        19.png    

An internal error occurred during: "Map/Reduce location status updater".  
org/codehaus/jackson/map/JsonMappingException            

          解决:
       在制作插件时%hadoop%/src/contrib/eclipse-plugin/META-INF/MANIFEST.MF中的Bundle-ClassPath内jar的路径写错导致的,修改正确,重新制作。

  
5.创建项目:
        在Map/Reduce视图中创建java project:

         20.png   


- end








已有(3)人评论

跳转到指定楼层
ningbufan 发表于 2014-12-25 14:34:43
谢谢分享,好好学习
回复

使用道具 举报

往事也加 发表于 2015-11-22 15:51:46
求解,如何解决此问题呢?

2015-11-22 13:40:24屏幕截图.png
2015-11-22 13:40:10屏幕截图.png
2015-11-22 13:40:03屏幕截图.png
回复

使用道具 举报

往事也加 发表于 2015-11-22 17:38:52
插件的名字为:hadoop-eclipse-plugin-2.6.0.jar
现在了一个新问题
whx@whx-desktop:/usr/local/hadoop$ hadoop jar hadoop-examples-*.jar wordcount input output
15/11/22 17:30:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/11/22 17:30:21 INFO Configuration.deprecation: session.id is deprecated. Instead, use dfs.metrics.session-id
15/11/22 17:30:21 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
15/11/22 17:30:21 INFO mapreduce.JobSubmitter: Cleaning up the staging area file:/usr/local/hadoop_tmp/mapred/staging/whx274145175/.staging/job_local274145175_0001
org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/user/whx/input
    at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:321)
    at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:264)
    at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:385)
    at org.apache.hadoop.mapreduce.JobSubmitter.writeNewSplits(JobSubmitter.java:597)
    at org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:614)
    at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:492)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1296)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1293)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1293)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1314)
    at org.apache.hadoop.examples.WordCount.main(WordCount.java:87)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:71)
    at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
    at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
whx@whx-desktop:/usr/local/hadoop$
whx@whx-desktop:/usr/local/hadoop$ hadoop dfs -copyFromLocal conf/* input
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

15/11/22 17:33:30 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
copyFromLocal: `input': No such file or directory
whx@whx-desktop:/usr/local/hadoop$

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条