zoukankan      html  css  js  c++  java
  • 在Myeclipse上安装hadoop插件,开发MapReduce程序(本人新手,欢迎大家多多指导和关照)

    1.安装好Myeclipse。

    2.下载hadoop插件(hadoop-eclipse-plugin-2.6.0.jar)并放到Myeclipse/dropins目录下。

    3.重启Myeclipse。

    4.配置Hadoop installation directory

    如果插件安装成功,打开Windows—Preferences后,在窗口左侧会有Hadoop Map/Reduce选项,点击此选项,在窗口右侧设置Hadoop安装路径。

    5.将hadoop2.6.0 64位版(我的系统64位)Windows运行包下载,并将里面hadoop.dll和winutils.exe两个文件放到Hadoop 安装bin目录下,比如:X:hadoop-2.6.0in目录下,与此同时,还需要将hadoop.dll和winutils.exe这两个文件放入到C:WindowsSystem32目录下。

    6.为hadoop配置环境变量。

    7.在Myeclipse配置Map/Reduce Locations。

    1)打开Windows—show view—Other

    2)选择Map/Reduce,点击OK

    3)在右下方看到如下图所示

    4)点击右边小象图标,打开Hadoop Location配置窗口,输入Location Name,任意名称即可.配置Map/Reduce Master和DFS Mastrer,Host和Port配置成与core-site.xml的设置一致即可:

    8.在上面hostname配置的时候,需要添加一条hostname 的解析。在Windows下,以管理员的身份打开C:WindowsSystem32driversetchosts文件(此处如果在用WEB UI查看hdfs,yarn等信息的时候配置过,就不必做了)。

     9.点击左侧的DFSLocations—>djt002(上一步配置的location name),如果连接成功,在project explorer的DFS Locations下会展现hdfs集群中的文件。

     

    10.构建map/reduce项目。

    1)首先打开Myeclipse,我们选择 File---New---Other,点击后出现如下界面。

    2)输入工程名称(如:hadoop)

    3)导入hadoop相关jar包

    点击项目右键——Build Path——Configure Build Path——进入如下界面

     

    4)选择你本地hadoop安装目录下的share目录下的hadoop目录下,如下图,然后把这4个文件夹下的jar包导入即可。

    5)在 src 目录下创建一个包名(如com.hadoop.test),然后编写一个MapReduce示例程序WordCount。 也可直接网上下载一个。

     注意:这里我们需要下载log4j.properties文件放到src目录下,这样程序运行时可以打印日志,便于调试程序。

     6)将自己创建的test.txt文件上传至HDFS文件系统的/dashuju目录下。

    在Windows下创建test.txt文件,通过Myeclipse连接HDFS,然后鼠标放到dashuju目录上右键点击,选择Upload files to HDFS,选中本地的test.txt文件上传至/dashuju目录下。

     

     7.下载的wordcount程序中,要设置输入输出路径。

    8.右键点击run as >>java application(或者run on hadoop )运行程序,并查看结果。

    11.常见错误及解决办法(以下错误来源于网络)。

    1.错误:java.io.IOException: Could not locate executable nullinwinutils.exe in the Hadoop binaries.

    错误原因:未正确配置环境变量

    解决办法:配置环境变量HADOOP_HOME为D:hadoop-2.2.0,另在Path变量后添加;%HADOOP_HOME%in

     

    2.错误:Could not locate executable D:hadoop-2.2.0inwinutils.exe in the Hadoop binaries.

    错误原因:本地Hadoop运行目录的bin目录下中没有winutils.exe或者32位/64位版本不匹配

    解决办法:下载相应的winutils.exe和hadoop.dll放到Hadoop运行目录的bin文件夹下,注意选择正确的32位/64位版本

     

    3.错误:Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

    错误原因:本地Hadoop运行目录的bin目录下中没有hadoop.dll或者32位/64位版本不匹配

    解决办法:下载相应的hadoop.dll放到Hadoop运行目录的bin文件夹下,注意选择正确的32位/64位版本

     

    4.错误:DEBUG org.apache.hadoop.util.NativeCodeLoader - Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: HADOOP_HOMEinhadoop.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform

    错误原因:本地Hadoop运行目录的bin目录下中没有hadoop.dll版本不匹配,有32位和64位版

    解决办法:下载正确的32位/64位版本的hadoop.dll放到Hadoop运行目录的bin文件夹下

     

    5.错误:org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlException: Permission denied: user=Administrator, access=WRITE, inode="hadoop": hadoop:supergroup:rwxr-xr-x

    解决办法:其实这个错误的原因很容易看出来,用户在hadoop上执行写操作时被权限系统拒绝。有以下几种解决办法,可以分别试一试。

    1)在系统的环境变量里面,添加一个的用户变量:HADOOP_USER_NAME,它的值为HADOOP环境下的用户名,比如hadoop(修改完重启eclipse,不然可能不生效)

    2)将当前Windows系统的登录帐号修改为hadoop环境下的用户名,比如hadoop。

    3)使用HDFS的命令行接口修改相应目录的权限: 比如要上传的文件路径为hdfs://djt002:9000/user/xxx.txt,则使用hadoop fs -chmod 777 /user 修改权限。 如果要上传的文件路径为hdfs://djt002:9000/java/xxx.txt,则要使用hadoop fs -chmod 777 /java或者hadoop fs -chmod 777 / 修改权限,此时需要先在HDFS里面建立Java目录。

    4)关闭hadoop环境下的防火墙。

     

    6.错误:Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V

    解决办法:下载正确的32位/64位版本的hadoop.dll和winutils.exe拷贝到C:WindowsSystem32目录下即可。

    7.错误:出现DFS列表无法正常显示的问题该怎么办?且报如下错误:

     

    解决方法:

    1)可能是因为Hadoop集群(hdfs)没有启动或没有启动成功导致的

    2)dfs权限:在配置文件中设置成false,或该属性配置有拼写错误

    3)HDFS离开安全模式:hadoop dfsadmin -safemode leave

    4)检查防火墙是否关闭

     

    8.错误:在搭建eclipse/Myeclipse过程中出现下面问题该如何解决?

    解决方法:

    1)点击Window——Open Perspective——Other.

    2)然后在弹出的对话框里选择Map/Reduce,点击OK即可。

    9.错误:连接不到hdfs文件系统上,报如下错误

    解决方法:

    把下图的主机名改成对应的IP地址即可

    10.错误:安装完hadoop-eclipse插件之后报如下错误

    解决方法:
    1)如果出现这种情况,把jdk换成1.8就可以了。Jdk1.8 对应52,Jdk1.7 对应51

    2)最好把Java安装路径放在path路径最前面

    3)路径最好不要有中文。

  • 相关阅读:
    前端学习(六):body标签(四)
    前端学习(五):body标签(三)
    前端学习(四):body标签(二)
    前端学习(三):body标签(一)
    volatile的作用以及原理解析
    【转载】synchronized锁的升级过程
    从三个层面解析synchronized原理
    将网页图片转base64打包导出实战和踩坑
    synchronized锁住的到底是什么以及用法作用
    多线程之程序的局部性原理和伪共享问题
  • 原文地址:https://www.cnblogs.com/Q277227/p/8193862.html
Copyright © 2011-2022 走看看