解决 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...警告 的相关文章

  • C++ 从子目录加载 DLL?

    我是 C 的 隐藏 黑暗地方 的新手 我想知道如何从当前可执行文件运行的不同目录或子目录中加载 dll 文件 Ex MyAppDirectory MyApp exe SomeDLL dll AnotherDLL dll SubDirecto
  • 在 Java 中加载/存储文件中的对象

    我想将我的类中的对象存储在文件中 然后才能从该文件加载该对象 但我在某个地方犯了错误 并且不知道在哪里 我可以得到一些帮助吗 public class GameManagerSystem implements GameManager Ser
  • jQuery:如何从加载回调中修改加载的内容

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

    我想在网络视图完全加载时显示一个祝酒词 但吐司从未出现 我不知道为什么 这是我的代码 public class WebViewSignUp extends Activity WebView mWebView Override public
  • 如何预加载 Activity?

    我到处寻找这个问题 但似乎没有人有答案 我的简单问题是 有没有办法预加载活动 我需要这个 因为我使用一个选项卡 并且一个选项卡有多个活动 我的活动之一是 RSS 阅读器 它加载非常困难 大约 2 3 秒 我在网上找到的都是一个笑话 每个人都
  • #在 F# 交互式中加载包 (FSharpChart.fsx)

    你好 我是一个菜鸟 问这个新手问题 请原谅我 我已在本地目录中成功安装 FSharpChart Added package MSDN FSharpChart dll 0 60 0 to folder C Users Fagui Docume
  • 如何延迟 html 文本的显示,直到加载背景图像精灵?

    这是我想使用 jQuery 控制的一些示例代码 黑色页面背景上的白色按钮背景 ul class buttons li class button displays a href products Products and Services f
  • 为什么 addEventListener 加载会阻止代码工作?

    Update 我原本有 document addEventListener DOMContentLoaded and链接到 HTML 文档头部的 JS 文件 结果是 另一个 js 脚本的某些部分无法正常工作 然后我将 DOMContentL
  • 有没有办法将 LOAD DATA INFILE(导入)xlsx 文件导入 MySQL 数据库表

    我知道这已经被讨论了很多 但我没有找到如何做到这一点的解决方案 我需要的是将 Excel 文件 xls xlsx 导入到我的数据库表中 这是一个执行此操作的按钮 执行的命令如下 string cmdText LOAD DATA INFILE
  • 如何将文件加载到共享托管平台上的 mysql DB 中?

    我的机器上运行的一个进程从各个网站收集数据并将其存储在本地 mysql 数据库中 每隔几个小时使用 SELECT INTO OUTFILE 导出相同的数据并通过 FTP 传输到共享主机 我的托管提供商不允许在共享主机上执行 LOAD DAT
  • 如何在 C# 中获取每个核心的 CPU 负载?

    如何在 C 中获取每个核心 四核 cpu 的 CPU 负载 谢谢 您可以使用 WMI 或 System Diagnostics 命名空间 从那里您可以获取任何您想要的性能计数器 但是需要一秒钟 1 1 5秒 来初始化这些计数器 读取值是可以
  • Lua 中的“加载”有什么作用?

    我试图解决我的理解问题loadLua 脚本中的函数 但没有该命令的任何示例或指南 它在他自己的 Lua 网站上讲述https www lua org manual 5 2 manual html pdf load https www lua
  • Ajax 追加加载

    它必须是jquery 我有文件 text html 其中有 6 个 div a b c d e f 在另一个文件中 我有一个 div 我喜欢它将 a b c d e f 的内容填充到该单个 div 中 我尝试过 load 但 b 替换了 a
  • Powershell v4 不自动导入模块

    我在用Microsoft PowerShell v4 PS C gt get host Name ConsoleHost Version 4 0 InstanceId 3b4b6b8d 70ec 46dd 942a bfecf5fb6f31
  • 如何加载之前存储的svm分类器?

    我正在 Visual Studio 中使用 openCV SVM OpenCV 2 4 4 0 我训练它 mySVM train trainingDataMat labelsMat Mat Mat params 已保存 mySVM save
  • 将数据加载到 R 的最佳文件类型(速度方面)?

    我正在运行一些分析 得到了很多 2 3G 之间的数据集 现在 我将其另存为 RData文件类型 然后 稍后我加载这些文件以继续工作 这需要一些时间来加载 我的问题是 保存然后加载这些文件为 csv 会更快吗 是data table读取 cs
  • 在页面加载之前运行 JavaScript 函数(设置适当大小的背景)

    我有一个图像背景 无论用户的分辨率是多少 我都希望其内容始终可见 因此 我希望能够在一开始就在页面加载之前确定分辨率并设置适当的背景图像文件 有可能吗 您可以运行可访问 DOM 的 Javascript 函数 无需等待页面加载 的最早点是放
  • Cypher Neo4j 无法加载外部资源

    在 Windows 环境中 我尝试加载带有以下语句的 csv 文件 LOAD CSV WITH HEADERS FROM file E Neo4j customers csv AS row 它似乎无法正常工作并返回 无法加载外部资源 文件
  • jquery load() 去除脚本标签 - 解决方法?

    有谁知道 jquery load 的解决方法 去掉从外部内容加载的脚本标签 有很多文档证明这种情况发生 但在网上搜索了大约 4 个小时后我找不到解决方法 我正在加载动态生成的 div 类似于搜索结果页面 并且需要将 click 绑定到每个动
  • 如何保存 UIButton 的属性并使用按钮加载? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在应用程序中保存和加载 UIButton 的 alpha 值 https stackoverflow com questions 7336594 how can i save and load t

随机推荐

  • 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