当前位置:   article > 正文

[Hadoop3.3.1]:Unable to load native hadoop library for your platform_unable to load native-hadoop library for your plat

unable to load native-hadoop library for your platform... 在windows 下出现问

需求:

    linux已经启动了hadoop集群,想要在windows中用java对文件进行下载操作。

错误提示:
    找不到winutils.exe、hadoop.dll没有设置
原因:
    Hadoop访问windows本地文件系统,要求Windows上的本地库能正常工作。
    其中Hadoop使用某些Windows API来实现类似posix的文件访问权限。
    上述功能需要在hadoop.dll和winutils.exe来实现。
解决:

1.去官网下载源码

使用清华大学镜像:Index of /apache/hadoop/common/hadoop-3.3.1,下载hadoop-3.3.1-src.tar.gz

2.安装visual studio 2019,反正版本新点,已经安装的就不用管了

3.编译winutils项目

来到路径D:\hadoop-3.3.1-src\hadoop-common-project\hadoop-common\src\main\winutils下,在vs里打开他

里面有这两个项目,首先我们先修改生成的平台

然后右键解决方案 - 重定解决方案目标 - 确定

3.1 编译第一个

此步可能会报错: warning C4003: 类函数宏的调用“STRINGIFY_”参数不足

如果报这个错,我们双击错误的那行进到文件里,然后手动把前面的STRINGIFY换成STRINGIFY_

 3.2 编译第二个

 

如果提示找不到libwinutils.lib,那就说明第一个编译错误了,重新生成试试。

4.编译native项目

来到路径D:\hadoop-3.3.1-src\hadoop-common-project\hadoop-common\src\main\native下,打开项目

首先也是修改平台,然后右键解决方案重定解决方案目标。

此时试着点击生成,我这里是报错找不到 libwinutils.lib,我们需要手动把这个lib所在的目录加进来。

右键项目 - 属性 - 链接器 - 附加库目录 - 编辑 - 新行 - 选中D:\hadoop-3.3.1-src\hadoop-common-project\hadoop-common\src\main\winutils\x64\Release(你第一个编译的项目生成的东西所在的路径)

 配置好后生成,如果还有其他错请百度。

5.配置HADOOP_HOME

在你电脑某个地方创建hadoop-3.3.1文件夹,在里面创建bin目录,来到bin目录下。

5.1复制编译生成的文件

我们主要需要复制wintuils.exe、hadoop.lib和他们所需要的一些东西。

首先来到路径D:\hadoop-3.3.1-src\hadoop-common-project\hadoop-common\target\bin 下,复制里面所有内容到我们创建的bin中。

 然后来到D:\hadoop-3.3.1-src\hadoop-common-project\hadoop-common\src\main\winutils\x64\Release 下,复制其中的libwinutils.libwinutils.exewinutils.pdb到创建的bin中

 5.2其他文件

来到 D:\hadoop-3.3.1-src\hadoop-hdfs-project\hadoop-hdfs\src\main\bin ,复制其中的hdfshdfs.cmd

来到D:\hadoop-3.3.1-src\hadoop-yarn-project\hadoop-yarn\bin,复制其中的yarnyarn.cmd

来到D:\hadoop-3.3.1-src\hadoop-mapreduce-project\bin,复制其中的mapredmapred.cmd

都放到bin下,红色是第一步的,绿色是第二步的

5.3配置环境变量

配置HADOOP_HOME的值为我们创建的hadoop-3.3.1这个文件夹

再在path中添加%HADOOP_HOME%\bin

最后,重启idea,就可以使用了!

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/851341
推荐阅读
相关标签
  

闽ICP备14008679号