win32下开发hadoop应用程序(二)

(2)在Eclipse中配置开发hadoop程序,下载hadoop-0.20.2-cdh3u1.tar.gz。

·         Step1. eclipse中,新建一个Java 项目,填入Project name,在Contents中,选择 “Create project from existing source”,在 Browse… 中选择hadoop的目录,点击“Next > ”。

 

·         Step2. Java Build Path面板,建议把Source folders全部移除,在Default output folder中,重新输入output目录,因为hadoop bin 目录是存放linux脚本的,这里可以指定一个hadoop-0.xx.xx/output目录。点击“OK”。

 

·         Step3. Package Explorer中,右击项目名,选择“build path”,选择“configuration build path”,在source folder中,选择以下目录作为source folder

Hadoop-0.xx.xx/conf

Hadoop-0.xx.xx/src/core

Hadoop-0.xx.xx/src/hdfs

Hadoop-0.xx.xx/src/mapred

 

·         Step4. 此时eclipse会编译source folder 的源码,目前一般高版本的hadoop,只差了一个ant.jar,这个包就是ant 的主要jar包。可以到 http://ant.apache.org/bindownload.cgi 下载到。并加到classpath Libraries中。

 

·         Step5. 如果一切顺利,接下来配置 conf/ 下的 core-site.xml hdfs-site.xml mapred-site.xml 三个配置文件,在core-site.xml中加入(端口可以自己定义):

<property>

            <name>fs.default.name</name>

            <value>hdfs://localhost:9000</value>

            </property>

 

      <property>

            <name>mapred.job.tracker</name>

            <value>localhost:9001</value>

      </property>

 

另外,在本地配置一个目录存放namenode metadata ,另一个目录存放 datanode block。 用于配置hdfs-site.xml

<property>

       <name>dfs.name.dir</name>

       <value>E:/namespace/dfs/metadata</value>

    </property>

 

    <property>

       <name>dfs.data.dir</name>

       <value>E:/sde/hadoop/data</value>

    </property>

 

    <property>

       <name>dfs.replication</name>

       <value>1</value>

    </property>

 

接下来,在mapred-site.xml中,加入:

<property>

               <name>mapred.job.tracker</name>

               <value>localhost:9001</value>

</property>

 

注:有关Tasktracker,和Datanode 的端口无需配置,这两个节点相对于Jobtracker namennode是客户端,RPC的端口是自动分配的。也就是我们说的控制端口,另外传输通信端口,请阅读 hdfs-default.xml mapred-default.xml配置文件。

 

·         Step6. 启动hadoop的步骤是先启动HDFS,然后再启动mapred,原则是先启动主节点,再启动子节点。

启动namenodenamenode的主main入口在org.apache.hadoop.hdfs.server.namenode包下,类名为NameNode.java ,找到main函数,在第一行添加:

argv = new String[]{"-format"};

代码,然后运行该类,正常情况下,会输出metadata目录的格式化信息。接着,注释掉刚才添加的代码,重新运行该类。

 

·         Step7. 启动datanodedatanode的主main入口在 org.apache.hadoop.hdfs.server.datanode包下,类名为 DataNode.java,找到main函数,该类,直接运行。

 

·         Step8. 启动 JobTracker,该类位于org.apache.hadoop.mapred.JobTracker在启动之前,找到main方法,在main方法的第一行加入:

System.setProperty(“hadoop.log.dir”, “$HADOOP_DIR/logs”);

$HADOOP_DIR为您本机的hadoop目录。由于hadoop默认是shell脚本启动的,因

Hadoop.log.dir 是在shell 中配置的。

 

·         Step9. 启动 TaskTracker,该类位于org.apache.hadoop.mapred.TaskTracker,直接运行。

 

注:我们已经成功启动了四个进程,如果您需要,可以启动SecondaryNameNode,该类位于org.apache.hadoop.hdfs.server.namenode包,但考虑到内存占用情况,一般该节点无需启动。

 

·         Step10. Hadoop的 命令行调用的类,在core包中的 org.apache.hadoop.fs中可以找到,类名为FsShell.java,举个简单的例子,如果需要查看Hdfs的根目录文件,那么在FsShellmain函数中,添加 args = new String[]{“-ls”, “/”};代码,然后运行该类即可。

 

mapreduce方面,可以使用org.apache.hadoop.mapred.JobClient提交任务。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值