MAC OS 运行hadoop提示util.NativeCodeLoader: Unable to load native-hadoop library for your platform的解决
来源:互联网 发布:java重载与多态 编辑:程序博客网 时间:2024/05/19 16:02
在Mac OS 测试Hadoop时,无论是启动Hadoop服务,还是运行Hadoop命令,均会提示以下警告信息:
./start-dfs.sh 17/04/23 18:20:15 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableStarting namenodes on [localhost]localhost: starting namenode, logging to /Users/Starshine/Work/hadoop-2.6.4/logs/hadoop-Starshine-namenode-xjw.outlocalhost: starting datanode, logging to /Users/Starshine/Work/hadoop-2.6.4/logs/hadoop-Starshine-datanode-xjw.out
问题的原因是不能加载基于本地平台(如本机是Mac OS,或者其他平台)的本地库(动态库或静态库),解决的办法很简单,就是在本机对Hadoop进行重新编译,生成本地库,将编译生成的本地库拷贝到Hadoop下即可。
编译Hadoop必须提供-Pnative参数(即引用Maven POM中定义的profile native),编译命令如下
mvn package -Pdist,native -DskipTests -Dtar -Dmaven.javadoc.skip=true
[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary:[INFO] [INFO] Apache Hadoop Main ................................. SUCCESS [ 1.374 s][INFO] Apache Hadoop Project POM .......................... SUCCESS [ 1.303 s][INFO] Apache Hadoop Annotations .......................... SUCCESS [ 2.000 s][INFO] Apache Hadoop Assemblies ........................... SUCCESS [ 0.360 s][INFO] Apache Hadoop Project Dist POM ..................... SUCCESS [ 1.488 s][INFO] Apache Hadoop Maven Plugins ........................ SUCCESS [ 2.261 s][INFO] Apache Hadoop MiniKDC .............................. SUCCESS [ 1.523 s][INFO] Apache Hadoop Auth ................................. SUCCESS [ 2.278 s][INFO] Apache Hadoop Auth Examples ........................ SUCCESS [ 1.243 s][INFO] Apache Hadoop Common ............................... SUCCESS [ 47.707 s][INFO] Apache Hadoop NFS .................................. SUCCESS [ 2.052 s][INFO] Apache Hadoop KMS .................................. SUCCESS [ 4.838 s][INFO] Apache Hadoop Common Project ....................... SUCCESS [ 0.035 s]
我的编译就没有将所有项目编译完成,卡在Hadoop Pipes上面了,在HadoopPipes.cc文件中使用了未定义的结构体声明(hmac_ctx_st),研究了一下,发现编译openssl时,有写evp、hmac的头文件并没有拷贝到make install相关的目录下,引用还比较复杂,手工拷贝过去,还有其他错误,放弃了,以后研究吧,因为其不影响解决上述这个问题。
编译完成后,在hadoop-2.6.4-src/hadoop-common-project/hadoop-common/target/native/target/usr/local/lib下,生成了以下3个文件:
-rwxr-xr-x 1 Starshine staff 149572 4 22 18:36 libhadoop.1.0.0.dylib-rw-r--r-- 1 Starshine staff 673720 4 22 18:36 libhadoop.alrwxr-xr-x 1 Starshine staff 21 4 22 18:36 libhadoop.dylib -> libhadoop.1.0.0.dylib
其中libhadoop.dylib是对libhadoop.1.0.0.dylib的引用,将这两个文件(也可以只拷贝libhadoop.dylib)拷贝到Hadoop安装目录下的lib/native目录下即可。
./start-dfs.sh Starting namenodes on [localhost]localhost: starting namenode, logging to /Users/Starshine/Work/hadoop-2.6.4/logs/hadoop-Starshine-namenode-xjw.outlocalhost: starting datanode, logging to /Users/Starshine/Work/hadoop-2.6.4/logs/hadoop-Starshine-datanode-xjw.outStarting secondary namenodes [localhost]localhost: starting secondarynamenode, logging to /Users/Starshine/Work/hadoop-2.6.4/logs/hadoop-Starshine-secondarynamenode-xjw.out再启动hadoop或者执行相关命令,上面的警告信息不再出现。
0 0
- MAC OS 运行hadoop提示util.NativeCodeLoader: Unable to load native-hadoop library for your platform的解决
- 【解决办法】hadoop运行warn “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”
- 解决WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform问题
- 异常解决:util.NativeCodeLoader: Unable to load native-hadoop library for your platform
- hadoop2.6解决 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... 问题
- 异常解决:util.NativeCodeLoader: Unable to load native-hadoop library for your platform,
- 异常解决:util.NativeCodeLoader: Unable to load native-hadoop library for your platform
- 异常解决:util.NativeCodeLoader: Unable to load native-hadoop library for your platform
- 异常解决:util.NativeCodeLoader: Unable to load native-hadoop library for your platform
- WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...的解决方案
- "util.NativeCodeLoader: Unable to load native-hadoop library for your platform"的决解方案
- hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”
- hadoop WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using b
- Hadoop WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using b
- Hadoop之—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
- Hadoop 2.7.2启动WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
- hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”
- Hadoop之—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
- 四、用servlet类返回WEB-INF中的页面
- 像“钢铁侠”埃隆·马斯克那样,成为超速学习者
- 变量、作用域和内存问题
- Redhat7.0下搭建邮件服务器(二)
- 把排序数组转换为高度最小的二叉搜索树
- MAC OS 运行hadoop提示util.NativeCodeLoader: Unable to load native-hadoop library for your platform的解决
- 二叉树的路径和
- JDK1.7源码笔记之LinkedList类
- [2017.4.18]IMWEB前端小白训练营日记(四)
- 李开复解读:未来人工智能的巨大商机
- slidingmenu_library侧滑实现
- MDK升级引起的类似.\Source\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(298): error: #67: exp
- 等价二叉树
- 字节流与字符流的区别详解