zoukankan      html  css  js  c++  java
  • window本地运行mapreduce程序

    mapreduce的运行方式一般有两种,一是从本地导出一个jar包,在传到虚拟机上运行,这样调试起来非常的不方便,如果出现错误就需要重新导出jar包。

    第二种方式是在本地直接运行,但是在运行前需要进行一些准备。我原来一直用的是方式一,由于需要,必须改成方式二,今天进行了相关的操作。

    首先,需要准备windwos编译下的hadoop包,实际上只需要将linux中的hadoop中的lib目录替换,(还有的说法,如果还是不行的话,还需要将lib包中也替换)

    由于我的Hadoop版本比较老,是2.4.1,bin目录不是很好找,下边是我早github中找到的链接

    https://github.com/srccodes/hadoop-common-2.2.0-bin

    直接粘到hadoop中的bin目录替换,然后就是书写mapreduce程序,里边的代码和虚拟机中的代码基本一致,但是,需要在主程序中加入一行代码

             Configuration conf = new Configuration();

     conf.set("fs.defaultFS","hdfs://192.168.252.200:9000");

    这两句最好紧挨着,否则会报错。这里边的设置的自己虚拟机上的master节点的ip地址。然后直接运行程序,就可以成功了

    网上有人说要配置HADOOP_HOME的系统变量,但是本人在运行程序时尝试修改,但是没有成功,可是但运行mapreduce时不会报错,所以这个步骤因该没有用

    在运行时可能会出  pression denied错误,这是因为你的hdfs中的文件的权限太高,你可以直接将其设置成777,使任何用户都具有访问该文件的权限。

    亲自尝试,可以成功

  • 相关阅读:
    电力基本知识
    .net图表工具汇总
    最重要的十年做什么才不浪费?
    花10分钟看一看少走30年弯路
    给明年依然年轻的我们
    Qt经典—线程、事件与Qobject
    C#源码500份
    .NET 性能优化方法总结==转
    qt +ChartDirector 绘制图表
    创业者,你为什么这么着急?
  • 原文地址:https://www.cnblogs.com/ljysy/p/10016031.html
Copyright © 2011-2022 走看看