eclipse Hadoop开发环境配置

  1. 设置ant初始参数
    修改build-contrib.xml文件

    1
    2
    $cd HADOOP_HOME/src/contrib
    $vibuild-contrib.xml

    编辑并修改hadoop.root值为实际hadoop解压的根目录

    1
    <propertyname="hadoop.root"location="你的HadoopHome路径"/>

    添加eclipse依赖

    1
    <propertyname="eclipse.home"location="你的eclipse路径"/>

    设置版本号

    1
    <propertyname="version"value="Hadoop版本号,如:1.2.1"/>
  2. 调整java编译设置
    启用javac.deprecation

    1
    2
    $cd HADOOP_HOME/src/contrib
    $vibuild-contrib.xml


    1
    <propertyname="javac.deprecation"value="off"/>

    改为

    1
    <propertyname="javac.deprecation"value="on"/>
  3. ant 1.8+ 版本需要额外的设置javac includeantruntime=“on” 参数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <!-- ====================================================== -->
    <!-- Compile a Hadoop contrib's files                       -->
    <!-- ====================================================== -->
    <targetname="compile"depends="init, ivy-retrieve-common" unless="skip.contrib">
    <echomessage="contrib: ${name}"/>
    <javac
     encoding="${build.encoding}"
     srcdir="${src.dir}"
     includes="**/*.java"
     destdir="${build.classes}"
     debug="${javac.debug}"
     deprecation="${javac.deprecation}"
     includeantruntime="on">
     <classpathrefid="contrib-classpath"/>
    </javac>
    </target>
  4. 修改编译hadoop插件 classpath

    1
    2
    $cd$HADOO_HOME/src/contrib/eclipse-plugin
    $vibuild.xml

    添加 文件路径 hadoop-jars

    1
    2
    3
    4
    5
    <pathid="hadoop-jars">
      <filesetdir="${hadoop.root}/">
        <includename="hadoop-*.jar"/>
      </fileset>
    </path>

    将hadoop-jars 添加到classpath

    1
    2
    3
    4
    5
    6
    <pathid="classpath">
      <pathelementlocation="${build.classes}"/>
      <pathelementlocation="${hadoop.root}/build/classes"/>
      <pathrefid="eclipse-sdk-jars"/>
      <pathrefid="hadoop-jars"/>
    </path>
  5. 修改或添加额外的jar依赖
    因为我们根本都没有直接编译过hadoop,所以就直接使用${HADOOP_HOME}/lib下的资源.需要注意,这里将依赖jar的版本后缀去掉了。
    同样还是在$HADOOP_HOME/src/contrib/eclipse-plugin/build.xml文件中修改或添加

    1
    2
    $cd HADOOP_HOME/src/contrib/eclipse-plugin
    $vibuild.xml

    找到 <!-- Override jar target to specify manifest --> 修改target name为 jar 中的 copy file 的路径,具体如下:

    1
    2
    3
    4
    5
    6
    7
    <copyfile="${hadoop.root}/hadoop-core-${version}.jar"tofile="${build.dir}/lib/hadoop-core.jar"verbose="true"/>
    <copyfile="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar" tofile="${build.dir}/lib/commons-cli.jar"verbose="true"/>
    <copyfile="${hadoop.root}/lib/commons-configuration-1.6.jar" tofile="${build.dir}/lib/commons-configuration.jar"verbose="true"/>
    <copyfile="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" tofile="${build.dir}/lib/commons-httpclient.jar"verbose="true"/>
    <copyfile="${hadoop.root}/lib/commons-lang-2.4.jar" tofile="${build.dir}/lib/commons-lang.jar"verbose="true"/>
    <copyfile="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-core-asl.jar"verbose="true"/>
    <copyfile="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-mapper-asl.jar"verbose="true"/>
  6. 修改 jar 清单文件

    1
    2
    cd HADOOP_HOME/src/contrib/eclipse-plugin/META-INF
    viMANIFEST.MF

    找到这个文件的Bundle-ClassPath这一行,然后,修改成

    1
    Bundle-ClassPath: classes/,lib/commons-cli.jar,lib/commons-httpclient.jar,lib/hadoop-core.jar,lib/jackson-mapper-asl.jar,lib/commons-configuration.jar,lib/commons-lang.jar,lib/jackson-core-asl.jar

    请保证上述字符占用一行,或者满足osgi bundle 配置文件的换行标准语法也行的。省事就直接写成一行,搞定。

  7. 新建直接打包并部署jar到eclipse/plugin目录的target

    1
    2
    cd$HADOP_HOME/src/contrib/eclipse-plugin
    vibuild.xml

    添加target直接将编译的插件拷贝到eclipse插件目录

    1
    2
    <targetname="deploy"depends="jar"unless="skip.contrib">
    <copyfile="${build.dir}/hadoop-${name}-${version}.jar"todir="${eclipse.home}/plugins"verbose="true"/> </target>

    将ant默认target default=“java"改为default=“deploy”

    1
    <projectdefault="deploy"name="eclipse-plugin">
  8. 编译并启动eclipse验证插件

    1
    ant -f ./hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml
  9. 启动eclipse,配置

    安装成功之后的标志如图:

    1、在左边的 project explorer 上头会有一个 DFS locations的标志
    2、在 windows -> preferences里面会多一个hadoop map/reduce的选项,选中这个选项,然后右边,把下载的hadoop根目录选中

    如果能看到以上两点说明安装成功了。

     

    二、插件安装后,配置连接参数
    插件装完了,启动hadoop,然后就可以建一个hadoop连接了,就相当于eclipse里配置一个 weblogic的连接。 
    第一步,如图所示,打开Map/Reduce Locations 视图,在右上角有个大象的标志点击

    第二步,在点击大象后弹出的对话框进行进行参数的添加,如下图

    location name: 这个随便填写,我填写的是:localhost.
    Map/Reduce Master 这个框里
    Host:就是jobtracker 所在的集群机器,这里写localhost
    Hort:就是jobtracker 的port,这里写的是9001
    这两个参数就是mapred-site.xml里面mapred.job.tracker里面的ip和port  
    DFS Master 这个框里
    Host:就是namenode所在的集群机器,这里写localhost
    Port:就是namenode的port,这里写9000
    这两个参数就是core-site.xml里面fs.default.name里面的ip和port
    (Use M/R master host,这个复选框如果选上,就默认和Map/Reduce Master这个框里的host一样,如果不选择,就可以自己定义输入,这里jobtracker 和namenode在一个机器上,所

    以是一样的,就勾选上)
     user name:这个是连接hadoop的用户名,因为我是用sony用户安装的hadoop,而且没建立其他的用户,所以就用sony。
    下面的不用填写。
    然后点击finish按钮,此时,这个视图中就有多了一条记录。

     第三步,重启eclipse并重新编辑刚才建立的那个连接记录,如图现在我们编辑advance parameters tab页

    (重启编辑advance parameters tab页原因:在新建连接的时候,这个advance paramters  tab页面的一些属性会显示不出来,显示不出来也就没法设置,所以必须重启一下eclipse再进来编辑才能看到)
    这里大部分的属性都已经自动填写上了,其实就是把core-defaulte.xml、hdfs-defaulte.xml、mapred-defaulte.xml里面的一些配置属性展示出来。因为在安装hadoop的时候,其site系列配置文件里有改动,所以这里也要弄成一样的设置。主要关注的有以下属性:
    fs.defualt.name:这个在General tab页已经设置了
    mapred.job.tracker:这个在General tab页也设置了
    dfs.replication:这个这里默认是3,因为我在hdfs-site.xml里面设置成了1,所以这里也要设置成1 
    hadoop.job.ugi:刚才说看不见的那个,就是这个属性,这里要填写:sony,Tardis,逗号前面的是连接的hadoop的用户,逗号后面就写死Tardis
    然后点击finish,然后就连接上了,连接上的标志如图:

    DFS Locations下面会有一只大象,下面会有一个文件夹,即 hdfs的根目录,这里就是展示的分布式文件系统的目录结构了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值