[置顶] 【java】—Could not locate executable null 解决、思考

【背景】

    最近小编在做逆向工程的时候,将ios的服务端在eclipse中编译的时候遇到了这样的问题!
    java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

【问题解决】

    通过问题的描述并查阅了资料,了解到是环境变量中没有配置HADOOP_HOME,所以导致无法启动winutils.exe

    1、配置环境变量

      计算机(右击,属性)——>高级系统设置——>环境变量——>单击新建:
      变量名:HADOOP_HOME    变量值:E:\hadoop-common-2.2.0-bin-master
    读者可能会问了,我没有你文中变量值的路径啊,别着急,往下看~~~~

    2、下载一个winutils.exe

      单击 下载连接 下载一个,解压后,放到对应路径下面(注:解压的bin目录所在的地址就是上面的变量值)

    3、重启计算机使得环境变量生效

      小编思考:配置环境变量需要重启吗
      经过查看博文:Windows下配置环境变量和需不需要重启问题,以及自己的实验,证明HADOOP_HOME为影响系统的环境变量,所以需要重新启动计算机!
    
    注:网上还说直接在程序中加入(System.setProperty("hadoop.home.dir", "E:\hadoop-common-2.2.0-bin-master");)也可以,不过这个只是临时针对该应用程序的解决办法,防止以后其它应用程序也使用到HADOOP_HOME还是乖乖的配置一下环境变量吧。

【Hadoop浅析】

    小编发现,在这个问题中遇到的最多的一个词就是Hadoop,之前只是听说过这个东东,那么它到底是啥呢?同时也激发了小编对它的探索!

    1、是什么?

      Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
      Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

    2、干什么?

      Hadoop很擅长存储大量的半结构化的数据集。数据可以随机存放,所以一个磁盘的失败并不会带来数据丢失。      Hadoop也非常擅长分布式计算——快速地跨多台机器处理大型数据集合。
      优点:高可靠性、高扩展性、高效性、高容错性、低成本。

    3、怎么用?

      怎么用的问题,就留到以后专门研究它的时候再细细的剖析吧O(∩_∩)O~

【思考】

    一直以来纠结于自己如何能够举一反三,如何能够不断提高自己的加速度;经过这件事之后,使得小编有了更加清晰的认知与答案,那就是:
    1、在解决任何问题的时候一定要融入自己的思考
    2、在思考的同时不要让自己的思维受到限制与约束
    3、将该问题所涉及到的类似的问题多了解一下,有可能这个时候用不到但是以后涉及到的时候,就会无意识的形成你的知识体系
    4、通过践行来验证那些无形的理论知识
    5、对于未知的领域以及新鲜的事物的好奇心永远不可磨灭
    身为不断走向老鸟之路的小编,希望每一位读者都能够有更加深刻的感受,无论在那个领域奋起的你,都有必要使得自己拥有属于自己的那一片蓝天。

你可能感兴趣的:(java,hadoop,总结)