设为首页 加入收藏

TOP

hadoop搭建时为什么最好重新编译源码的原因
2019-02-12 12:37:12 】 浏览:14
Tags:hadoop 搭建 为什么 最好 重新 编译 源码 原因
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/summerxiachen/article/details/79145456

一般hadoop需要在自己的linux环境下重新将源代码编译一下,为什么hadoop要自己再次编译一下,网上很多都是说:官网提供编译好的只有32位的,没有提供64位的,其实这种解释是错的。官网可下载的也有编译好的64位。

那为什么要大费周折的重新编译?主要是要重新编译本地库(Native Libraries) 代码(Linux下对应[.so]文件,window下对应[.dlI]文件),也就是编译生成linux下的[.so] 文件。


看下hadoop官网给的相关说明(翻译后的)官网链接 hadoop本地库文档
这里写图片描述


Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries) 的概念。说白了,就是Hadoop的某些功能,必须通过JNT来协调Java类文件和Native代码生成的库文件一起才能工作。linux系统要运行Native 代码,首先要将Native 编译成目标CPU 架构的[.so]文件。而不同的处理器架构,需要编译出相应平台的动态库[.so] 文件,才能被正确的执行,所以最好重新编译一次hadoop源码,让[.so]文件与自己处理器相对应。


【什么是Native Library?】
Native Library,一般我们译为本地库或原生库,是由C/C++编写的动态库[.so],并通过JNI(Java Native Interface)机制为java层提供接口。应用一般会出于性能、安全等角度考虑将相关逻辑用C/C++实现并编译为库的形式提供接口,供上层或其他模块调用。


编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇基于Hadoop生态圈的数据仓库实践 .. 下一篇Hadoop API通过Kerberos认证读取H..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }