解决 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...警告

2023-05-16

解决 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable警告问题

先翻译:警告util.NativeCodeLoader:无法为您的平台加载本机Hadoop库…在适用的情况下使用内置的java类
这个警告实在是虽然可能没有什么阻挡使用Hadoop的
/但是它会在你启动Hadoop时候出现,还会在你输入每一个命令enter之后出现/
/在我配置完Hadoop的环境之后就出现了这个警告,/希望我自己只是个例,大家能够没有这个问题,如果有,那就跟着我一起解决吧

  • 首先== 判断好自己的警告是否和我的一样==这个很重要,有的教程通过升级glib库达到消除警告的目的,但是我们并不清楚当前我们的Hadoop的期望是哪个版本的glib,所以需要保守起见还是不要升级,先判断自己的问题,如果不符合我的问题那么可以看大佬博客
  • 先进入这个目录
/usr/local/hadoop/lib/native

看这个目录下都存了什么
在这里插入图片描述

可以看出,libhadoop.so 存放在这个目录下

  • 接下来我们回到/usr/local/hadoop目录
    紧接着输入以下代码
grep -R 'java.library.path' *

可以看到:

bin/hadoop:  hadoop_add_subcommand "jnipath" client "prints the java.library.path"
bin/hadoop.cmd:  @echo   jnipath              prints the java.library.path
bin/yarn.cmd:    set YARN_OPTS=%YARN_OPTS% -Djava.library.path=%JAVA_LIBRARY_PATH%
etc/hadoop/yarn-env.cmd:  set YARN_OPTS=%YARN_OPTS% -Djava.library.path=%JAVA_LIBRARY_PATH%
etc/hadoop/shellprofile.d/example.sh:# and into the java.library.path system property.  In the majority
libexec/hadoop-functions.sh:    hadoop_add_param HADOOP_OPTS java.library.path \
libexec/hadoop-functions.sh:      "-Djava.library.path=${JAVA_LIBRARY_PATH}"
libexec/hadoop-config.cmd:@rem setup 'java.library.path' for native hadoop code if necessary
libexec/hadoop-config.cmd:  set HADOOP_OPTS=%HADOOP_OPTS% -Djava.library.path=%JAVA_LIBRARY_PATH%
share/doc/hadoop/hadoop-yarn/hadoop-yarn-site/WritingYarnApplications.html:<p>Setting <tt>-Djava.library.path</tt> on the command line while launching a container can cause native libraries used by Hadoop to not be loaded correctly and can result in errors. It is cleaner to use <tt>LD_LIBRARY_PATH</tt> instead.</p></div></div>
share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml:  Usage of -Djava.library.path can cause programs to no longer function if
share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml:  Usage of -Djava.library.path can cause programs to no longer function if
share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml:  Usage of -Djava.library.path can cause programs to no longer function if
share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html:<p>The child-task inherits the environment of the parent <tt>MRAppMaster</tt>. The user can specify additional options to the child-jvm via the <tt>mapreduce.{map|reduce}.java.opts</tt> and configuration parameter in the <tt>Job</tt> such as non-standard paths for the run-time linker to search shared libraries via <tt>-Djava.library.path=&lt;&gt;</tt> etc. If the <tt>mapreduce.{map|reduce}.java.opts</tt> parameters contains the symbol <i>@taskid@</i> it is interpolated with value of <tt>taskid</tt> of the MapReduce task.</p>
share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html:<p>Here is an example with multiple arguments and substitutions, showing jvm GC logging, and start of a passwordless JVM JMX agent so that it can connect with jconsole and the likes to watch child memory, threads and get thread dumps. It also sets the maximum heap-size of the map and reduce child jvm to 512MB &amp; 1024MB respectively. It also adds an additional path to the <tt>java.library.path</tt> of the child-jvm.</p>
share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html:  -Xmx512M -Djava.library.path=/home/mycompany/lib -verbose:gc -Xloggc:/tmp/@taskid@.gc
share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html:  -Xmx1024M -Djava.library.path=/home/mycompany/lib -verbose:gc -Xloggc:/tmp/@taskid@.gc
share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html:<p>The <a href="#DistributedCache">DistributedCache</a> can also be used to distribute both jars and native libraries for use in the map and/or reduce tasks. The child-jvm always has its <i>current working directory</i> added to the <tt>java.library.path</tt> and <tt>LD_LIBRARY_PATH</tt>. And hence the cached libraries can be loaded via <a class="externalLink" href="http://docs.oracle.com/javase/7/docs/api/java/lang/System.html">System.loadLibrary</a> or <a class="externalLink" href="http://docs.oracle.com/javase/7/docs/api/java/lang/System.html">System.load</a>. More details on how to load shared libraries through distributed cache are documented at <a href="../../hadoop-project-dist/hadoop-common/NativeLibraries.html#Native_Shared_Libraries">Native Libraries</a>.</p></div></div>
share/doc/hadoop/hadoop-project-dist/hadoop-common/NativeLibraries.html:<p>The bin/hadoop script ensures that the native hadoop library is on the library path via the system property: <tt>-Djava.library.path=&lt;path&gt;</tt></p>
share/doc/hadoop/hadoop-project-dist/hadoop-common/CommandsManual.html:<p>Print the computed java.library.path.</p></div>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.23.7/CHANGES.0.23.7.html:<td align="left"> Warn if java.library.path is used for AM or Task </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.10.1/CHANGES.0.10.1.html:<td align="left"> java.library.path is wrongly initialized by bin/hadoop when only pre-built libs are present, but custom-built ones aren&#x2019;t </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.10.1/CHANGES.0.10.1.html:<td align="left"> native libraries aren&#x2019;t loaded unless the user specifies the java.library.path in the child jvm options </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/2.0.3-alpha/CHANGES.2.0.3-alpha.html:<td align="left"> Warn if java.library.path is used for AM or Task </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/2.0.3-alpha/CHANGES.2.0.3-alpha.html:<td align="left"> Fix SEGV when libsnappy is in java.library.path but not LD_LIBRARY_PATH </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.23.0/CHANGES.0.23.0.html:<td align="left"> ContainerLocalizer should get the proper java.library.path from LinuxContainerExecutor </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/2.0.2-alpha/CHANGES.2.0.2-alpha.html:<td align="left"> User set java.library.path seems to overwrite default creating problems native lib loading </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/2.0.2-alpha/RELEASENOTES.2.0.2-alpha.html:<li><a class="externalLink" href="https://issues.apache.org/jira/browse/MAPREDUCE-4072">MAPREDUCE-4072</a> | <i>Major</i> | <b>User set java.library.path seems to overwrite default creating problems native lib loading</b></li>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/2.0.2-alpha/RELEASENOTES.2.0.2-alpha.html:<p>-Djava.library.path in mapred.child.java.opts can cause issues with native libraries.  LD_LIBRARY_PATH through mapred.child.env should be used instead.</p><hr />
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.10.0/CHANGES.0.10.0.html:<td align="left"> TaskRunner.run() doesn&#x2019;t pass along the &#x2018;java.library.path&#x2019; to the child (task) jvm </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.22.0/CHANGES.0.22.0.html:<td align="left"> java.library.path missing basedir </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.14.0/CHANGES.0.14.0.html:<td align="left"> possible double setting of java.library.path introduced by HADOOP-838 </td>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.23.3/RELEASENOTES.0.23.3.html:<li><a class="externalLink" href="https://issues.apache.org/jira/browse/MAPREDUCE-4072">MAPREDUCE-4072</a> | <i>Major</i> | <b>User set java.library.path seems to overwrite default creating problems native lib loading</b></li>
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.23.3/RELEASENOTES.0.23.3.html:<p>-Djava.library.path in mapred.child.java.opts can cause issues with native libraries.  LD_LIBRARY_PATH through mapred.child.env should be used instead.</p><hr />
share/doc/hadoop/hadoop-project-dist/hadoop-common/release/0.23.3/CHANGES.0.23.3.html:<td align="left"> User set java.library.path seems to overwrite default creating problems native lib loading </td>

在hadoop包中搜索发现,java.library.path被定义为$JAVA_LIBRARY_PATH,但是我们没有定义JAVA_LIBRARY_PATH
那么问题就好解决了,配置这个环境变量就好啦

  • 输入代码
vim ~/.bashrc

进入编辑 在最上面输入

export JAVA_LIBRARY_PATH=/usr/local/hadoop/lib/native

接着保存退出
然后输入

source ~/.bashrc

使环境变量配置有效
然后再试验一下,重启Hadoop时已经没有警告了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...警告 的相关文章

  • 如何使用 Jquery 在 iframe 中加载 url

    我想在点击时加载 iframe 这就是我到目前为止所拥有的 frame click function this load http www google com 这不起作用 这是完整的代码 JS Bin http jsbin com oma
  • 外部文件中的 JavaScript 未加载

    我有一个 JavaScript 问题 这个问题已经困扰我很长一段时间了 我有一个名为 search js 的外部文件 它与加载的 html 文件位于同一文件夹中 我在 HTML 中用来加载 javascript 文件的代码是 从我读过的所有
  • 在 R 中保存并重新加载“列表”对象

    我正在尝试将我手动创建的列表对象保存到以下内容中list我可以很快参考的格式 保存的对象应该能够作为list not df或任何东西 下面是我的列表对象的一部分 citations lt list as integer c 1 2 3 4
  • AttributeError:模块“spacy”没有属性“load”

    import spacy nlp spacy load en core web sm Error Traceback most recent call last File C Users PavanKumar spyder py3 Exce
  • 让 HTML 页面仅播放 Flash 影片一次(不在重新访问时...)

    如何让一个 HTML 页面只播放一次 Flash 动画 即当一个人返回该页面时 Flash 不会从头开始再次播放 而只会显示动画的最后一帧 甚至最后一帧的简单 jpg 图像 有可能吗 谢谢 L 您可以在用户第一次访问时保存一个 cookie
  • C++ 从子目录加载 DLL?

    我是 C 的 隐藏 黑暗地方 的新手 我想知道如何从当前可执行文件运行的不同目录或子目录中加载 dll 文件 Ex MyAppDirectory MyApp exe SomeDLL dll AnotherDLL dll SubDirecto
  • 将文本文件加载到 RichTextBox 的最快方法是什么?

    我使用 OpenFIleDialog 将文本文件加载到 RichTextBox 中 但是 当大量文本 例如大约 50 70 行的歌曲文本 并且我单击 打开 时 程序会挂起几秒钟 3 5 秒 正常吗 也许有一些更快的方法或组件来加载文本文件
  • 如何调试“无法加载文件或程序集”运行时错误?

    我有一个使用 Java 库转换的项目IKVM http www ikvm net 我添加了创建的 DLL 以及所有可能的 IKVM DLL 作为对我的项目的引用 但是当我运行它时 出现以下运行时错误 System IO FileNotFou
  • jQuery:如何从加载回调中修改加载的内容

    我正在动态创建许多 div 元素 行 每行都将具有相同的基本格式 仅文本发生变化 由于行结构很复杂 我尝试从静态 html 文件加载 基本 div 然后加载后 使用每行的参数调整一些属性 类似于 Android 的 xml 定义的适配器 我
  • onPageFinished() 从未调用过(webview)!

    我想在网络视图完全加载时显示一个祝酒词 但吐司从未出现 我不知道为什么 这是我的代码 public class WebViewSignUp extends Activity WebView mWebView Override public
  • 从锚点获取哈希 URL 并加载到 Div 中

    我有一个视频库 左侧有一个菜单 并将内容加载到右侧的 div 中 菜单是从 php 视频帖子生成的 因此我们需要一个通用脚本来影响所有内容 问题 这些链接将加载视频的 URL 作为当前 URL 上的锚点 eg http www diveth
  • 为什么 addEventListener 加载会阻止代码工作?

    Update 我原本有 document addEventListener DOMContentLoaded and链接到 HTML 文档头部的 JS 文件 结果是 另一个 js 脚本的某些部分无法正常工作 然后我将 DOMContentL
  • 如何将ListView分成多个部分并加载?

    我想知道我该如何划分我的ListView分成几部分 当用户启动我的应用程序时仅显示其中的一部分 并在用户按下名为 加载更多项目 的按钮时显示其他部分 我有一个包含 500 多个项目的大列表 并考虑将其分成几个部分 以便可以快速加载 我想要类
  • 如何将文件加载到共享托管平台上的 mysql DB 中?

    我的机器上运行的一个进程从各个网站收集数据并将其存储在本地 mysql 数据库中 每隔几个小时使用 SELECT INTO OUTFILE 导出相同的数据并通过 FTP 传输到共享主机 我的托管提供商不允许在共享主机上执行 LOAD DAT
  • Eclipse 3.5+:从用户主目录中自动创建的 .eclipse 目录加载插件

    我已经为我的 Linux 机器下载了最新的 Eclipse 3 6 并以 root 身份将 tar gz 解压缩到 opt eclipse 目录 我以普通用户的身份启动了Eclipse 并通过Eclipse成功安装了一些插件 这些插件在 E
  • 在追加模式下加载使用 numpy.save 保存的数组

    我在追加模式下使用 numpy save 保存数组 f open try npy ab sp save f 1 2 3 4 5 sp save f 6 7 8 9 10 f close 我可以以 LIFO 模式加载数据吗 也就是说 如果我现
  • 调查 apache 基准测试失败的请求

    我今天才开始用AB 阅读了几个关于新的 AB 教程 并想尝试一下对我的网站进行负载测试 使用它几次后 我收到了大量失败的请求 您能解释一下失败的请求是什么意思吗 我怎样才能进一步调查这个问题 AB 结果示例 jailshell 3 2 ab
  • 为什么用户控件加载事件没有被触发

    我有一个用户控件 我有时再次遇到这种情况 但总是可以通过使用 New 构造函数 但我仍然想知道我做错了什么 因为如果加载了控件 则必须触发 load 事件 这是一些代码
  • 延迟加载插件 (jQuery)

    a lightbox hover function if jQuery lightbox required otherwise lightbox js will be loaded on hover each time a lightbox
  • Javascript:检测窗口何时完全加载

    我有一个脚本 可以在网页生命周期的任何阶段加载 当脚本加载时 它必须运行一个initialize 方法 我希望此函数在 onload 事件上运行 但我无法确定该页面尚未加载 即 onload 尚未被触发 理想情况下我的脚本如下所示 var

随机推荐

  • ROS架构(五)——ROS的通信机制

    ROS架构 xff08 五 xff09 ROS的通信机制 目录 总述一 通信机制一 话题通信机制二 通信机制二 服务通信机制三 通信机制三 参数管理机制四 话题与服务的区别 总述 ROS的核心 分布式通信机制 ROS是一个分布式框架 xff
  • VNC远程登录操作Ubuntu16.04

    VNC远程登录操作Ubuntu16 04 目录 总述一 设置Ubuntu16 04 xff0c 允许进行远程控制二 安装vncserver三 安装dconf editor 取消权限限制 四 远程连接Ubuntu 16 04 总述 VNC实现
  • 安装Melodic在sudo rosdep init时报错:ERROR: cannot download default sources list from:***

    报错如下 xff1a ERROR cannot download default sources list from https raw githubusercontent com ros rosdistro master rosdep s
  • 机器视觉(一)——ROS中的图像数据

    机器视觉 xff08 一 xff09 ROS中的图像数据 目录 总述一 二维图像数据二 三维点云数据 总述 无论是USB摄像头还是RGBD摄像头 xff0c 发布的图像数据格式多种多样 xff0c 在处理这些数据之前 就需要了解这些数据的格
  • ROS与机器学习(三)——手写数字识别

    ROS与机器学习 xff08 三 xff09 手写数字识别 目录 1 理论基础2 TensorFlow中的MNIST例程2 1 创建模型2 2 训练模型2 3 评估模型 3 基于ROS实现MNIST3 1 初始化ROS节点3 2 设置ROS
  • centos7升级 cmake

    一 删除旧版本cmake 升级到最新版本前应事先删除旧版本内核 cmake version yum remove y cmake 二 安装需要的模块 yum install y libxml2 libxml2 devel bzip2 bzi
  • SQLyog错误解决方案

    使用sqlyog连接 Mysql 出现的错误 使用sqlyog连接 Mysql 出现的错误 使用sqlyog连接 Mysql 出现的错误使用sqlyog连接 Mysql 出现的错误1251错误原因 xff1a 解决方案 xff1a 使用sq
  • ubuntu在更新软件时出现E: Release file for http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease

    问题 E Release file for http security ubuntu com ubuntu dists bionic security InRelease is not valid yet invalid for anoth
  • LeetCode之二分查找实战2之第一个错误的版本(278)、猜数字大小(374)

    二分查找2 1 第一个错误的版本 278 2 猜数字大小 xff08 374 xff09 1 第一个错误的版本 278 题目描述 xff1a 简单题 你是产品经理 xff0c 目前正在带领一个团队开发新的产品 不幸的是 xff0c 你的产品
  • python之逻辑回归项目实战——信用卡欺诈检测

    信用卡欺诈检测 1 项目介绍2 项目背景3 分析项目4 数据读取与分析4 1 加载数据4 2 查看数据的标签分布 5 数据预处理5 1 特征标准化5 2 使用下采样解决样本数据不均衡 6 训练数据即划分数据集7 模型建立7 1 sklear
  • C++ 全局变量的跨文件使用

    文章目录 前言一 extern的使用二 容易犯的错误 前言 在写C 43 43 工程文件的时候 xff0c 往往会用到一些所有类都使用的数据 xff0c 比如数据文件等 xff0c 一种写法是写成静态类 xff0c 调用数据时使用类名加属性
  • VS2019使用C++创建winform界面

    用C 43 43 实现winform界面 算是对上一篇文章的补充吧 xff0c 实际上不需要那么繁琐也可以做到 事先准备 打开VS xff0c 新建一个CLR项目 如果在选项中没有发现CLR项目 xff1a 1 找到Visual Studi
  • c++面试题(亲测常问)

    注意 xff1a 此题为我自己面试被问到的 xff0c 及一些摘抄的 xff0c 如有侵权请联系我马上删除 xff01 1 2 32位指针地址所占字节数 为四 举例说明 xff1a char p char test 10 p 61 test
  • torchvision与torch的对应关系及下载链接

    https github com pytorch vision 另外 xff1a Ubuntu18下编译安装torchvision C 43 43 API的详细过程
  • Logisim计算机组成原理实验16位无符号比较器设计

    Logisim用4位无符号比较器构建16位无符号比较器 4位无符号比较器设计思路表达式构建 16位无符号比较器构建思路构建 4位无符号比较器设计 思路 不同位之间进行比较 xff0c 高位优先 真值表太麻烦 xff0c 可以利用表达式进行构
  • React+hooks+TS练习

    一 初始化项目 通过create react app命令创建项目 xff0c template表示使用typescript xff08 node版本高于14才能使用npx xff09 npx create span class token
  • 基于Python的信用卡欺诈检测机器学习案例报告

    本报告借助Python语言探究了在机器学习中 面对一个大型的人与人之间交易的数据集 如何尽快处理大量数据并区分某交易记录是正常的用户行为还是潜在的信用卡欺诈行为 最终通过构建分类模型来对欺诈交易进行分类区分 并通过恰当的方式对构建的模型进行
  • 一个既有趣又简单的整人代码——关机代码

    这一篇博客来的比我的预计时间要长啊 xff0c 在这一周多的时间里 xff0c 我几乎很少有休息和出去玩耍的时间 说实话 xff0c 这样忙碌的生活给我的感觉还是蛮好的 xff0c 让我有一种很充实的感觉 xff0c 有种自己在与时间赛跑的
  • 【CMake】CMakeList编写整理

    什么是CMake 如果软件想跨平台 xff0c 必须要保证能够在不同平台编译 而如果使用 Make 工具 xff0c 就得为每一种标准写一次 Makefile CMake 就是针对上面问题所设计的工具 xff1a 它首先允许开发者编写一种平
  • 解决 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...警告

    解决 WARN util NativeCodeLoader Unable to load native hadoop library for your platform using builtin java classes where ap